代码之家  ›  专栏  ›  技术社区  ›  Neabfi

基于GPS的Ramer-Douglas-Peucker算法

  •  2
  • Neabfi  · 技术社区  · 7 年前

    如果我建立一个距离矩阵,例如:

    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']))
    

    我能用拉默道格拉斯-派克算法吗?

    我总是把x,y坐标数组看作RDP算法的输入,但在我的例子中,保持距离的转换并不存在。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Steven Laan    7 年前

    粗俗的回答:是的,你可以应用这个算法。但是,输出可能不是您想要的。。。

    我的假设是你想简化靠近两极的GPS轨迹。(这把拉默道格拉斯·佩克搞砸了,坐标跳得到处都是)

    对于这种情况有特定的算法。

    一个简单的方法,可能处理了上面提到的问题,就是将lat/long转换成X-Y-Z坐标,然后应用RDP算法。

    Answer from Stephen Quan )

    推荐文章