gpt4 book ai didi

android - 将 GPS 转换为 ENU

转载 作者:行者123 更新时间:2023-11-29 18:59:04 32 4
gpt4 key购买 nike

我想创建 Android 应用程序“兴趣点”。我读过很多不同的教程,但我不明白为什么我需要将 GPS 坐标转换为 ECEF,然后再转换为 ENU。你能解释一下吗?

谢谢!

最佳答案

地理空间坐标系是一个很大的话题,但在 ECEF 和 ENU 等系统之间的主要选择是关于您是要描述地球表面的大区域还是小区域。

当 Android 提供 geolocation 时通过 LocationListener API,它通常使用纬度/经度/高度来执行此操作,这非常适合表示地球表面上的任何点,但它是一个“极地”或“大地”坐标系,不适合绘制 2D 位置。标准techniques允许将此坐标系转换为 ECEF,这是另一个适用于整个地球的坐标系,但它是“笛卡尔”坐标系,因此可以使用比原始纬度/经度/高度坐标更简单的数学运算来旋转和缩放。

Earth-Centred Earth Fixed ( ECEF ) 使用以地球中心为原点的坐标系,因此地面上的任何点都将具有通常以数百万米为单位的坐标值。这非常适合描述卫星轨道或跨越多个大陆的位置,但对于城镇或城市内兴趣点的 2D 图不是很方便。

如果你想绘制地球表面一小块区域的二维 map ,那么 East-North-Up 坐标系可能会方便得多。要使用它,您需要一个引用位置(例如特定城市的中心),可以围绕该引用位置定义本地的东/北/上方向。然后那些提供一组 x/y/z 轴,其中 x 和 y 轴可以直接转换为 2D 屏幕坐标。显然,随着感兴趣区域变大(例如超过 100 公里),地球曲率的影响变得更加明显,ENU 坐标系将变得不那么有用。参见 wikipedia了解更多信息。

从 ECEF 到 ENU 坐标系的移动可以通过一组简单的矩阵加法和乘法来完成,这些加法和乘法可以根据 map 中心的 ECEF 位置以及东/北/上方向的单位向量计算得出.

关于android - 将 GPS 转换为 ENU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49405412/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com