python WGS84和ECEF坐标的转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python WGS84和ECEF坐标的转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2841字,纯文字阅读大概需要5分钟。
内容图文
![python WGS84和ECEF坐标的转换](/upload/InfoBanner/zyjiaocheng/622/d04eed55fdd84251ad00afc18e085095.jpg)
- 地心地固坐标系(Earth-Centered, Earth-Fixed,ECEF),简称地心坐标系。
- 地理坐标系统(Geographic Coordinate System,GCS)1,坐标系是地心坐标系,用经纬度表示球面上的点。
- 世界大地测量系统(World Geodetic System, WGS),比如WGS84,是一种地理坐标系统,用于全球定位系统(GPS)。
- 投影坐标系统(Projection Coordinate System,PCS)2,,在二维平面上用米表示位置。
- 通用横轴墨卡托投影(Universal Transverse Mercator,UTM),是一种投影方法。
pip install Pypro
Cesium中常用的坐标系主要有两种:WGS84坐标系和笛卡尔空间直角坐标系。平时我们常见的某个点的经纬度就是在WGS84坐标系下某个点的坐标,它的坐标原点在椭球的质心;而笛卡尔坐标系主要是用来做空间位置的变化如平移、旋转和缩放等等,它的坐标原点在椭球的中心。
库安装
、 pip install pyproj
转换公式
https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates
网页转换代码
view-source:http://www.ab126.com/Geography/4031.html
function do_llhxyz() { var ecef = new Array(3); var latitude,longitude,height; var x,y,z; var sans; var dtr = Math.PI/180; CallCount = CallCount + 1; latitude = document.io_form.Latitude.value; longitude= document.io_form.Longitude.value; height = document.io_form.Height.value; latitude = Number(latitude); longitude= Number(longitude); height = Number(height); hkm = 0.001 * height good = goodnum(latitude) && goodnum(longitude) && goodnum(hkm); if ( !good ) sans = sans+"\n无效的数字输入 \n" if ( good ) { sans = " \n"; ecef = llhxyz(latitude,longitude,hkm); x = ecef[0]; y = ecef[1]; z = ecef[2]; x = fformat(x,3); y = fformat(y,3); z = fformat(z,3); sans = sans +"ECEF从纬度、经度、高度 (椭球)\n"; sans = sans + "\n" sans = sans +"X : " + x + " km\n"; sans = sans +"Y : " + y + " km\n"; sans = sans +"Z : " + z + " km\n"; document.io_form.text_area.value = sans; return false; } document.io_form.text_area.value = sans; return false; } function do_xyzllh() { var ecef = new Array(3); var llh = new Array(3) var latitude,longitude,height; var x,y,z; var sans; var dtr = Math.PI/180; CallCount = CallCount + 1; x = document.io_form.X.value; y = document.io_form.Y.value; z = document.io_form.Z.value; // 返回字符串变量 // 可能或不使用自动转换的数学 x = Number(x); y = Number(y); z = Number(z); good = goodnum(x) && goodnum(y) && goodnum(z); if ( !good ) sans = sans+"\n无效的数字输入 \n" if ( good ) { sans = " \n"; ecef[0] = x; ecef[1] = y ecef[2] = z; llh = xyzllh(ecef); latitude = llh[0]; longitude= llh[1]; hkm = llh[2]; height = 1000.0 * hkm; latitude = fformat(latitude,5); longitude= fformat(longitude,5); height = fformat(height,1); sans = sans +"纬度、经度、高度 (椭球)从 ECEF\n"; sans = sans + "\n" sans = sans +"纬度 : " + latitude + " 度 N\n"; sans = sans +"经度 : " + longitude + " 度 E\n"; sans = sans +"高度 : " + height + " m\n"; } document.io_form.text_area.value = sans; return false; }
内容总结
以上是互联网集市为您收集整理的python WGS84和ECEF坐标的转换全部内容,希望文章能够帮你解决python WGS84和ECEF坐标的转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。