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

经纬度变化?

  •  1
  • Chris  · 技术社区  · 16 年前

    我正在为我正在构建的应用程序编写一个地理编码组件,我决定使用雅虎地图。我编写了geocode api包装器和一些单元测试,并称之为“一天”。第二天回来,进行了测试,发现经度和纬度都变了。请注意,这个变化很小,对我来说无关紧要,但是它非常重要,足以影响到我在单元测试中用来比较结果的四舍五入到小数点后4位。

    我以前从来没有听说过经纬度的变化。这是我应该期待的吗?有人能解释为什么吗?

    6 回复  |  直到 13 年前
        1
  •  4
  •   Reed Copsey    16 年前

    地理编码,尤其是从地址进行的地理编码,很少100%准确。有许多公司除了编译用于地理编码的街道数据外什么也不做。

    数据不准确,但经常更新以改进地址匹配。当这种情况发生时,你会得到不同的结果。我猜有两件事发生了:

    1)雅虎更新了他们的源数据。

    2)您从另一台服务器获得了一个结果,该服务器具有一组不同的源数据。

        2
  •  5
  •   Chris Cudmore    16 年前

    大陆漂移?

        3
  •  1
  •   Christopher    16 年前

    地理编码使用的算法必然是不精确的。他们做出了一定的猜测。除上述信息外,请查看本白皮书:

    http://www.urisa.org/files/goldberg.pdf

    这就是那些算法。

        4
  •  0
  •   ChrisF    16 年前

    听起来可能是正在执行的计算的舍入误差。

    现在的结果是一致的还是仍然有一些不同的结果?

        5
  •  0
  •   user229044    13 年前

    有趣。

    在我看来,当人们比较“实数”和“相等”时,会发生什么。这个“问题”的通常解决方案是计算abs[x-y]<tol,其中x,y是实数(或浮点数或双精度数),tol是一个小数字,它代表了决定这些数字是否足够接近以被视为相等的标准。

        6
  •  -1
  •   RolandTumble    16 年前

    地图不是领土

    对于我们这些程序员来说,真正容易忘记的是数据 代表 世界,它们不是真实的方面 属于 世界。

    你还有其他的答案更详细地说了同样的事情,特别是关于地理编码,但总的来说,这也是值得记住的……