首页  

geohash简介     所属分类 LBS 浏览量 1147
地球当做二维平面,网格化,每个网格在一定经纬度范围内拥有相同的编码

纬线  地球仪上的横线,lat,赤道是最大的纬线,从赤道开始分为北纬和南纬,都是0-90°,纬线是角度数值 
经线  地球仪上的竖线,lng,子午线为0°,分为西经和东经,都是0-180°,经线也是角度数值

经度或者纬度0.00001度,约等于1米
GPS精确到小数点后五位,大约10米精度

经度  Longitude 
纬度  Latitude

将经度和纬度看成二维坐标系中的两个纬度,横轴表示经度,纵轴表示纬度

不同的编码长度,表示不同的范围区间,字符串越长,表示的范围越精确
字符串相似的表示距离相近,可以利用字符串的前缀匹配来查询附近的POI信息

GeoHash就是一种将经纬度转换成字符串的方法,并且使得在大部分情况下,字符串前缀匹配越多的距离越近
Location Based Services,LBS
LBS   查看附近的人 附近的xx


com.github.davidmoten.geo.GeoHash.encodeHash(double, double, int)

public static String encodeHash(double latitude, double longitude, int length) {


The standard practical maximum length for geohashes.
public static final int MAX_HASH_LENGTH = 12;

geohash 测试代码  

https://gitee.com/dyyx/demos/blob/master/geodemo/src/main/java/dyyx/GeoHashTest.java


String[]geopoints = {
    "北京;116.23128;40.22077",
    "上海;121.48941;31.40527",
    "深圳;113.88308;22.55329",
    "杭州;120.21201;30.2084",
    "杭州海创园18号楼;120.0163370211792;30.27988902446744",
    "杭州海创园 5号楼;120.01818238098144;30.28281676146628"            
};
        
        

12位
北京    wx4sucvncnun
上海    wtw6st1uuqtu
深圳    ws0br3xnkjgp
杭州    wtm7z7r8wvgm
杭州海创园18号楼    wtmk7031pk7j
杭州海创园 5号楼    wtmk70fd4q5n

10位
北京    wx4sucvncn
上海    wtw6st1uuq
深圳    ws0br3xnkj
杭州    wtm7z7r8wv
杭州海创园18号楼    wtmk7031pk
杭州海创园 5号楼    wtmk70fd4q


其他的库 spatial4j

经纬度查询  https://jingweidu.bmcx.com/

上一篇     下一篇
基于netty的 简单 rpc 框架

dubbo 几个实用功能

Dubbo路由简介

根据经纬度计算距离

二叉树遍历

快慢指针的妙用