【源GitHub仓库】 | 【Gitee镜像库】本文档中默认使用github.io部署的链接,如果无法访问,请直接下载仓库源码到本地然后双击打开html文件访问。
sql、shp、geojson);当前最新版本:2025.251231.260403版,更新于2026-04-03,整合了 国家地名信息库2025-12-31、腾讯地图行政区划2025-11-19、高德地图行政区划采集当天 数据。
2026-04-03更新说明:①数据源增加 国家地名信息库 数据。②重庆撤销江北区、渝北区,设立两江新区。③本次更新未包含新疆和田新设立的和康县、和安县(地名信息库已更新,但高德地图接口暂无此数据)。
| 文件名 | 大小 | 描述 | 下载地址 |
|---|---|---|---|
| ok_data_level3.csv |
ok_data_level4.csv
(在一个7z压缩包内)
|230KB
3MB
|【区划三级】省市区 三级行政区划 数据
【区划四级】省市区乡镇 四级行政区划 数据
- 支持在线预览,在线生成JSON、多级联动js代码
- 可用转换工具导入数据库、转成sql|线路一 / 线路二 ok_geo.csv.7z|13MB|【边界三级】省市区 坐标和边界 数据,解压后130M+
- 支持在线预览,可用转换工具转成shp、geojson、sql格式、转换坐标系
- 使用本库开源的高性能查询工具,1秒可查1万个以上坐标对应的城市信息|线路一 / 线路二 ok_geo4_*.csv [AD]|109MB|【边界四级】乡镇级 坐标和边界 数据,导出后300M+
- 付费数据、广告、闭源,支持在线预览,提供了部分免费数据供测试|线路一
如果上面线路一和线路二都无法下载:可以到 Gitee Releases 下载,或到 GitHub Releases 下载最新发布数据文件。
csv纯文本文件可以非常方便解析成其他格式;如果在使用csv文件过程中出现乱码、错乱等情况,需自行调对utf-8(带BOM)编码,文本限定符为
"。通过本库提供的 AreaCity-Geo格式转换工具 可快速方便的将行政区划、坐标、边界范围csv文件导入数据库,并且提供格式转换功能(shp、geojson、sql),欢迎下载使用。边界导出成geojson后可通过 AreaCity-Query-Geometry Java开源程序进行高性能的坐标数据、边界数据查询。
如需数据、功能定制,网站、App、小程序、前端后端开发等需求;矢量专题地图绘制、修改,前端地图、大屏、ECharts数据展示开发,后端数据处理、接口开发;请加本文档下面的QQ群,联系群主(即作者),谢谢~
由于仓库内的历史记录数据可能会很大,可以加上--depth 1提取最新版的数据即可。
//Gitee镜像仓库: 速度快
git clone --depth 1 https://gitee.com/xiangyuecn/AreaCity-JsSpider-StatsGov.git
//源GitHub仓库: 可能比较慢或无法访问
git clone --depth 1 https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov.git
每当仓库增长到一定大小后,本仓库将会进行存档处理,同时将历史记录中的大文件进行清理,这将导致一些文件之前的历史丢失,请到存档仓库查阅更早的历史记录; 2023年05月28日前历史存档:GitHub | Gitee 。
欢迎加QQ群:①群 484560085(满)、②群 626141661(满)、③群 346847528(满)、④群 514420754,纯小写口令:areacity

