WGS84坐标系下大地坐标转换为空间直角坐标

大地坐标表示方法:BLH 
空间直角坐标表示方法:XYZ

进行地图投影的一般操作步骤为先将BLH转换为XYZ,然后将XYZ通过三参数或者7参数的办法转换为xyz,涉及到两个椭球体以及坐标系之间的转换,本文主要讨论BLH转换为XYZ的办法,通过C#程序实现。

WGS84坐标系的参数: 
已知量:a,f 可以求解出b与e 
长半轴:a=6378137 
WGS84椭球扁率:f=1/298.257223563 
椭球扁率f=(a-b)/a 
椭球第一偏心率:e*e=(a*a-b*b)/a*a

BLH转XYZ的公式如下: 
这里写图片描述 
WGS84椭球体的参数如下: 
这里写图片描述 
C#程序实现核心代码:

  f = 1 / 298.257223563;
  b = a * (1 - f);
  e = Math.Sqrt(a * a - b * b) / a;
  N = a / Math.Sqrt(1 - e * e * Math.Sin(lat * Math.PI / 180) * Math.Sin(lat * Math.PI / 180));
  WGS84_X = (N + H1) * Math.Cos(lat * Math.PI / 180) * Math.Cos(lon * Math.PI / 180);
  WGS84_Y = (N + H1) * Math.Cos(lat * Math.PI / 180) * Math.Sin(lon * Math.PI / 180);
  WGS84_Z = (N * (1 - (e * e)) + H1) * Math.Sin(lat * Math.PI / 180);
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值