【问题标题】:Assumption when calculating distance between 2 lat-lngs using haversine formula?使用haversine公式计算2个lat-lngs之间的距离时的假设?
【发布时间】:2018-10-12 11:54:10
【问题描述】:

我想检查一对 lat-lng 之间的距离是否在 10 米以内。用haversine公式计算距离时,小数点后有没有可以忽略的部分?

例如,取这两个 lat lngs

128.228522,10.9282247607
128.228579,10.9282609467

它们之间的距离约为 6.9 米 和

距离

101.228522,30.9282247607
101.228579,30.9282609467

约为 6.3 米
和 距离

98.998522,30.2282247607
98.998579,30.2282609467

又是 ~ 6.3 米
如果你看到所有这些对 lat-lngs,它们都相似到小数点后 4 点,并且相距不到 10 米。但我可以肯定地说吗?是否存在这种假设不成立的情况?

【问题讨论】:

    标签: gps location distance latitude-longitude haversine


    【解决方案1】:

    纬度-经度坐标的小数点后四位差异通常约为 10 米。但是,当您靠近两极时,坐标之间的水平距离会变小。

    例如:

    距离

    128.228522, 60.9282247607
    128.228579, 60.9282609467
    

    约为 5.1 米

    距离

    128.228522, 89.9282247607
    128.228579, 89.9282609467
    

    约为 4.0 米

    为了清楚起见,这里有一组具有固定经度值的点,在不同纬度处的相对增量为 0.0001。当您向杆子移动时,水平距离会下降。

    point 1          point 2         distance
    128.2280, 10.0   128.2281, 10.0  10.9
    128.2280, 60.0   128.2281, 60.0   5.6
    128.2280, 80.0   128.2281, 80.0   1.9
    128.2280, 89.0   128.2281, 89.0   0.19
    

    这里是一组具有固定经度但不同纬度的坐标,每个坐标有 0.0001 的相对差异。每种情况下的垂直距离约为 11.1 米。

    128.2280, 10.1234  128.2280, 10.1235
    128.2280, 20.1234  128.2280, 20.1235
    128.2280, 60.1234  128.2280, 60.1235
    128.2280, 80.1234  128.2280, 80.1235
    128.2280, 89.1234  128.2280, 89.1235
    

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 2010-09-06
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多