我的GPS数据可以靠近北极/南极,可以移动数千公里。
如果我用例如:
构建距离矩阵from geographiclib.geodesic import Geodesic
p1_lat, p1_lon = 43.374880, -78.119956
p2_lat, p2_lon = 43.374868, -78.119666
geod = Geodesic.WGS84
g = geod.Inverse(p1_lat, p1_lon, p2_lat, p2_lon)
print("Distance is {:.2f}m".format(g['s12']))
我可以在上面应用Ramer-Douglas-Peucker算法吗?
我总是看到一组x,y坐标作为RDP算法的输入,但在我的情况下,保留距离的转换并不存在。
答案 0 :(得分:0)
俗气的回答:是的,你可以应用算法。但是,输出可能不是你想要的......
我的假设是你希望简化接近任一极点的GPS轨迹。 (搞砸了Ramer-Douglas-Peucker导致坐标跳到了整个地方)
有大量研究致力于简化不同应用的轨迹。例如,保持高度/高度是否重要?速度是否重要(如沿着轨迹的速度)?
这种情况有特定的算法。
一个简单的方法,可能很好地处理上面提到的考虑因素,就是将lat / long转换为X-Y-Z坐标,然后应用RDP算法。
(请参阅此答案,了解如何转换为XYZ:Answer from Stephen Quan)