【问题标题】:Rounding latitude and longitude to get within approximately 500 meters将经纬度四舍五入到大约 500 米以内
【发布时间】:2020-09-18 02:53:19
【问题描述】:

我有超过 350,000 对纬度和经度十进制值。这些对代表美国的位置。这些数据给了我相当精确的数据,但我不需要这么精确。

我正在寻找有关如何四舍五入这些值的建议,以便我可以将我的位置从 350,000 减少到更小的值。

  • 将这两个值四舍五入到最接近的百分之一会产生 138k 对。
  • 将这两个值四舍五入到最接近的千分之一产生 320k 对。

如果四舍五入到小数点后 2 位,我担心我伸出的手太远了。如果四舍五入到小数点后第三位,我觉得我还有太多对。理想情况下,我希望在实际纬度/经度的 400 到 600 米范围内。我想四舍五入到小数点后 3 位确实接近了所需的区域,但有点严格。

有没有人试过这个,也许采取了将纬度四舍五入到小数点后第二位和经度四舍五入到小数点后第三位的方法?你会推荐其中一个吗?同样,大部分数据位于美国大陆,部分位于阿拉斯加和夏威夷。

【问题讨论】:

    标签: latitude-longitude


    【解决方案1】:

    保持纬度值的精度比保持经度值的精度更有帮助。在赤道,精度(以度为单位)是相同的,但是当您从那里向北或向南移动时,以经度为单位的距离会越来越小。

    如果您确实需要在 500 米范围内,并且假设每个位置的四舍五入具有相同的距离损失,则可以将每个值四舍五入 354 米。 (也就是说,您的目标是平均将每个四舍五入的距离相等。)

    354 米大约是世界任何地方的纬度 0.0033 度。 (这取决于位置,只有不到百分之一的差异。)

    但是经度对大小的影响更大: 在阿拉斯加北部,在北纬 70 度,354 米接近经度 0.01 度,但在夏威夷,相同的东西距离等于 0.0033 度。

    除了四舍五入之外,您能否将纬度分组到最接近的千分之一?对于经度,如果纬度大于 50,则分组到最近的百分之一,否则分组到最近的千分之一。

    我认为向人们解释可能会很痛苦,但编写代码不会太痛苦。

    【讨论】:

    • 感谢您的反馈,非常感谢。由于产品要求,我决定保留我的 350k+ 积分,叹息。我将此标记为已批准的答案,以防万一事情发生变化。
    猜你喜欢
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 2015-09-07
    相关资源
    最近更新 更多