java - 是否有任何现有的 Java 库允许您根据纬度/经度在内存中快速查找邮政编码(奖金、州和城市)?

标签 java latitude-longitude reverse-geocoding mkreversegeocoder

我见过许多各种语言的所谓“反向地理编码”库;所有这些都取决于通过 REST 或某种类似方法调用外部提供者。但是,如果您必须每秒处理数千个请求,则不能调用 REST 提供程序。

另一方面,问题应该很容易解决 - 基于 CSV 的数据库可以免费获得这些信息。问题是编写一个高效且经过良好测试的内存搜索实现与下载或购买现有的搜索实现相比需要花费时间和成本。

我找了很多遍都找不到,但我不敢相信不可能有。是否有任何预先编写的库可以做到这一点?

这个问题:

Fastest way to find the location(zip, city, state) given latitude/longitude

最接近,但本质上指出了如何编写解决方案,而不是说明有现成的东西。但是必须有一些图书馆每个人都为此使用。一天十几个人肯定有这个问题。

最佳答案

空间数据库(例如 Postgresql 和 PostGis)使用算法快速查找给定纬度/经度信息的数据。当您想使用 Java 库并将其保存在内存中时,您可以查看 H2 Spatial database .我从未使用过它,因此无法对其性能发表评论。

编辑:嗯,仔细查看我提供的链接表明这是一个计划中的功能......就我个人而言,我只是使用 Postgresql/PostGis(有或没有 Java 作为服务器前端)并完成它。如果您的服务器有足够的内存,它仍然符合“内存中”的要求。自然它不符合 Java 库的要求。但是有 JSI ,可用于内存和 Java。

关于java - 是否有任何现有的 Java 库允许您根据纬度/经度在内存中快速查找邮政编码(奖金、州和城市)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236259/

相关文章:

java - 显式等待 X 元素可见

delphi - Delphi的经纬度选择组件?

xcode - addressDictionary 已被弃用 首先在 iOS 11.0 中被弃用

php - 使用谷歌地图 API v3 反向地理编码检索国家和街道地址

Java - PHP 数字类型混淆 (9966006699)

java - 有没有Java概率库?

java - 检测连接到我的网络的设备

javascript - 如何在函数外重用 Javascript 变量

android - 无法使用 Google 的融合位置 API 获取位置

sql - 使用 BigQuery SQL 进行反向地理编码 : How to determine the city closest to a (lat, lon)?