将纬度和经度舍入到大约 500 米以内

Rounding latitude and longitude to get within approximately 500 meters

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

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

如果四舍五入到小数点后第二位,我担心我伸得太远了。如果四舍五入到小数点后第三位,我觉得我的对还是太多了。理想情况下,我希望距离实际 lat/lon 大约 400 到 600 米。我想四舍五入到小数点后第三位确实接近了所需的区域,但稍微有点严格。

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

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

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

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

但经度的大小变化更为显着: 在阿拉斯加北部,北纬 70 度,354 米接近经度 0.01 度,但在夏威夷,同样的距离 east-west 等于 0.0033 度。

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

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