我有一些从设备中获取的 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/