geohash java github_geohash

1、简介:

GeoHash是一种地址编码方法。他能够把二维的空间经纬度数据编码成一个字符串

2、实现:

网上相关原理介绍很多,不赘述,简单介绍下使用。

其中geohash的编码长度对应表如下:

2b0ba7e46412

image.png

测试代码:

// 纬度坐标 wt3mf9qu

double lat = 30.549608;

// 经度坐标 (30.549631118774414,114.37711715698242)

double lon = 114.376972;

// Geohash编码字符的长度(最大为12)

int precision = 3;

GeoHash geoHash = GeoHash.withCharacterPrecision(lat, lon, precision);

//中心点坐标

WGS84Point boundingBoxCenter = geoHash.getBoundingBoxCenter();

System.out.println(boundingBoxCenter);

//东西南北坐标

BoundingBox boundingBox = geoHash.getBoundingBox();

System.out.println(boundingBox);

String binaryCode = geoHash.toBinaryString(); // 使用给定的经纬度坐标生成的二进制编码

System.out.println("经纬度坐标: (" + lat + ", " + lon + ")");

System.out.println("二进制编码:" + binaryCode);

String hashCode = geoHash.toBase32(); // 使用给定的经纬度坐标生成的Geohash字符编码

System.out.println("Geohash编码:" + hashCode);

前端代码比较简单,就不在赘述了,

思路:根据测试代码中获取到的东西南北坐标和中心点坐标,前端传入坐标调用接口获取,然后画图即可

功能很简单,如下图:

2b0ba7e46412

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值