关于什么是Geohash可以参考这篇文章Java实现空间索引编码(GeoHash),个人觉得写得不错。

Github上有一个Geohash的开源库geohash-java,这篇文章主要通过一个示例说说geohash-java这个库怎么用。
好了,开门,放代码!

package cn.tzy.geohash;import java.util.ArrayList;
import java.util.List;import ch.hsr.geohash.GeoHash;public class GeoHashEx {public static void main(String[] args) {double lat = 30.549608; // 纬度坐标double lon = 114.376971; // 经度坐标int precision = 8; // Geohash编码字符的长度(最大为12)GeoHash geoHash = GeoHash.withCharacterPrecision(lat, lon, precision);String binaryCode = geoHash.toBinaryString(); // 使用给定的经纬度坐标生成的二进制编码System.out.println("经纬度坐标: (" + lat + ", " + lon + ")");System.out.println("二进制编码:" + binaryCode);String hashCode = geoHash.toBase32(); // 使用给定的经纬度坐标生成的Geohash字符编码System.out.println("Geohash编码:" + hashCode);// 从二进制的编码中分离出经度和纬度分别对应的二进制编码char[] binaryCodes = binaryCode.toCharArray();List<Character> latCodes = new ArrayList<Character>();List<Character> lonCodes = new ArrayList<Character>();for (int i = 0; i < binaryCodes.length; i++) {if (i % 2 == 0) {lonCodes.add(binaryCodes[i]);} else {latCodes.add(binaryCodes[i]);}}StringBuilder latCode = new StringBuilder(); // 纬度对应的二进制编码StringBuilder lonCode = new StringBuilder(); // 经度对应的二进制编码for (Character ch : latCodes) {latCode.append(ch);}for (Character ch : lonCodes) {lonCode.append(ch);}System.out.println("纬度二进制编码:" + latCode.toString());System.out.println("经度二进制编码:" + lonCode.toString());}
}

输出结果:

经纬度坐标: (30.549608, 114.376971)
二进制编码:1110011001000111001101110010011011011010
Geohash编码:wt3mf9qu
纬度二进制编码:10101011011100101100
经度二进制编码:11010001010101011011

Geohash第三方库示例相关推荐

  1. conan入门(五):conan 交叉编译引用第三方库示例

    conan 交叉编译引用第三方库示例 Conan 是 C 和 C++ 语言的依赖项和包管理器.它是免费和开源的,适用于所有平台(Windows.Linux.OSX.FreeBSD.Solaris 等) ...

  2. conan入门(二十):封装只包含头文件(header_only)的库示例

    conan: 封装只包含头文件(header_only)的库示例 有的C/C++项目只包含头文件,不需要编译,对于这种情况如何封装为Conan的包呢? Conan官方文档 <Package sc ...

  3. python如何离线安装第三方库_Python在线和离线安装第三方库的方法

    Python在线和离线安装第三方库的方法 Windows环境: (1)离线安装 首先在线搜索并下载你需要的第三方库:网址https://pypi.org/project/ 安装whl包: pip in ...

  4. python读取excel-Python中使用第三方库xlrd来读取Excel示例

    本篇文章介绍如何使用xlrd来读取Excel表格中的内容,xlrd是第三方库,所以在使用前我们需要安装xlrd.另外我们一般会使用xlwt来写Excel,所以下一篇文章我们会来介绍如何使用xlwt来写 ...

  5. python的excell库_Python中使用第三方库xlrd来写入Excel文件示例

    继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...

  6. python导入excel类库_Python中使用第三方库xlutils来追加写入Excel文件示例

    Python中使用第三方库xlutils来追加写入Excel文件示例 目前还没有更好的方法来追写Excel,lorinnn在网上搜索到以及之后用到的方法就是使用第三方库xlutils来实现了这个功能, ...

  7. Lua快速入门篇(XLua教程)(Yanlz+热更新+xLua+配置+热补丁+第三方库+API+二次开发+常见问题+示例参考)

                            <Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探 ...

  8. Vite+Vue+iClient for Leaflet引入并实现MapV/Eharts第三方可视化库示例

    作者:gaogy 文章目录 背景 一.使用Vite构建Vue3+JavaScript项目 二.搭建iClient for Leaflet开发环境 三.第三方可视化库Echarts的使用 四.第三方可视 ...

  9. python怎样在已有excel文件指定行写入-Python中使用第三方库xlrd来写入Excel文件示例...

    继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...

最新文章

  1. 前端电脑和浏览器分辨率不同_不同岗位的程序员如何选电脑 :)
  2. 管理活动目录域服务实训_酒店管理专业开展酒店实训活动
  3. future.cancel不能关闭线程_多线程与高并发笔记
  4. 如何封装并发布一个属于自己的ui组件库
  5. 【渝粤教育】国家开放大学2018年秋季 2726T畜禽生产概论 参考试题
  6. 存储过程的参数可以使用sql的函数
  7. 【AI视野·今日Robot 机器人论文速览 第二期】Mon, 7 Jun 2021
  8. ubuntu 20.04 安装 微信最新方式
  9. Python爬取猫眼电影榜单评分,以及评论
  10. 51矩阵键盘数码管动态显示
  11. sap采购申请自动转采购订单_我的SAP运维日常_0021_MM_计划订单转采购申请时绑定凭证类型...
  12. Git 修改 commit author
  13. 设计数据库原则4个原则_四个设计原则
  14. 红葡萄酒质量影响因素分析
  15. Debian9.12镜像下载及网络、软件源配置
  16. 20个JS精简代码无形装逼集合,最为致命,记得收藏好
  17. E-puck机器人-小白学习笔记(二)代码浅解读
  18. C# 自制OCR获取图片中的电子数字
  19. web前端img命令
  20. 北方工业大学计算机学院院长,王景中(北方工业大学院长)_百度百科

热门文章

  1. MySQL基础系列之 记一次利用存储过程实现2600万数据水平分表
  2. halcon 将数据保存到excel_halcon保存数据到excel表格-怎样把图像里面的数据提取到excel表格里面去?...
  3. 多旋翼无人机技术发展浅析
  4. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月31日~11月6日)...
  5. 蚂蚁区块链第15课 JS SDK概述及API接口速查
  6. JAVA程序猿推荐看的15本书_错过了是你损失
  7. 短信网关通道对接及分流策略说明
  8. 解决 OneNote 项目符号快捷键 Ctrl+. 在 Windows 10 下无效问题
  9. 【Dlib人脸识别】1. Dlib人脸检测的基本原理
  10. 悟透Javascript(转载)