大地坐标表示顺序为:纬度B、经度L、海拔H
空间直角坐标表示方法:X、Y、Z

进行地图投影等价于将BLH转换为XYZ,涉及到两个椭球体以及坐标系之间的转换,本文主要讨论WGS84坐标系下BLH与XYZ相互转换的办法。

WGS84坐标系的参数:
已知长半轴a=6378137 ,
WGS84椭球扁率:f=1/298.257223563
椭球扁率f=(a-b)/a ,可求出b,
椭球第一偏心率:ee=(aa-bb)/aa,带入可求得e
W为第一辅助系数:W=√(1-e²sin²B) B为纬度
N为椭圆曲率半径:N=a/W

用python代码写出:

import math
def get_coordinate(latitude,longitude,altitude):B=math.radians(latitude);L=math.radians(longitude);H=altitude;f=1/298.257223563;r=6378137;b=r*(1-f);e=math.sqrt(2*f-f*f);N=r/math.sqrt(1-e*e*math.sin(B)*math.sin(B));data =[(N+H)*math.cos(B)*math.cos(L),(N+H)*math.cos(B)*math.sin(L),(N*(1-e*e)+H)*math.sin(B)];return data;

java语言写成了一个方法:

 public static double[] get_coordinate(double latitude,double longitude,double altitude){double B=Math.toRadians(latitude) ,L=Math.toRadians(longitude) ,H=altitude,x,y,z;double f=1/298.257223563,r=6378137;double b=r*(1-f),e=Math.sqrt(2*f-f*f);double N=r/Math.sqrt(1-e*e*Math.sin(B)*Math.sin(B));x=(N+H)*Math.cos(B)*Math.cos(L);y=(N+H)*Math.cos(B)*Math.sin(L);z=(N*(1-e*e)+H)*Math.sin(B);double[] data ={x,y,z};return data;}

这里完成了WGS84坐标系转大地坐标系,但是大地坐标系反解WGS84坐标系较为复杂

我们可以直接通过XY求出L经度,但是对于纬度和海拔求解较为复杂。
这里我们可以通过一种简单的方法将计算最简化。我们将N视为不变,来计算前后GPS坐标。程序如下:
python:

def return_gps(m,n,q):f=1/298.257223563;a=6378137;b=a*(1-f);e=math.sqrt(2*f-f*f);L=math.atan(n/m)+math.pi;B=math.atan(math.cos(L)*q/m/(1-N*e*e/(N+40.0038)));H=(m/math.cos(L)/math.cos(B)-N+n/math.sin(L)/math.cos(B)-N)/2;L1=L/math.pi*180;B1=B/math.pi*180;data = [B1,L1,H];return data;

Java:

 public static double[] returnlocation(double m,double n,double q){double f=1/298.257223563,a=6378137;double b=a*(1-f),e=Math.sqrt(2*f-f*f);double L=Math.atan(n/m)+Math.PI;double B=Math.atan(Math.cos(L)*q/m/(1-N*e*e/(N+40.0038)));double H=(m/Math.cos(L)/Math.cos(B)-N+n/Math.sin(L)/Math.cos(B)N)/2;double L1=L/Math.PI*180,B1=B/Math.PI*180;double[] data = {B1,L1,H};return data;}

能极大的简化计算。

