当前位置:文档之家› 坐标转换从经纬度坐标到大地坐标及源码

坐标转换从经纬度坐标到大地坐标及源码

坐标转换从经纬度坐标到大地坐标及源码
坐标转换从经纬度坐标到大地坐标及源码

坐标转换从经纬度坐标到大地坐标及源码

利用网络上开源的资料,可以很容易的实现从经纬度坐标向各种投影坐标的转换,美国地质调查局开发USGS的GCTP就是很好的东西之一,有C语言版本的支持各种投影类型的源代码,比如UNIVERSAL TRANSVERSE MERCATOR, ALBERS CONICAL EQUAL AREA ,LAMBERT CONFORMAL CONIC等等,我们机房使用的就是LAMBERT CONFORMAL CONIC(LAMBERT 圆锥等角投影),利用GCTP提供的源代码详见source文件夹下的lamccfor.c 和lamccinv.c ,可以轻松实现经纬度投影坐标和LAMBERT CONFORMAL CONIC坐标的相互转化,其他投影方式使用的比较少,还要进一步研究,就以后在写了.

lamccforint函数设置LAMBERT CONFORMAL CONIC投影的各个参数,比如长半轴,短半轴,中心点经纬度坐标,标准纬线等等信息.

long

lamccforint(r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north) double r_maj; /* majoraxis */

double r_min; /* minoraxis */

double lat1; /* first standard

parallel */

double lat2; /* second standard

parallel */

double c_lon; /* center

longitude */

double c_lat; /* center

latitude */

double false_east; /* x offset in

meters */

double false_north; /* y offset in

meters */

{

double sin_po; /* sin

value */

double cos_po; /* cos

value */

double con; /* temporary

variable */

double ms1; /* small m

1 */

double ms2; /* small m

2 */

double temp; /* temporary

variable */

double ts0; /* small t

0 */

double ts1; /* small t

1 */

double ts2; /* small t

2 */

r_major = r_maj;

r_minor = r_min;

false_northing = false_north;

false_easting = false_east;

/* Standard Parallels cannot be equal and on opposite sides of the equator

------------------------------------------------------------------------*/

if (fabs(lat1 lat2) < EPSLN)

{

p_error("Equal latitudes for St. Parallels on opposite sides of equator",

"lamcc-for");

return(41);

}

temp = r_minor / r_major;

es = 1.0 - SQUARE(temp);

e = sqrt(es);

center_lon = c_lon;

center_lat = c_lat;

sincos(lat1,&sin_po,&cos_po);

con = sin_po;

ms1 = msfnz(e,sin_po,cos_po);

ts1 = tsfnz(e,lat1,sin_po); sincos(lat2,&sin_po,&cos_po);

ms2 = msfnz(e,sin_po,cos_po);

ts2 = tsfnz(e,lat2,sin_po);

sin_po = sin(center_lat);

ts0 = tsfnz(e,center_lat,sin_po); if (fabs(lat1 - lat2) > EPSLN)

ns = log (ms1/ms2)/ log (ts1/ts2);

else

ns = con;

f0 = ms1 / (ns * pow(ts1,ns));

rh = r_major * f0 * pow(ts0,ns);

/* Report parameters to the user

-----------------------------*/

ptitle("LAMBERT CONFORMAL CONIC");

radius2(r_major, r_minor);

stanparl(lat1,lat2);

cenlonmer(center_lon);

origin(c_lat);

offsetp(false_easting,false_northing);

return(OK);

}

lamccfor函数实现输入任意点经纬度值输出此投影下对应的点的大地坐标

long lamccfor(lon, lat, x, y)

double lon; /* (I) Longitude */ double lat; /* (I) Latitude */ double *x; /* (O) X projection coordinate */ double *y; /* (O) Y projection coordinate */

