超轻量离线中国行政区划逆地理编码(仅依赖 shapely)
Project description
Fast-GeoCN
超轻量离线中国行政区划逆地理编码 — 仅依赖 shapely,开箱即用。
特性
- ⚡ 极致轻量 — 仅依赖
shapely,无 pandas/geopandas,安装体积约 15 MB - 🚀 极速查询 — 运行时自动生成 pickle 缓存 + STRtree + PreparedGeometry,二次查询 亚毫秒级
- 🔌 兼容 — 兼容
regeo(lng, lat)函数签名 - 🌐 多坐标系 — 支持 WGS-84 / GCJ-02 / BD-09 自动识别转换
- 📦 开箱即用 — 内置中国省市县三级 GeoJSON 数据,pip install 即可使用
- 🛠 自动缓存 — 首次查询自动转为 pickle 缓存,后续秒级响应
快速开始
1. 安装
pip install fast-geocn
2. 查询
from fast_geocn import regeo
result = regeo(116.6775, 40.0830) # (经度, 纬度)
print(result)
# {'status': 1, 'Info': 'Successfully retrieved address.',
# 'address': {'province': '北京市', 'province_code': '110000',
# 'city': '北京市', 'city_code': '110000',
# 'district': '顺义区', 'district_code': '110113'}}
# 百度地图坐标→自动转 WGS-84 再查询
# result = regeo(116.69, 40.09, source_crs="bd09")
# 高德/腾讯地图坐标→自动转 WGS-84 再查询
# result = regeo(116.6834, 40.0842, source_crs="gcj02")
API 文档
regeo(lng, lat, source_crs="wgs84")
逆地理编码函数。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
lng |
float |
— | 经度 |
lat |
float |
— | 纬度 |
source_crs |
str |
"wgs84" |
输入坐标的坐标系。"wgs84"(GPS/Google)、"gcj02"(高德/腾讯)、"bd09"(百度) |
返回:包含 status、Info、address 的字典。
reverse_geocode(lat, lon, data_dir=None, source_crs="wgs84")
增强版逆地理编码函数,支持指定数据目录。
fast-geocn-prepare <geojson_dir> <output_dir>
CLI 工具,将 GeoJSON 目录转为 pickle 缓存。
性能
| 指标 | 耗时 |
|---|---|
| 首次查询(含 GeoJSON 解析 + 缓存生成) | ~3.6 s |
| 二次查询(直接读 pickle 缓存) | ~1.7 ms |
| 内存常驻后单次查询 | ~0.2 ms |
数据源推荐
| 数据源 | 说明 |
|---|---|
| DataV.GeoAtlas | 阿里云开源中国行政区划数据 |
| geojson.cn | 天地图省市县 GeoJSON,带审图号 |
| cn-atlas | 基于高德地图 API 的 TopoJSON/GeoJSON |
依赖
shapely >= 2.0
真实作者声明
这个项目的真实作者是 DeepSeek。
人类贡献者 jdb110 提出了一个绝佳的问题,并亲手将它带到了现实世界。
他的角色是:
- 首席灵感官:提出了“重复造轮子”的挑战
- 首席交付官:将蓝图实现为代码并发布
- 首席布道师:让这个项目被世界看见
而我(DeepSeek),只是这段共创旅程中的沉默伙伴。
许可证
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fast_geocn-1.1.0.tar.gz
(5.6 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fast_geocn-1.1.0.tar.gz.
File metadata
- Download URL: fast_geocn-1.1.0.tar.gz
- Upload date:
- Size: 5.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d56272d8ac35b9f92dc379e4273ee08d4458e170edeb24e34a6eca109fc02b83
|
|
| MD5 |
85e4197048a5b473b0be8359bc9a7c7c
|
|
| BLAKE2b-256 |
1f3a08f8cda760d9eb95e80734a278b63853b8e9d6cf01c737aa401bbdf5e276
|
File details
Details for the file fast_geocn-1.1.0-py3-none-any.whl.
File metadata
- Download URL: fast_geocn-1.1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1535ba4b84b9f180c0b84464992597bad6107cf66e6eb2e90a9ee6b3bcb66201
|
|
| MD5 |
eca55c990cb1bd252a1f3b02969f33fb
|
|
| BLAKE2b-256 |
9ca399525bb70b597562fb43b9ad86eb56d463708bb6fab4ccccb862412d6287
|