为什么在地图上以矩形显示的地理哈希未经过优化以呈现为正方形?如果geohash的目的是允许单属性空间索引和地理查询,为什么geohash不能在需要的地方优化为正方形,以使搜索半径渲染的圆将错误结果的数量减到最少?>
答案 0 :(得分:1)
从根本上讲,问题在于将球体上的坐标映射到2D空间。当您离开赤道时,坐标会变得更“矩形”,因为由纬度和经度的相等变化表示的物理差异之间存在更大的差异。 Wikipedia文章中很好地解释了这种非线性行为。我在这里包括了相关部分:
由于地理哈希(在此实现中)基于经度和纬度坐标,所以两个地理哈希之间的距离反映了两个点之间的经度/纬度坐标中的距离,这并不转换为实际距离,请参见Haversine公式。>
经纬度系统的非线性示例:
At the Equator (0 Degrees) the length of a degree of longitude is 111.320 km, while a degree of latitude measures 110.574 km, an error of 0.67%. At 30 Degrees (Mid Latitudes) the error is 110.852/96.486 = 14.89% At 60 Degrees (High Arctic) the error is 111.412/55.800 = 99.67%, reaching infinity at the poles.