{

double con; /* temporary angle

variable */

double rh1; /* height above

ellipsoid */

double sinphi; /* sin

value */

double theta; /*

angle */

double ts; /* small value

t */

con = fabs( fabs(lat) - HALF_PI);

if (con > EPSLN)

{

sinphi = sin(lat);

ts = tsfnz(e,lat,sinphi);

rh1 = r_major * f0 * pow(ts,ns);

}

else

{

con = lat * ns;

if (con <= 0)

{

p_error("Point can not be projected","lamcc-for"); return(44);

}

rh1 = 0;

}

theta = ns * adjust_lon(lon - center_lon);

*x = rh1 * sin(theta) false_easting;

*y = rh - rh1 * cos(theta) false_northing;

return(OK);

}

lamccinv函数的作用与lamccfor函数相反,计算从大地坐标变换到对应的经纬度值

long lamccinv(x , y, lon, lat)

double x; /* (O) X projection coordinate */

double y; /* (O) Y projection coordinate */

double *lon; /* (I) Longitude */

double *lat; /* (I) Latitude */

{

double rh1; /* height above ellipsoid */

double con; /* sign variable */

double ts; /* small t */

double theta; /* angle */

long flag; /* error flag */

flag = 0;

x -= false_easting;

y = rh - y false_northing;

if (ns > 0)

{

rh1 = sqrt (x * x y * y);

con = 1.0;

}

else

{

rh1 = -sqrt (x * x y * y);

con = -1.0;

}

theta = 0.0;

if (rh1 != 0)

theta = atan2((con * x),(con * y)); if ((rh1 != 0) || (ns > 0.0))

{

con = 1.0/ns;

ts = pow((rh1/(r_major * f0)),con); *lat = phi2z(e,ts,&flag);

if (flag != 0)

return(flag);

}

else

*lat = -HALF_PI;

*lon = adjust_lon(theta/ns center_lon); return(OK);

}

大地坐标和经纬度之间的换算-经纬度算坐标

大地坐标和经纬度之间的换算 地质工作中常要对进行大地坐标转经纬度和经纬度换大地坐标,我写一下一般的过程,希望对大家有点帮助. 大地座标-----→经纬度(地理坐标) 1,输入大地坐标数据,格式为Y空格X,输入到文本就行 如下,原始的大地坐标由一8位的Y和一个7位的X组成, 这组坐标数据中的Y的前两位为31,是分带号,一般使用的分带有三分带,六分带,这里的坐标是三分带的,记下Y前的这两位数,在原始数据中去除掉,现在数据变为,Y,6位,X,7位

保存这个TXT的文本文件。 2,打开MAPGIS,启动坐标投影变形程序 接下来选择投影转换>>>>用户文件投影转换 点打开文件,打开刚才的大地坐标的文本文件, 设置输入数据的格式,点击用户投影参数,并完成设置。 这里我们的大地座标为3度带的第31带,注意填好,坐标单位为米 好了以为设置输出的格式,我们要求输出的是经纬度,点结果转换参数,完成以下设置 我们输出的经纬度的单位应该是DDDMMMSS。SS注意 点写到文件,保存就大功告成了,注意保存的文件要写上.TXT的后缀 下面是计算出的结果文件 XP为经度,1234234。357就是123度42分34。357秒, YP为纬度,403950。225就是40度39分50。255秒(纬度没有最多90,所以没有三位数)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 经纬度——→大地座标 输入文件格式如下, 这里面的数据前面的为经度,格式为DDDMMSS,后面的为纬度,格式为DDMMSS 接下来的转换过程和大地坐标转换一样,只要将刚才的用户转换参数和结果转换参数交换即可, 要注意分带号的确定,如果你不知道分带号,就应该先计算分带号,算法是 经度/3得到的整数为三度带的分带号 经度/6得到的整数为六度带的分带号 其中的XP为地图上的Y坐标,记得在前面加上带号,其中的YP为地图上的X坐标

大地坐标与直角空间坐标转换计算公式

