【发布时间】:2018-11-09 19:56:40
【问题描述】:
为什么在地图上呈现为明显矩形的地理哈希没有优化为呈现为正方形?如果 geohash 的目的是允许单一属性的空间索引和地理查询,为什么 geohash 不优化成需要的正方形,以便搜索半径渲染的圆圈剪裁最少的错误结果?
【问题讨论】:
标签: geohashing
为什么在地图上呈现为明显矩形的地理哈希没有优化为呈现为正方形?如果 geohash 的目的是允许单一属性的空间索引和地理查询,为什么 geohash 不优化成需要的正方形,以便搜索半径渲染的圆圈剪裁最少的错误结果?
【问题讨论】:
标签: geohashing
基本上,问题在于将球体上的坐标映射到二维空间。当您远离赤道时,坐标变得更加“矩形”,因为由纬度和经度的相等变化所代表的物理差异之间存在更大的差异。 Wikipedia 文章中很好地解释了这种非线性行为。我在这里包含了相关部分:
由于 geohash(在此实现中)基于经度和纬度坐标,因此两个 geohash 之间的距离反映了两点之间的纬度/经度坐标中的距离,它不会转化为实际距离,请参阅 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.
【讨论】: