algorithm - 沿已知方向移动 GPS 位置一定距离(以米为单位)

标签 algorithm math gps coordinates

我有一些从设备中获取的 GPS 样本数据。我需要做的是将数据“移动”到“左边”,比方说,1 到 5 米。我知道如何做移动部分,唯一的问题是移动没有我想要的那么准确。

我目前在做什么:

  • 我获取 GPS 坐标(纬度、经度对)
  • 我使用 plate carrée 转换它们转型。
  • 我将生成的坐标缩放为经度距离(x 上的距离)和纬度距离(y 上的距离)- 假设整个 GPS 样本数据位于一个矩形内,该矩形受最大和最小纬度/经度的约束。我使用 Great Circle Distance 的公式计算这些距离在经度和纬度的极值之间。
  • 我将点移动 x 米到想要的方向
  • 我转换回 GPS 坐标

我真的没有我想要的准确性。例如,向左移动 3 米意味着不到 3 米(大约 1.8 米 - 可能是 2 米)。

做这些事情的已知解决方案是什么?我需要一个最多偏离实际点 0.2-0.5 米的解决方案(而不是当前情况下的 1.2)。

稍后:这种方法好吗?通过这种方式,我的意思是将 GPS 坐标转换为平面坐标,然后再转换回 GPS。还有其他办法吗?

LATER2: 转换为共形映射的方法可能是将要使用的方法。如果是小矩形,并且由于极点处没有道路,可能会使用墨卡托。意见?

谢谢,

尤利安

PS:我正在处理小区域 - 所以想象一下我所说的边界矩形每边的长度不超过 5 公里。 (因此最大为 5x5km 的矩形)。

最佳答案

您的解决方案存在两个问题:

  • 圆角板变换不是共形的(即不保留角度)
  • 您不能以那种方式测量沿纬度或经度的距离,因为那不是大圆(大约您的 x 偏离了一个因数 cos(lat))。

在小矩形内,您可能假设经度/纬度可以线性映射到 x/y 对,但您必须记住,经度/纬度中的“正方形”映射到长宽比约为 cos(lat )/1.

关于algorithm - 沿已知方向移动 GPS 位置一定距离(以米为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604938/

相关文章:

gps - 在 Windows Phone 中计算速度

video - GPS信息在视频帧中丢失

c - 全 1 的最大方阵子矩阵

algorithm - 这个游戏的名字是什么?

javascript - 如何在 PaperJS 中围绕一个点向鼠标旋转?

c++ - 是 VAR |= 1 << 2;可逆的?

android - java.lang.IllegalArgumentException : provider==null 异常

algorithm - 双重散列给出的数字大于表的大小

python - 为数组 x 中的每个元素选择 n 个项目(从泊松分布中得出)的快速方法

css - CSS 过滤器背后的数学原理是什么?