大地坐标与直角空间坐标转换计算公式 一、参心大地坐标与参心空间直角坐标转换 1名词解释: A :参心空间直角坐标系: a) 以参心0为坐标原点; b) Z 轴与参考椭球的短轴(旋转轴)相重合; c) X 轴与起始子午面和赤道的交线重合; d) Y 轴在赤道面上与X 轴垂直,构成右手直角坐标系0-XYZ ; e) 地面点P 的点位用(X ,Y ,Z )表示; B :参心大地坐标系: a) 以参考椭球的中心为坐标原点,椭球的短轴与参考椭球旋转轴重合; b) 大地纬度B :以过地面点的椭球法线与椭球赤道面的夹角为大地纬度B ; c) 大地经度L :以过地面点的椭球子午面与起始子午面之间的夹角为大地经度L ; d) 大地高H :地面点沿椭球法线至椭球面的距离为大地高H ; e) 地面点的点位用(B ,L ,H )表示。 2 参心大地坐标转换为参心空间直角坐标: ?? ? ?? +-=+=+=B H e N Z L B H N Y L B H N X sin *])1(*[sin *cos *)(cos *cos *)(2 公式中,N 为椭球面卯酉圈的曲率半径,e 为椭球的第一偏心率,a 、b 椭球的长短半径,f 椭球扁率,W 为第一辅助系数 a b a e 2 2-= 或 f f e 1 *2-= W a N B W e = -=22 sin *1( 西安80椭球参数: 长半轴a=6378140±5(m )

短半轴b=6356755.2882m 扁 率α=1/298.257 3 参心空间直角坐标转换参心大地坐标 [ ] N B Y X H H e N Y X H N Z B X Y L -+= +-++==cos ))1(**)() (*arctan() arctan(2 22 2 2 二 高斯投影及高斯直角坐标系 1、高斯投影概述 高斯-克吕格投影的条件:1. 是正形投影;2. 中央子午线不变形 高斯投影的性质:1. 投影后角度不变;2. 长度比与点位有关,与方向无关; 3. 离中央子午线越远变形越大 为控制投影后的长度变形,采用分带投影的方法。常用3度带或6度带分带,城市或工程控制网坐标可采用不按3度带中央子午线的任意带。 2、高斯投影正算公式: 52224253 2236 425442232)5814185(cos 120 )1(cos 6 cos )5861(cos sin 720 495(cos sin 24cos sin 2l t t t B N l t B N Bl N y l t t B B N l t B B N Bl B N X x ηηηηη-++-++-+=+-+++-++ =) 3、高斯投影反算公式:

大地坐标和经纬度之间的换算完整版

大地坐标和经纬度之间 的换算 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

大地坐标和经纬度之间的换算 地质工作中常要对进行大地坐标转经纬度和经纬度换大地坐标,我写一下一般的过程,希望对大家有点帮助. 大地座标-----→经纬度(地理坐标) 1,输入大地坐标数据,格式为 Y空格X,输入到文本就行 如下,原始的大地坐标由一8位的Y和一个7位的X组成, 这组坐标数据中的Y的前两位为31,是分带号,一般使用的分带有三分带,六分带,这里的坐标是三分带的,记下Y前的这两位数,在原始数据中去除掉,现在数据变为,Y,6位,X,7位 保存这个TXT的文本文件。 2,打开MAPGIS,启动坐标投影变形程序 接下来选择投影转换>>>>用户文件投影转换 点打开文件,打开刚才的大地坐标的文本文件, 设置输入数据的格式,点击用户投影参数,并完成设置。 这里我们的大地座标为3度带的第31带,注意填好,坐标单位为米 好了以为设置输出的格式,我们要求输出的是经纬度,点结果转换参数,完成以下设置 我们输出的经纬度的单位应该是DDDMMMSS。SS注意 点写到文件,保存就大功告成了,注意保存的文件要写上.TXT的后缀 下面是计算出的结果文件 XP为经度,1234234。357就是123度42分34。357秒, YP为纬度,403950。225就是40度39分50。255秒(纬度没有最多90,所以没有三位数) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 经纬度——→大地座标 输入文件格式如下, 这里面的数据前面的为经度,格式为DDDMMSS,后面的为纬度,格式为DDMMSS 接下来的转换过程和大地坐标转换一样,只要将刚才的用户转换参数和结果转换参数交换即可, 要注意分带号的确定,如果你不知道分带号,就应该先计算分带号,算法是 经度/3得到的整数为三度带的分带号 经度/6得到的整数为六度带的分带号 其中的XP为地图上的Y坐标,记得在前面加上带号,其中的YP为地图上的X坐标

地理坐标系和大地坐标系

地理坐标系VS大地坐标系 winner发表于2008年12月22日 10:32 阅读(10) 评论(0) 分类:个人日记 举报 地理坐标转换到大地坐标的过程可理解为投影。(投影:将不规则的地球曲面转换为平面)在ArcGIS中预定义了两套坐标系: 地理坐标系(Geographic coordinate system) 投影坐标系(Projected coordinate system) 1、首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate system是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短半轴,偏心率。以下几行便是Krasovsky_1940椭球及其相应参数。 Spheroid: Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening(扁率): 298.300000000000010000 然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描述中,可以看到有这么一行: Datum: D_Beijing_1954 表示,大地基准面是D_Beijing_1954。 有了Spheroid和Datum两个基本条件,地理坐标系统便可以使用。 完整参数: Alias: Abbreviation: Remarks: Angular Unit: Degree (0.017453292519943299) Prime Meridian(起始经度): Greenwich (0.000000000000000000) Datum(大地基准面): D_Beijing_1954 Spheroid(参考椭球体): Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening: 298.300000000000010000 2、接下来便是Projection coordinate system(投影坐标系统),首先看看投影坐标系统中的一些参数。

利用MAPGIS制图软件换算大地坐标和经纬度

利用MAPGIS制图软件换算大地坐标和经纬度 地质工作中常要对进行大地坐标转经纬度和经纬度换大地坐标,以下步骤请大家熟记: 一、大地座标→经纬度(地理坐标) 1、在文本文件中输入大地坐标数据,格式为Y空格X。 如下,原始的大地坐标由一个8位的Y和一个7位的X组成,“新建文本文档.txt -记事本”显示如下: 31560000 4503500 31565000 4503500 31565000 4507500 31568500 4507500 这组坐标数据中的Y的前两位为31,是分带号,一般使用的分带有三分带,六分带,这里的坐标是三分带的,记下Y前的这两位数,在原始数据中去除掉, 现在数据变为:Y—6位,X—7位。“新建文本文档.txt -记事本”显示如下: 560000 4503500 565000 4503500 565000 4507500 568500 4507500 保存这个TXT的文本文件。 2、打开MAPGIS,启动坐标投影变形程序 如果是MAPGIS6.7版,请选择“实用服务→投影变换系统→用户文件投影转换”→点击打开文件,打开刚才的大地坐标的文本文件。 “指定数据起始位置”中出现刚才的的文本文档,显示如下: 560000 4503500 565000 4503500 565000 4507500 568500 4507500 在设置用户文件选项中,一般选:按行读取数据,X→Y顺序,生成点。最后点击确定。3、设置输入数据的格式,点击用户投影参数,并完成设置。 坐标系类型——大地坐标系 投影类型——5:高斯克吕格投影 比例尺分母——1 椭球面高程——0 投影面高程——0 投影带类型——3度带或6度带 投影带序号——31 X,Y的平移均设0 这里我们的大地座标为3度带的第31带,注意填好,坐标单位为米 接着为:设置输出的格式,我们要求输出的是经纬度,点结果转换参数,完成设置。 4、输入投影参数 坐标系类型——地理坐标系 我们输出的经纬度的单位应该是DDDMMMSS。SS注意点写到文件,保存就大功告成了,注意:保存的文件要写上.TXT的后缀 最后,在文本文件中计算出的结果如下: x= 560000 y= 4503500 xp=1234234.357 yp=403950.255

大地坐标和经纬度之间的换算

MAPGIS应用——大地坐标和经纬度之间的换算(2009-04-20 15:57:08) 标签:杂谈分类:学海无涯 地质工作中常要对进行大地坐标转经纬度和经纬度换大地坐标,我写一下一般的过程,希望对大家有点帮助. 大地座标-----→经纬度(地理坐标) 1,输入大地坐标数据,格式为 Y空格X,输入到文本就行 如下,原始的大地坐标由一8位的Y和一个7位的X组成, 这组坐标数据中的Y的前两位为31,是分带号,一般使用的分带有三分带,六分带,这里的坐标是三分带的,记下Y前的这两位数,在原始数据中去除掉,现在数据变为,Y(6位),X(7位)如下图:

保存这个TXT的文本文件。 2,打开MAPGIS,启动坐标投影变形程序 接下来选择投影转换——>用户文件投影转换

点打开文件,打开刚才的大地坐标的文本文件,

设置输入数据的格式,点击用户投影参数,并完成设置。 这里我们的大地座标为3度带的第31带,注意填好,坐标单位为米。

填好了以后设置输出的格式,我们要求输出的是经纬度,点结果转换参数,完成以下设置: 我们输出的经纬度的单位应该是DDDMMMSS.SS注意点写到文件,保存就大功告成了,注意保存的文件要写上.TXT的后缀

下面是计算出的结果文件 XP为经度,1234234.357就是123度42分34.357秒, YP为纬度,403950.225就是40度39分50.255秒(纬度没有最多90,所以没有三位数) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 经纬度——→大地座标 输入文件格式如下, 这里面的数据前面的为经度,格式为DDDMMSS,后面的为纬度,格式为DDMMSS 接下来的转换过程和大地坐标转换一样,只要将刚才的用户转换参数和结果转换参数交换即可。 要注意分带号的确定,如果你不知道分带号,就应该先计算分带号,算法是: 经度/3得到的整数为三度带的分带号

WGS84经纬度坐标与北京54坐标或者西安80坐标的关系

WGS84经纬度坐标与北京54坐标或者西安80坐标的关系 WGS84经纬度坐标与北京54坐标或者西安80坐标的关系 2008-11-07 17:58 一般来讲,GPS直接提供的坐标(B,L,H)是1984年世界大地坐标系(Word Geodetic System 1984即WGS-84)的坐标,其中B为纬度,L为经度,H为大地高即是到WGS-84椭球面的高度。而在实际应用中,我国地图采用的是1954北京坐标系或者1980西安坐标系下的高斯投影坐标(x,y,),不过也有一些电子地图采用1954北京坐标系或者1980西安坐标系下的经纬度坐标(B,L),高程一般为海拔高度h。 GPS的测量结果与我国的54系或80系坐标相差几十米至一百多米,随区域不同,差别也不同,经粗落统计,我国西部相差70米左右,东北部140米左右,南部75米左右,中部45米左右。现就上述几种坐标系进行简单介绍,供大家参阅,并提供各坐标系的基本参数,以便大家在使用过程中自定义坐标系。 1、1984世界大地坐标系 WGS-84坐标系是美国国防部研制确定的大地坐标系,是一种协议地球坐标系。WGS-84坐标系的定义是:原点是地球的质心,空间直角坐标系的Z轴指向BIH(1984.0)定义的地极(CTP)方向,即国际协议原点CIO,它由IAU和IUGG共同推荐。X轴指向BIH定义的零度子午面和CTP赤道的交点,Y轴和Z,X轴构成右手坐标系。WGS-84椭球采用国际大地测量与地球物理联合会第17届大会测量常数推荐值,采用的两个常用基本几何参数: 长半轴a=6378137m;扁率f=1:298.257223563。 2、1954北京坐标系 1954北京坐标系是将我国大地控制网与前苏联1942年普尔科沃大地坐标系相联结后建立的我国过渡性大地坐标系。属于参心大地坐标系,采用了前苏联的克拉索夫斯基椭球体。其长半轴a=6378245,扁率f=1/298.3。1954年北京坐标系虽然是苏联1942年坐标系的延伸,但也还不能说它们完全相同。 3、1980西安坐标系 1978年,我国决定建立新的国家大地坐标系统,并且在新的大地坐标系统中进行全国天文大地网的整体平差,这个坐标系统定名为1980年西安坐标系。属参心大地坐标系。1980年西安坐标系Xi'an Geodetic Coordinate System 1980 采用1975国际椭球,以JYD 1968.0系统为椭球定向基准,大地原点设在陕西省泾阳县永乐镇,采用多点定位所建立的大地坐标系.其椭球参

经纬度坐标与大地坐标转换表

经纬度坐标与大地坐标转换表 114114 114114 114114 114114 1 234.565411113.59429634.94836113.9953-0.0047334.42443113.590 15734.71231113.9838-0.0162334.420793114.21161134.7022114.35 450.35447534.562121114.21469534.93923114.3630.3630424卫星影像图脚点示意图3 弧度值 -8.261e-050.6988650.8196690.0045270.4884131.00452763852614.

59e-09-0.00028330.6927510.8220220.0045530.4799031.004553638 51785.42e-080.006186760.692490.8221220.0045540.4795421.0045 5463851752.59e-050.006336270.6986280.819760.0045280.4880811 .00452863852582.7e-05 x 0.5728380.32814332049.80123868932.999y-432.37585740.5694560 .3242832049.2823842744.937-1486.849820.5693110.32411532049. 25993841681.23932476.790980.5727070.32799432049.7813867979.经纬度坐标与大地坐标转换表28533166.52816

经纬度转换大地坐标api 经纬度地址解析

经纬度转换大地坐标api 经纬度地址解析 经纬度转换大地坐标api实现GPS/百度经纬度/谷歌经纬度解析成地理位置信息,查询位置信息。 接口名称:经纬度转换大地坐标api 接口平台:聚合数据 接口地址:https://www.doczj.com/doc/f814363425.html,/geo/ 支持格式:JSON/XML 请求方式:GET 请求示例:https://www.doczj.com/doc/f814363425.html,/geo/?key=您申请的APPKEY&lat=39.907314&lng=116.391279&type=1 接口备注:实现GPS/百度经纬度/谷歌经纬度解析成地理位置信息 经纬度转换大地坐标api调用代码JSON返回示例: { "resultcode":"200", "reason":"Successed!", "result":{ "lat":"39.915065193348", "lng":"116.40389843345", "type":"1", "address":"北京市东城区中华路甲10号", "business":"天某门", "citycode":131 } } 经纬度转换大地坐标api调用代码XML返回示例: 200 Successed! 39.915065193348 116.40389843345 1

北京市东城区中华路甲10号
天某门 131

2000大地坐标系转换技术指南.

CGCS2000 –China Geodetic Coordinate System 2000 附件: 现有测绘成果转换到2000国家大地坐标系 技术指南 一、2000国家大地坐标系的定义 国家大地坐标系的定义包括坐标系的原点、三个坐标轴的指向、尺度以及地球椭球的4个基本参数的定义。2000国家大地坐标系的原点为包括海洋和大气的整个地球的质量中心;2000国家大地坐标系的Z轴由原点指向历元2000.0的地球参考极的方向,该历元的指向由国际时间局给定的历元为1984.0的初始指向推算,定向的时间演化保证相对于地壳不产生残余的全球旋转,X轴由原点指向格林尼治参考子午线与地球赤道面(历元2000.0)的交点,Y轴与Z轴、X轴构成右手正交坐标系。采用广义相对论意义下的尺度。2000国家大地坐标系采用的地球椭球参数的数值为: 长半轴a=6378137m 扁率f=1/298.257222101 地心引力常数GM=3.986004418×1014m3s-2

自转角速度ω=7.292l15×10-5rad s-1其它参数见下表:

采用2000国家大地坐标系后仍采用无潮汐系统。 二、点位坐标转换方法 (一)模型选择 全国及省级范围的坐标转换选择二维七参数转换模型;省级以下的坐标转换可选择三维四参数模型或平面四参数模型。对于相对独立的平面坐标系统与2000国家大地坐标系的联系可采用平面四参数模型或多项式回归模型。坐标转换模型详见本指南第六部分。 (二)重合点选取 坐标重合点可采用在两个坐标系下均有坐标成果的点。但最终重合点还需根据所确定的转换参数,计算重合点坐标残差,根据其残差值的大小来确定,若残差大于3倍中误差则剔除,重新计算坐标转换参数,直到满足精度要求为止;用于计算转换参数的重合点数量与转换区域的大小有关,但不得少于5个。 (三)模型参数计算 用所确定的重合点坐标,根据坐标转换模型利用最小二乘法计算模型参数。 (四)精度评估与检核 用上述模型进行坐标转换时必须满足相应的精度指标,具体精度评估指标及评估方法见附件中相关内容。选择部分重合

地理坐标系与大地坐标系

地理坐标系与大地坐标系 地理坐标:为球面坐标。参考平面地是椭球面。坐标单位:经纬度 大地坐标:为平面坐标。参考平面地是水平面。坐标单位:米、千米等。 地理坐标转换到大地坐标的过程可理解为投影。(投影:将不规则的地球曲面转换为平面) 在ArcGIS中预定义了两套坐标系:地理坐标系(Geographic coordinate system)投影坐标系(Projected coordinate system), 1、首先理解地理坐标系(Geographic coordinate system), Geographic coordinate system直译为地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate system是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短半轴,偏心率。以下几行便是Krasovsky_1940椭球及其相应参数。 Spheroid: Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening(扁率): 298.300000000000010000 然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描述中,可以看到有这么一行: Datum: D_Beijing_1954 表示,大地基准面是D_Beijing_1954。 -------------------------------------------------------------------------------- 有了Spheroid和Datum两个基本条件,地理坐标系统便可以使用。 完整参数: Alias: Abbreviation: Remarks: Angular Unit: Degree (0.017453292519943299) Prime Meridian(起始经度): Greenwich (0.000000000000000000) Datum(大地基准面): D_Beijing_1954 Spheroid(参考椭球体): Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening: 298.300000000000010000 2、接下来便是Projection coordinate system(投影坐标系统),首先看看投影坐标系统中的一些参数。 Projection: Gauss_Kruger Parameters: False_Easting: 500000.000000

大地坐标转经纬度和经纬度换大地坐标

地质工作中常要对进行大地坐标转经纬度和经纬度换大地坐标,以下步骤请大家熟记: 一、大地坐标→经纬度(地理坐标) 1、在文本文件中输入大地坐标数据,格式为Y空格X。 如下,原始的大地坐标由一个8位的Y和一个7位的X组成,“新建文本文档.txt -记事本”显示如下: 31560000 4503500 31565000 4503500 31565000 4507500 31568500 4507500 这组坐标数据中的Y的前两位为31,是分带号,一般使用的分带有三分带,六分带,这里的坐标是三分带的,记下Y前的这两位数,在原始数据中去除掉,现在数据变为:Y—6位,X—7位。“新建文本文档.txt -记事本”显示如下:560000 4503500 565000 4503500 565000 4507500 568500 4507500 保存这个TXT的文本文件。 2、打开MAPGIS,启动坐标投影变形程序 如果是MAPGIS6.7版,请选择“实用服务→投影变换→P投影变换→U用户文件投影转换”→点击打开文件,打开刚才的大地坐标的文本文件。 “指定数据起始位置”中出现刚才的的文本文档,显示如下: 560000 4503500 565000 4503500 565000 4507500 568500 4507500

在设置用户文件选项中,一般选:按行读取数据,X→Y顺序,生成点。最后点击确定。 3、设置输入数据的格式,点击用户投影参数,并完成设置。 坐标系类型——大地坐标系 投影类型——5:高斯克吕格投影 比例尺分母——1 椭球面高程——0 投影面高程——0 投影带类型——3度带或6度带 投影带序号——31 X,Y的平移均设0 这里我们的大地坐标为3度带的第31带,注意填好,坐标单位为米

MAPGIS大地坐标和经纬度之间的换算

大地坐标和经纬度之间的换算 大地坐标-----→经纬度(地理坐标) 1、输入大地坐标数据,格式为Y空格X,输入到文本就行如下,原始的大地坐标由一8位的Y和一个7位的X组成, 这组坐标数据中的Y的前两位为31,是分带号,一般使用的分带有三分带,六分带,这里的坐标是三分带的,记下Y前的这两位数,在原始数据中去除掉,现在数据变为,Y,6位,X,7位 保存这个TXT的文本文件。 2,打开MAPGIS,启动坐标投影变形程序

接下来选择投影转换>>>>用户文件投影转换 点打开文件,打开刚才的大地坐标的文本文件,

设置输入数据的格式,点击用户投影参数,并完成设置。 这里我们的大地座标为3度带的第31带,注意填好,坐标单位为米 好了以为设置输出的格式,我们要求输出的是经纬度,点结果转换参数,完成以下设置

这个参数设置里第一行有一个很重要的参数,椭球参数这一项,很多博友没有到正确的结果就是因为该项参数没有设定,中国地图一般只有两种,一种是北京54,还有就是80黄海 正确设定好这个就能得到正确的结果啦,笔者用的是80黄海的参考椭球,不过 中国大部分是用54坐标系的!!!

我们输出的经纬度的单位应该是DDDMMMSS。SS注意 点写到文件,保存就大功告成了,注意保存的文件要写上.TXT的后缀

下面是计算出的结果文件 XP为经度,1234234。357就是123度42分34。357秒, YP为纬度,403950。225就是40度39分50。255秒(纬度最多90,所以没有三位数) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 经纬度——→大地座标 输入文件格式如下,

坐标转换从经纬度坐标到大地坐标及源码

坐标转换从经纬度坐标到大地坐标及源码 利用网络上开源的资料,可以很容易的实现从经纬度坐标向各种投影坐标的转换,美国地质调查局开发USGS的GCTP就是很好的东西之一,有C语言版本的支持各种投影类型的源代码,比如UNIVERSAL TRANSVERSE MERCATOR, ALBERS CONICAL EQUAL AREA ,LAMBERT CONFORMAL CONIC等等,我们机房使用的就是LAMBERT CONFORMAL CONIC(LAMBERT 圆锥等角投影),利用GCTP提供的源代码详见source文件夹下的lamccfor.c 和lamccinv.c ,可以轻松实现经纬度投影坐标和LAMBERT CONFORMAL CONIC坐标的相互转化,其他投影方式使用的比较少,还要进一步研究,就以后在写了. lamccforint函数设置LAMBERT CONFORMAL CONIC投影的各个参数,比如长半轴,短半轴,中心点经纬度坐标,标准纬线等等信息. long lamccforint(r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north) double r_maj; /* majoraxis */ double r_min; /* minoraxis */ double lat1; /* first standard parallel */ double lat2; /* second standard parallel */ double c_lon; /* center longitude */ double c_lat; /* center latitude */ double false_east; /* x offset in meters */ double false_north; /* y offset in meters */ { double sin_po; /* sin value */ double cos_po; /* cos

相关主题
文本预览
相关文档 最新文档