3 个步骤免费用上中国行政区划矢量地图:省市县四级 Shapefile 一次拿全

3 个步骤免费用上中国行政区划矢量地图:省市县四级 Shapefile 一次拿全

3 个步骤免费用上中国行政区划矢量地图:省市县四级 Shapefile 一次拿全

【免费下载链接】ChinaAdminDivisonSHP中国行政区划矢量图,ESRI Shapefile格式,共四级:国家、省/直辖市、市、区/县。关键字:中国行政区划图;中国地图;中国行政区;中国行政区地图;行政区地图;行政区;行政区划;地图;矢量数据;矢量地理数据;省级;直辖市;市级;区/县级;行政区划图。项目地址: https://gitcode.com/gh_mirrors/ch/ChinaAdminDivisonSHP

ChinaAdminDivisonSHP 是一个免费开源的中国行政区划矢量地图项目,把国家、省、市、区县四级行政边界整理成标准 ESRI Shapefile,克隆到本地就能直接打开。如果你正为"画地图没数据"发愁,这篇文章用一个从零出图的完整实战,带你 10 分钟跑通第一张省级地图。

周五晚上,一张图卡了两小时

小林周五晚上接了个急活:客户周一要一张全国省级分布图。图本身不难画,难的是数据。他在网上来回搜了快两个小时——清晰的多数要付费,免费的多缺边界;好不容易找到一个带区划的,坐标系又跟自己的业务数据对不上,底图一叠加就漂移几十公里。他差点想自己拿笔描一张。

直到同事甩过来一个仓库链接。ChinaAdminDivisonSHP,一套把国家、省、市、区县四级行政区划打包成标准 Shapefile 的矢量数据,clone 下来就能用。当晚的问题当场解决了一半。

三个让我眼前一亮的瞬间

第一个瞬间,是它的目录结构。仓库里1. Country2. Province3. City4. District四个文件夹一目了然,每个里面都是.shp.dbf.prj.shx.cpg五个标准配套文件。谁是谁、在哪一层,不用猜。

第二个瞬间,发生在 QGIS 里。打开数据源、选中province.shp,一张边界清晰的中国省级地图瞬间铺满屏幕。从"到处找数据"到"出一张图",中间只隔了一次双击。

![中国行政区划矢量地图省级边界效果](https://raw.gitcode.com/gh_mirrors/ch/ChinaAdminDivisonSHP/raw/398535de74baa19be2013d6e00a4c01d4491157d/5. Demo/Province.png?utm_source=gitcode_repo_files)

第三个瞬间,藏在属性表里。每个要素都带着六位 adcode 行政编码:110000 是北京,110101 是东城区。区县级的数据里能直接查到省、市、县三级编码,做下钻和聚合都不用再额外拼表。

一个实战:10 分钟从克隆到"北京区县图"

我拿它跑了个真实小任务:画一张北京市各区县的地图。整段路走完,不到十分钟。

第一步,克隆仓库。

git clone https://gitcode.com/gh_mirrors/ch/ChinaAdminDivisonSHP

第二步,进入对应层级目录。

cd "ChinaAdminDivisonSHP/2. Province"

⚠️ 小提醒:这一步最容易卡住。文件夹名带空格和点号,直接输入2. Province会报"目录不存在",加引号或按 Tab 自动补全都能解决。

第三步,读数据、出图。用 QGIS 就是"打开数据源 → 矢量"选中province.shp;想写代码,Python 加 geopandas 一行搞定:

import geopandas as gpd gpd.read_file("province.shp")

接下来筛北京。区县级数据里,pr_adcode前两位是省编码,"11" 对应北京,一句条件就能筛出全市的区县:

bj = gpd.read_file("district.shp") bj = bj[bj["pr_adcode"].str.startswith("11")]

💡 小提醒:adcode 的规则很好记——六位编码,前两位省、中间两位市、后两位区县。110101 就是东城区,想筛任何省份,把前两位换成对应编码即可。

属性表里那几列编码,就是数据的"血缘关系":一条区县记录同时带着省、市、县三级编码和名称,做关联和聚合几乎不需要额外操作。

![中国行政区划矢量地图区县级属性表与行政编码](https://raw.gitcode.com/gh_mirrors/ch/ChinaAdminDivisonSHP/raw/398535de74baa19be2013d6e00a4c01d4491157d/5. Demo/DistrictAttr.png?utm_source=gitcode_repo_files)

用之前 vs 用之后

用这套数据之前,我做一张省级图要走完"找数据 → 换格式 → 对坐标 → 补字段"四步,运气好也得折腾大半天;用之后,从克隆到筛出北京的区县只要十分钟出头。

  • 之前:数据源散在五六个网站,GeoJSON、KML、SVG 混着来,导入前还得先转换;
  • 之后:一个仓库四种层级,Shapefile 通吃 QGIS、ArcGIS、GeoServer、PostGIS,不存在"打不开"的问题。

⚠️ 还有两个坑值得提前记住。一是坐标系:项目基于 WGS84,实际带有 GCJ-02 火星坐标偏移,GPS 数据若是纯 WGS84,叠加前记得先做转换;二是.cpg编码文件别删,它声明了属性表的中文字符集,删掉后中文名称可能变乱码,五个配套文件最好原样保留。

周一早上,图交出去了

周一早上,小林把带着行政编码的省级分布图发给了客户,半小时后收到一句"效果不错,收到"。而他真正花在数据上的时间,只有周五晚上那一小段。

如果你的下一个项目也需要中国行政区划矢量地图,现在就可以动手:把仓库 clone 下来,从省级地图开始跑第一张图。十分钟后,你也会有属于自己的第一张,剩下的事,交给业务数据就好。

【免费下载链接】ChinaAdminDivisonSHP中国行政区划矢量图,ESRI Shapefile格式,共四级:国家、省/直辖市、市、区/县。关键字:中国行政区划图;中国地图;中国行政区;中国行政区地图;行政区地图;行政区;行政区划;地图;矢量数据;矢量地理数据;省级;直辖市;市级;区/县级;行政区划图。项目地址: https://gitcode.com/gh_mirrors/ch/ChinaAdminDivisonSHP

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考