WGS84GPS坐标与大地坐标系互相转化相关推荐

  1. python笛卡尔坐标系_将GPS的WGS84坐标(大地坐标系)转换为平面坐标(笛卡尔坐标系)的方法...

    type // 笛卡尔坐标系 tagCRDCARTESIAN = record X, Y, z: double; end; CRDCARTESIAN = tagCRDCARTESIAN; // 大地坐 ...

  2. matlab地理坐标转投影坐标,如何把经纬度转化为大地坐标

    txt文件数据修改成我的数据后,替换了文件名,程序运行后出现了两个问题: 一:弹出图像框  但没有内容   图像框里是空白的,这事为什么? 二:输出的coordinate.txt文件里数据怎样处理精度 ...

  3. 计算机复数怎转换成极坐标,如何把复数转化为极坐标

    当复数的形式为z = a + bi时,函数通过下列方程转换极坐标元素: z = r(cos θ + i *sin θ) 极坐标中 a=rcosθ b=rsinθ 把形如z=a+bi(a,b均为实数)的 ...

  4. 关于不同坐标地之前的转化(地球坐标系,经纬度坐标系,火星坐标系,EPSG:4326,WGS84,EPSG:3857)

    EPSG:3857转换经纬度(EPSG:4326) // javascript 转换 function mercatorTolonlat(mercator){var lonlat={x:0,y:0}; ...

  5. 高斯坐标和经纬度之间的转化

    最近项目需要做工程项目在地图的标注,项目的数据是高斯投影坐标,而地图的标注需要用到的是经纬度,因此需要做处理.在网上查找了各种帖子,掉了不少坑,最终完善出了一个工具类,亲测可用,有问题可以提出探讨. ...

  6. 通过IDL编辑器实现空间直角到高斯平面坐标系的转化

    目录 空间直角坐标系: 大地坐标系: 高斯平面直角坐标系: 转化方法过程细节讲述: 坐标系简介: 空间直角坐标系: 空间直角坐标系,如图所示,空间中的任意点坐标用(X,Y,Z)表示,坐标原点位于地球质 ...

  7. ArcGis中已知经纬度坐标转任意坐标系(以点和80坐标系为讲解模板)

    文章首发微信公众号:ArcGisdada 一般经纬度都是以度分秒的格式显示的,如图31-1所示. 图31-1: 我们转至WGS-84坐标需要进行十进制的转化,也就是把度分秒换算为以度为单位的一串数字. ...

  8. python求交点坐标_Python - 两圆相交求交点坐标

    Python - 两圆相交求交点坐标 Max.Bai 2016-05-16 Python - 两圆相交求交点坐标 三轴机械臂求坐标问题,其实转化为平面问题就是两圆相交求交点问题,交点算出来就可以用反三 ...

  9. wgs84 投影坐标转经纬度 代码_ArcGis中已知经纬度坐标转任意坐标系(以点和80坐标系为讲解模板)...

    一般经纬度都是以度分秒的格式显示的,如图31-1所示. 图31-1: 我们转至WGS-84坐标需要进行十进制的转化,也就是把度分秒换算为以度为单位的一串数字.操作步骤:打开excel>选中代表经 ...

最新文章

  1. Android常用逆向工具总结(未完待续)
  2. linux小波识别算法,人脸识别相关技术之小波变换
  3. mel滤波器组频率响应曲线_了解二阶滤波器的奈奎斯特图
  4. linux脚本监控网卡流量,Shell脚本实现linux监控网卡实时流量[带宽]的方法
  5. android消息队列模型,Android 消息队列机制
  6. php使用excel表格数据处理,php上传excel表格并获取数据
  7. 征集 | AAAI 2021线下论文预讲会讲者征集
  8. C#中的where泛型约束【转】
  9. camunda 流程执行追踪_从Activiti分裂而来的camunda BPM
  10. 2007以学习软件设计开始
  11. 图书管理系统项目总结
  12. java嵌入浏览器_Java嵌入浏览器Chrome内核
  13. matlab2018a怎么读取nc文件,[转]matlab批量读取nc文件
  14. VC dll依赖性查看工具depends
  15. 计算机专业29岁研究生毕业,26岁,你还会考研吗?毕业后都奔三了!_计算机考研科目...
  16. 实现语音对讲_报警联防子系统 | 实现一键式视频语音紧急求助
  17. ubuntu apt-get install更新域名解析失败问题的处理方法
  18. Hadoop基础之《(6)—Hadoop单机伪集群安装》
  19. get和Post的区别,端口号。
  20. 服务器镜像文件查看,查找镜像服务器地址

热门文章

  1. [DAQmx]创建虚拟通道时应当注意的基本问题
  2. ps安装包、教程、素材
  3. Python数据分析--Numpy常用函数介绍(8)--Numpy中几中常见的图形
  4. 产品经理进修第五天 管理你的产品团队
  5. 深入分析Docker镜像原理
  6. 娶天秤老婆的七大好处
  7. 数字IC设计知识结构
  8. 达梦数据库数据守护集群搭建(命令行方式)
  9. 织梦dede怎样去掉后台登陆界面广告
  10. 在64位CAD上配置合适的ARX程序