- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在学习pArk Apple 示例代码及其工作原理。任何人都知道如何将纬度和经度转换为 ECEF 坐标,和 Covert ECEF to ENU coordinates centered at given lat, lon 函数是否有效?我只是想了解这个函数是怎么回事!
谢谢。
void latLonToEcef(double lat, double lon, double alt, double *x, double *y, double *z)
{
double clat = cos(lat * DEGREES_TO_RADIANS);
double slat = sin(lat * DEGREES_TO_RADIANS);
double clon = cos(lon * DEGREES_TO_RADIANS);
double slon = sin(lon * DEGREES_TO_RADIANS);
double N = WGS84_A / sqrt(1.0 - WGS84_E * WGS84_E * slat * slat);
*x = (N + alt) * clat * clon;
*y = (N + alt) * clat * slon;
*z = (N * (1.0 - WGS84_E * WGS84_E) + alt) * slat;
}
// Coverts ECEF to ENU coordinates centered at given lat, lon
void ecefToEnu(double lat, double lon, double x, double y, double z, double xr, double yr, double zr, double *e, double *n, double *u)
{
double clat = cos(lat * DEGREES_TO_RADIANS);
double slat = sin(lat * DEGREES_TO_RADIANS);
double clon = cos(lon * DEGREES_TO_RADIANS);
double slon = sin(lon * DEGREES_TO_RADIANS);
double dx = x - xr;
double dy = y - yr;
double dz = z - zr;
*e = -slon*dx + clon*dy;
*n = -slat*clon*dx - slat*slon*dy + clat*dz;
*u = clat*clon*dx + clat*slon*dy + slat*dz;
}
最佳答案
latLonToEcef
方法是 Geographic coordinate conversion - From geodetic to ECEF coordinates 中概述的算法的实现。维基百科页面:
在哪里
Φ 是纬度,λ 是经度,
同样,ecefToEnu
方法是 ECEF to ENU 的一个实现算法:
如果您需要进一步的引用资料,可以在该维基百科页面的底部找到它们。您也可以引用 World Geodetic System 1984规范。
关于objective-c - 将经纬度转换为ECEF坐标系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19478200/
假设我有(ECEF)某个物体在某个时间的纬度、经度和到地球的距离。我需要获取它的 J2000 坐标。我正在做的是 import skyfield.api planets = skyfield.api.
我在查找有关将 RAE 转换为 XYZ 的任何内容时遇到问题。 如果我在 WGS84 椭球体上,比如位置 -742507、-5462738、3196706,我检测到一个距离为 30 公里、方位角为 3
在android中是否可以读出ECEF中的GPS坐标和速度。 我想要一个速度矢量(x、y、z),就像在可用的标准 GPS 模块中一样? 干杯,西尔万 最佳答案 没有,Android APIs只提供WG
如何将 X、Y、Z 从本地引用 (ENU) 转换为世界引用 (ECEF) 并将其反转?? 输入: (lat,long) = center of the local reference system.
我想在带有 pyproj 的 python 中使用 WGS84 将 x/y/z-ECEF 位置转换为 lla (lat/lon/alt),但似乎转换失败了。 示例代码在这里: import pypro
我在卫星轨道的地心惯性坐标 (ECI) 中有位置 (x,y,z) 和速度 (Vx,Vy,Vz) 向量,并最终希望以大地坐标(纬度、经度、和海拔高度)。 根据这个other Stack Overflow
我想在 map 上绘制卫星跟踪。所以我将 SGP4 1.4 与 python 一起使用。输入 TLE 数据,但输出数据不是我想要的。所以我想把输出数据转换成ECEF数据,得到经纬度。 我知道 skyf
现在,我正在尝试将大量纬度经度高度格式的点的二进制文件转换为基于文本的 ECEF 笛卡尔格式(x、y、z)。现在的问题是这个过程非常非常非常慢。 我有超过 100 GB 的数据需要运行,并且可能会输入
我有一个 javascript 文件正在读取包含笛卡尔坐标的文本文件。我可以解析出 X、Y、Z 值;但是我需要将这些转换为十进制格式的纬度/经度。这些输出值将用于谷歌地图标记。 我一直在研究,肯定有很
我查看了站点中的帖子,但没有发现我的问题...正如标题所说,我正在尝试从 ecef 转换为 lla。 我正在使用此文档:Conversion article在直接公式中,而不是在迭代公式中和这个网站进
我编写了一个代码,使用 astropy 将坐标从地球固定系统转换为惯性坐标系: from astropy import coordinates as coord from astropy import
我正在尝试编写一个基本的 python 脚本,该脚本将从给定位置跟踪用 tle 定义的给定卫星。我不是一个 asto/orbital 的人,但我正在努力变得更聪明。 当我尝试将方位角、仰角、距离值转换
我是一名优秀的程序员,十分优秀!