原文链接:http://winn.blog.163.com/blog/static/6249512012112064159555/
一、WGS84系统转北京54系统
1、把从GPS中接收到84坐标系下的大地坐标(经纬度高程B、L, H,其中B为纬度,L为经度,H为高程),使用84坐标系的椭球参数转换为84坐标系下的地心直角坐标(空间坐标):
X=(N+H)cosB * CosL
Y=(N+H)cosB* sinL
Z=[N(1-e2)+H]* sinB
其中N为法线长度,计算公式为N=a/sqrt(l—e2*sin2B),a为椭球体长轴半径,e为第一偏心率。
84坐标系地球参数为:
椭圆长半径a: 6378137.00
第一偏心率e2: 0.006 694 379 901 3
2、使用七参数转换为54坐标系下的地心直角坐标:
X = △X + k*x - β*z + γ*y + x
Y = △Y + k*y + α*z - γ*x + y
Z = △Z + k*z - α*y + β*x + z
其中,
△X △Y △Z——三个坐标方向的平移参数;
α β γ——三个方向的旋转角参数
k——尺度参数
在小范围内可使用七参数的特殊形式即三参数,即k、α、β、γ都等于0,变成:
X = △X + x
Y = △Y + y
Z = △Z + z
3、使用54坐标系的椭球参数转换为54坐标系下的大地坐标(B, L, H):
L=arctan(Y/X)
但大地纬度B的计算比较复杂,通常采用迭代法:
上式右端有待定量B ,需迭代计算,迭代时可取
用B的初值B1计算N1和sin B1,将上式进行第二次迭代直至最后两次B 值之差小于允许误差为止。
计算出了B值,大地高也可得出:
北京54坐标系地球参数为:
椭圆长半径a: 6378245.0
第一偏心率e2: 0.006 693 421 622 965 949
二、北京54系统转WGS84系统
过程与WGS84转北京54相同,但要注意三个平移参数要改变符号,即从加法变减法,计算空间坐标或从空间坐标计算大地坐标时要用对地球参数。
以上计算可在excel中实现。
计算例子:
1、从WGS84转到北京54:
WGS84纬度
WGS84经度
WGS84高程
北京54纬度
北京54经度
北京54高程
37.3449
115.1235
100
37.34498051
115.1237245
-117.6166
角度用度.分分秒秒形式表示,37.34498051代表37°34’49.8051”
本地转换参数为:
DX:
-5.9
DY:
-116.8
DZ:
-44.5
2、从北京54 到WGS84:
北京54纬度
北京54经度
北京54高程
WGS84纬度
WGS84经度
WGS84高程
37.3449805
115.123725
-117.6166
37.34489859
115.1235000
100.5643619