国家地名信息库:提供省市区镇四级数据,为乡镇级主要数据源,省市区三级辅助数据源。
腾讯地图行政区划:提供省市区镇四级数据,当前版本数据组成复杂,仅用来做辅助和验证用。
高德地图行政区域:提供省市区镇数据,实际采用前三级,更新比较频繁但具体时间未知;为主要数据源。
高德地图坐标和行政区域边界范围:当城市数据有变化时,主动从高德查询坐标和边界信息。
~~国家统计局 :统计用区划和城乡划分代码,此数据比较齐全但是比较杂,并且数据是一年一更可能会存在滞后,需额外移除和处理开发区、经济区、高新区、国家级新区等区域;统计局自2024年下半年起就不再公开统计用区划代码,改用国家地名信息库数据。~~
~~民政部 :行政区划代码,提供省市区三级数据,以前一月一更;民政部自2026年起不再公布行政区划代码相关信息,改用国家地名信息库数据。~~
此表为省市区镇三级、四级行政区划数据表,可在线测试预览(支持转成json、生成多级联动js代码),可使用 AreaCity-Geo格式转换工具软件 直接导入数据库。
| 字段 | 类型 | 描述 |
|---|---|---|
| id | int | 城市编号;主要为行政区划代码经过去除后缀的0{3,6,8,10}得到的短编号,港澳台编号为老版本民政部的编号;如果是添加的数据(国外),此编号为自定义编号;如果某级缺失(如:省直辖县级市、新增城市),会用上级数据进行补齐,编号为上级结尾添加0{2,3},注意如果要恢复长编号时(简单的补上00)已有的ID会和添加的ID产生冲突,比如4位恢复到6位将导致部分上下级ID冲突,恢复时这些新加的数据要进行特殊处理。 |
| pid | int | 上级ID |
| deep | int | 层级深度;0:省,1:市,2:区,3:镇 |
| name | string | 如:武汉,为数据源原始名称精简过后的短名称,和ext_name字段值的前半部分完全相同,如需完整名称请使用ext_name字段 |
| pinyin_prefix | string | 如:w、~1,为name的拼音前缀,取的是pinyin第一个字母a-z,或港澳台、国外自定义前缀~1、~4;用来排序时应当先根据拼音前缀的首字母来排序,相同的再根据前缀+名称进行排序 |
| pinyin | string | 如:wu han,为name的完整拼音 |
| ext_id | long | 数据源原始的编号;如果是添加的数据,此编号为0;此编号并非唯一,不可代替id使用,比如填充的数据将会和上级使用相同的编号 |
| ext_name | string | 如:武汉市,为数据源原始的完整名称,name字段值就是本字段删掉省市等后缀精简来的,如需完整名称请使用本字段 |
此表为坐标和行政区域边界范围数据表,可在线测试预览;此表含省市区三级不含第四级,如需乡镇级坐标边界数据请到此下载;因为数据文件过大(130M+),所以分开存储。
由于边界数据的解析比较复杂,请参考src/map_geo_格式化.js内的SQL Server的解析语句,或者使用 AreaCity-Geo格式转换工具软件 直接导入数据库,或者转换成shp、geojson、sql格式;本数据发布前会使用此转换工具软件转成shp到QGIS中、和导入数据库中进行校验分析,得益于高德地图数据的精良:所有图形均有效,上下级、邻接图形能保持拓扑关系,无间隙无重叠现象。
如果需要查询坐标对应的城市、查询城市或下级的边界数据,可下载 AreaCity-Query-Geometry Java开源程序进行高性能的查询,内存占用低(1秒可查1万个以上坐标对应的城市信息)。
| 字段 | 类型 | 描述 |
|---|---|---|
| id | int | 和ok_data_level*.csv表中的ID相同,通过这个ID关联到省市区具体数据,map_geo_格式化.js中有数据合并SQL语句 |
| pid | int | 上级ID |
| deep | int | 层级深度;0:省,1:市,2:区 |
| name | string | 如:罗湖区,城市完整名称 |
| ext_path | string | 如:广东省 深圳市 罗湖区,为省市区三级完整名称,中间用空格分隔 |
| geo | string | 城市中心坐标,高德地图GCJ-02火星坐标系。格式:"lng lat" or "EMPTY",少量的EMPTY(仅台湾的城市、国外)代表此城市没有抓取到坐标信息 |
| polygon | string | 行政区域边界,高德地图GCJ-02火星坐标系。格式:"lng lat,...;lng lat,..." or "EMPTY",少量的EMPTY(仅台湾的城市、国外)代表此城市没有抓取到边界信息;存在多个地块(如海岛、飞地)时用;分隔,每个地块的坐标点用,分隔(如果某个地块中需要抠除一个孔洞小地块会存在~分隔符,目前暂无),特别要注意:多个地块组合在一起可能是MULTIPOLYGON或者POLYGON,需用工具进行计算和对数据进行验证 |
本库会尽量和数据源的更新频率保持一致:会不定期检查高德地图行政区域数据是否存在变更;国家地名信息库、腾讯地图数据源有版本信息,当检测到新版本后会尽快同步更新。各个数据源均存在滞后性,第四级乡镇级主要由国家地名信息库提供,当和高德地图的省市区三级存在不一致时,会导致小部分新增、调整的城市第四级没有数据(会用上级数据补齐),使用前应该考虑此缺陷。
数据通过使用上级数据补齐的形式(具体细节请参考后面的数据规则),使得任何一个数据都能满足省市区镇4级结构,没有孤立的(ID全局唯一),因此不管从哪级进行下级选择,都能进行有效操作。可以通过ID结构来识别这种补齐填充的数据,只要ID为上级的ID+多个0,就代表此数据为补齐填充数据,比如:东莞(4419)-东莞(441900),很容易鉴别出441900为补齐用的填充数据。
会发生补齐行为的数据很少,约50来个(不含台湾),主要为:直筒子市(东莞、儋州等)、省直辖县级市(济源、潜江等),他们的下一级仅有补齐的这条数据。另外直辖市(北京、天津等)下级也仅有一条数据,ID结尾为01(不包括重庆,重庆下级分成了市、县两个)。
直筒子等这种为什么不直接把下级往上提一级来做区级,采用补齐填充的方式来对齐数据的原因,请参考issue#9。
数据中不包含大部分行政管理区,比如:雄安新区、天府新区、苏州工业园区等,请自行查阅和行政区划的区别。
在线测试工具地址:https://xiangyuecn.github.io/AreaCity-JsSpider-StatsGov/
此工具主要用于将ok_data_level*.csv四级行政区划数据文件转换成别的格式,另外提供省市区多级联动测试,并且可生成js源码(含数据)下载,3级联动生成的文件紧凑版68kb,4级联动紧凑版1mb大小。
行政区划数据在线转换+多级联动:

ECharts + 高德地图四级下钻:

AreaCity-Geo格式转换工具软件 用于将采集到的 ok_geo.csv 省市区乡镇坐标和边界范围文件转成其他格式,也支持将 ok_data_level*.csv 省市区镇行政区划数据导入数据库。
此软件
$ claude mcp add AreaCity-JsSpider-StatsGov \
-- python -m otcore.mcp_server <graph>