#countries #mapping #provinces #longitudes #latitudes

bin+lib 定位器

从纬度和经度获取省份和国家

6 个版本

0.1.5 2023年7月4日
0.1.4 2023年7月4日

#182 in 地理空间

每月 33 次下载

MIT 许可证

23KB
340

定位器

从纬度和经度获取省份和国家。

安装

从源代码

您需要安装 Rust 以从源代码安装此程序。安装 Rust 后,安装过程非常简单

cargo install pinpointer

使用方法

作为库

该库的主要功能是 LabeledPartitionTree,它可以用于执行快速点区域查询。一个 LabeledPartitionTree 可以从标签到多边形的映射以及那些标签构建。

此库提供了一些辅助函数,以便轻松获取地图数据并构建标签树以执行点在国家内和点在省内的查询。请参阅示例文件夹,以获取下载数据、计算标签树以及最终执行数百万次点在国家内/点在省内的查找的完整代码示例。

演示服务器

您也可以通过运行安装后 pinpointer-server 命令,在端口 8000 上运行本地演示服务器。在启动时,服务器将下载国家和省份数据到 data 目录,并为两者计算深度 6 的标签树。服务器公开了两个端点,/lat_lon_to_country/lat_lon_to_province,它们分别接受 latlon 查询参数,并分别返回国家或省代码。如果 lat/lon 对不位于任何国家内,则端点返回 "-99"。

以下是向服务器发送的一些示例请求

curl http://localhost:8000/lat_lon_to_country?lat=10&lon=20
# TD
curl http://localhost:8000/lat_lon_to_province?lat=10&lon=20
# TD-SA

依赖关系

~17–30MB
~479K SLoC