mob*_*com 3 gis map geolocation geospatial geohashing
我的要求是:
给定一个经纬度边界框,返回一组 geohashes,使得:
我对算法或概念方法最感兴趣。如果不存在开源实现,我计划在 Android 和 iOS 的 Java/Obj-C 中实现它。
github https://github.com/davidmoten/geo上的这个 java 项目有一个文档化的算法来做你想做的事。特别是它在 geohash 区域(即极点和 -180/180 经度线)的边界处也能很好地工作。
保持geohashes的数量很小(1到5)以及大约10%的容忍度不会飞我害怕。只有 5 个 geohashes,许多矩形将在目标矩形面积的 600% 处被 geohashes 覆盖。事实上,对于下面的示例,进入该区域的 10% 需要 667 个哈希值!
这是从地理项目站点上的自述文件中获取的表格:
举一个简单的例子,一个边界框的比例更像是一个屏幕,角落是美国的 Schenectady 和 Hartford CT:
以下是不同散列长度的散列计数:
m 是总散列区域的平方度大小,a 是边界框的面积。
长度 numHashes m/a 1 1 1694 2 1 53 3 4 6.6 4 30 1.6 5 667 1.08 6 20227 1.02
所使用的算法是高效的,并且相关代码不依赖于其他工件,因此部署到支持 java(如 Android)的移动设备不会有问题。
归档时间: |
|
查看次数: |
7165 次 |
最近记录: |