python WGS84和ECEF坐标的转换

您所在的位置:网站首页 llh坐标系 python WGS84和ECEF坐标的转换

python WGS84和ECEF坐标的转换

2024-07-16 16:02:07| 来源: 网络整理| 查看: 265

 

地心地固坐标系(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

 

#坐标系转换import pyproj

def ecef2lla(x,y,z): ''' x = 652954.1006 y = 4774619.7919 z = -4167647.7937 ''' #ecef转化为经纬高 ecef = pyproj.Proj(proj='geocent', ellps='WGS84', datum='WGS84') lla = pyproj.Proj(proj='latlong', ellps='WGS84', datum='WGS84') lon, lat, alt = pyproj.transform(ecef, lla, x, y, z, radians=False)#radians否用弧度返回值 print ('纬度:',lat) print ('经度:',lon) print ('高度:',alt) return lat,lon,alt

  

 

 

https://www.cnblogs.com/langzou/p/11388520.html

 

GNSS计算主要涉及三个坐标系,地心地固坐标系,地理坐标系和站心坐标系。这里主要介绍一下三个坐标的含义和转换公式。

地心地固坐标系如图X,Y,Z表示 (ECEF坐标系),以地心O为坐标原点,Z轴指向协议地球北极,X轴指向参考子午面与地球赤道的交点,也叫地球坐标系。一般GNSS坐标计算都在地心地固坐标系下进行的。由于地球是椭圆形,有WGS-84和CGC2000等多种标准

地理坐标系则通过经度(longitude),纬度(latitude)和高度(altitude)来表示地球的位置,也叫经纬高坐标系(LLA坐标系)。

站心坐标系以用户所在位置P为坐标原点,三个轴分别指向东向,北向和天向,也叫东北天坐标系(enu坐标系)。站心坐标系的天向方向和地理坐标系的高度方向是一致的。站心坐标系用在惯性导航和卫星俯仰角计算中较多。

 

 

网页转换代码

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; }

  



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