2020全国村名点shp数据实战:解压、打开、转换与问题排查
2026/8/31 19:03:23 网站建设 项目流程

简介:本资源为2020年全国村级行政区划点位数据,面向GIS从业者、城乡规划研究者、地理信息专业师生及乡村振兴相关领域研究人员,用于支撑村庄空间分布分析、基层治理建模、公共服务设施选址等精细化地理决策。压缩包共6个标准Shapefile组成文件:shp(存储村庄点位坐标)、shx(索引文件)、dbf(含村名、所属乡镇/县区等属性字段)、prj(坐标系定义,WGS84)、xml(元数据说明)及ReadMe.txt(数据来源与字段解释),完整符合GIS软件直接加载规范,总大小59.26MB。已有2759人下载学习,可即开即用——导入ArcGIS/QGIS后即可生成全国村庄热力图、开展县域内村庄密度统计、批量提取某省全部行政村名录,或结合人口经济数据进行空间叠加分析,是开展农村地域研究与政策评估的权威基础底图资源。 做GIS的人,手里没有几个趁手的全国数据包,总感觉不踏实。前阵子整理硬盘,翻出一个老压缩包“2020年全国村名点数据shp文件.rar”,顺手解压用了一遍,把里面的村名点数据导进ArcGIS做了几张图。整个过程里既有“开箱即用”的爽快,也踩了几个老生常谈的坑,比如解压报错、shp文件打开后属性表乱码、坐标系对不上之类。今天把这套流程从头到尾捋一遍,包括数据包里有什么、怎么正确解压、ArcGIS/QGIS怎么打开、shp转CAD/TXT/3DTiles这些高频操作怎么做,以及常见问题怎么排查,整理成一篇能直接照着操作的实战笔记。

先给不熟悉的朋友说明一下:村名点数据,简单说就是全国范围内村庄级别的点状地名数据,每个点通常包含村名、所属乡镇/区县、行政区划代码等信息。2020年这个版本对应的时点是第七次全国人口普查前后,数据口径相对完整,很多做乡村研究、空间统计、地图制图的同学都拿它当底图参考。这个压缩包解压后是一整套shpfile文件,不是单个文件,这一点很多人第一次接触时容易懵,后面会详细讲。这份数据适合GIS初学者、规划行业从业者,以及需要快速获取全国村级点位做空间分析的研究人员。

1. 数据包内容拆解:rar里到底装了什么

1.1 解压前先搞懂shp文件的“一个点其实是一组文件”

很多人刚接触shp时都会问同一个问题:为什么解压后多出来好几个名字很像、后缀不同的文件?其实Shapefile(.shp)是Esri公司推出的一种矢量数据存储格式,它的核心特点是空间信息与属性信息分开存储,所以一个完整的“shp数据”必须具备以下基础文件:

  • .shp:几何信息主文件,存每个点的坐标
  • .shx:几何索引文件,相当于书签,告诉你每个点在哪
  • .dbf:属性表文件,存每个点的名称、代码等字段
  • .prj:投影坐标系文件,存坐标系定义
  • .cpg:属性表编码文件,告诉软件用哪种编码读dbf
  • .sbn / .sbx:空间索引文件,不强制,有了会加快检索

这个规则对村名点数据同样适用。所以你下载的rar里,解压出来应该能看到村名点.shp、村名点.shx、村名点.dbf、村名点.prj等一系列文件。这里千万注意:处理shp时,这几个文件必须放在同一个文件夹,并且文件名前缀完全一致,否则ArcGIS或QGIS会提示“找不到配套文件”或“打开失败”。我见过有人把.shp单独拷走,其他文件留在原文件夹,结果怎么都打不开,就是这个原因。

1.2 2020版村名点数据的常见字段与含义

解压后建议先用ArcCatalog或QGIS的浏览器看一眼属性表。我看到的2020年全国村名点数据,通常包含以下字段:

  • NAME / 村名:该点位的名称
  • STREET / 乡镇名:所属乡镇
  • COUNTY / 区县名:所属区县
  • CITY / 地市名:所属地级市(有的版本没有)
  • PROVINCE / 省份名:所属省
  • CODE / 行政区划代码:12位国标代码
  • X,Y坐标或POINT_X/Y:经纬度或投影坐标

这里有一个很实用的技巧:如果想做分级统计或者按省筛选,直接用PROVINCE字段做查询或按属性选择即可。比如只想看江苏的村名点,就打开属性表,点“按属性选择”,输入"PROVINCE" = '江苏省',一键搞定。

需要额外提醒:这个数据包的精度定位是“村名点”,不是行政村边界。每个村只是一个坐标点,这个点通常落在村委会办公地或村庄主聚落附近,不代表村庄的实际覆盖范围。做热力图、核密度分析、最近邻分析时可以用,但别提“计算出每个村面积”这种需求,数据不支持。

2. 解压与打开:从rar到arcgis的第一个坑

2.1 rar压缩包的正确解压姿势

rar格式本身不是shp的专利,但国内数据分享时特别爱用rar打包,因为这能保留文件结构,还能压缩省空间。解压时建议别用Windows系统自带的“全部解压”去处理rar,它对zip支持好,对rar支持一般。更稳妥的是装一个专门的工具:

  • WinRAR:老牌付费软件,但国内常见的是个人版,功能完整
  • 7-Zip:免费开源,支持解压rar,但注意它的zip压缩比一般,解压rar没问题
  • Bandizip:界面清爽,免费版够用

实际解压时,我通常会先右键rar文件,选择“解压到”到当前文件夹,而不是双击进去直接拖出.shp文件。因为rar里可能有多个文件嵌套或设置了分卷,直接双击拖拽容易丢文件。另外,解压后第一件事是检查文件数量是否完整,尤其确认.prj和.cpg是否存在。

2.2 ArcGIS打开shp的三种方式

这里给新手分一下场景。如果你用的是ArcMap或ArcGIS Pro,打开shp至少有三条路:

  • 方式一:打开ArcMap,在Catalog窗口找到shp文件所在文件夹,直接把.shp文件拖进地图窗口
  • 方式二:使用“添加数据”按钮,导航到shp文件所在位置,选中.shp添加
  • 方式三:Windows资源管理器里选中.shp,按住鼠标左键拖入ArcMap窗口

三条路效果一样,但方式三最容易遇到一个问题:拖进去之后图层显示不出来,或者只显示了一个点但全部集中在地图左下角。如果出现这种情况,多半是坐标系没定义对,或者.prj文件缺失,ArcGIS默认使用了未知坐标系。这时可以右键图层选择“属性”,看“源”选项卡里的空间参考,如果显示Unknown,需要给它赋一个坐标系。2020年全国村名点数据一般用的是GCS_WGS_1984或CGCS2000(地理坐标系),少数版本是Albers/UTM投影。判断方法很简单,看坐标值:如果X在73到135之间、Y在3到54之间,基本就是经纬度坐标;如果X/Y是几百万级别的大数,就是投影坐标。

2.3 备用方案:QGIS和GlobalMapper也能打开

ArcGIS不是唯一的打开工具。如果你电脑上没装ArcGIS,或者只想快速看一眼,用QGIS也完全可以。QGIS是免费的,直接从“图层”菜单选择“添加矢量图层”就能加载shp。还有一款轻量级软件GlobalMapper,加载shp速度快,还能批量转换坐标和格式,我经常用它做数据快查。注意开源的QGIS对中文编码处理比ArcGIS更灵活,但前提是图层属性里的“数据源编码”要设置成UTF-8或者GBK,否则属性表里的村名一样会乱码。

3. shp格式核心细节:坐标、编码和属性表

3.1 cpg文件缺失会导致什么

热词里有人问“shp文件导出的时候没有cpg文件是怎么回事”。这个cpg文件是dbf属性表的代码页标识,它告诉GIS软件dbf里的字符串用什么编码存储(常见的是UTF-8、GBK、GB2312)。没有cpg,ArcGIS默认可能按系统区域设置读取,如果是英文系统,直接中文乱码;中文系统默认GBK,但很多网上下载的数据实际存的是UTF-8,也会乱码。解决办法有几个:

  • 临时方案:用Excel打开.dbf文件(注意先备份),另存为时改编码,但会破坏空间数据关联,不建议
  • 推荐方案:在ArcGIS里右键图层,属性 → 字段/源选项卡,手动设置编码,但ArcGIS这个功能在部分版本里不好用
  • 最稳妥:直接用记事本或Notepad++新建一个纯文本文件,命名为“和shp同名.cpg”,内容填“UTF-8”或“GBK”保存,然后重新加载shp

如果手头工具齐全,我更推荐用QGIS打开,在加载shp时会明确提示“未知编码”,这时可以选择GBK或UTF-8逐个试,很容易找到正确编码。记住,村名点数据绝大多数是UTF-8,因为2020年的数据处理很多是从JSON或CSV转过来的,习惯性用UTF-8存储。

3.2 坐标系为什么要反复确认

全国村名点数据的坐标系,我用过的几个版本有三种情况:WGS84地理坐标系、CGCS2000地理坐标系、Albers等积投影坐标系。它们之间不能直接叠加,否则点位会漂移几公里甚至几十公里。解决思路是:先判断数据里.prj文件写了什么,然后用ArcToolbox里的“投影”工具转换到目标坐标系。如果只是简单显示,ArcMap会自动“动态投影”,不影响看图;但如果要做面积计算、测量距离、叠加分析,建议统一投影到适合当地的投影坐标系,比如CGCS2000_3_Degree_GK_CM_120E这类,或者全国级别的Lambert/UTM。

3.3 属性表打不开或显示“未初始化”怎么办

有时双击点图层没反应,或者打开属性表报错“未初始化”。多数原因是.shp和.dbf版本不兼容,或者文件损坏。先用ArcToolbox的“修复几何”工具跑一遍,能解决大部分损坏问题。如果还不行,检查一下是否有杀毒软件锁定了.dbf文件,或者文件路径里有没有中文/特殊符号。强列建议:所有GIS文件的存放路径不要出现中文,比如把“D:\数据\2020全国村名点\”改成“D:\data\2020cun\”,很多莫名其妙的问题会立刻消失。

4. 实操:村名点shp的高频转换与处理

4.1 从shp转到CAD(常见需求)

规划、建筑行业的朋友经常要把村名点shp导入AutoCAD,因为CAD里没有地图数据。转CAD有两种思路:

  • 思路一:在ArcGIS里右键图层 → 数据 → 导出至CAD,格式选DXF/DWG,字段可选,坐标会直接写入CAD中
  • 思路二:使用“Export to CAD”工具,位置:ArcToolbox → 转换工具 → 转为CAD → 导出为CAD

导出的CAD文件通常打开后点不显示,原因是CAD里点的样式默认为小点,而你拉的视口比例太大。解决办法是在CAD中输入PDMODE,设置点样式为3或35,然后用RE重生成。还有,如果村里地图坐标是经纬度,CAD中打开可能是极小范围,因为CAD默认按毫米或英寸理解单位。建议在ArcGIS先把数据投影成米制坐标系(比如高斯克吕格投影或UTM),再导出CAD。

多个shp批量转CAD的场景也常见。我一般用ArcGIS Pro的“地理处理”批量功能,或者用FME,免费可以试试用QGIS的“MMQGIS”插件或“批量导出CAD”脚本。纯手工逐个导出也不是不行,但100个县的数据逐个操作会想哭。

4.2 shp转TXT:提取村名点坐标报表

有时候用户只要一个村庄名和坐标列表,不需要GIS软件,那可以把shp转成txt或CSV。在ArcGIS中可以用“工具 → 属性表 → 表选项 → 导出”,保存为文本文件或dBase表。但更灵活的是用ArcMap的“添加XY坐标”功能和“表转Excel”工具。如果不下ArcGIS,直接用QGIS,右键图层 → 导出 → 要素另存为,格式选择“CSV”,编码选UTF-8。这样导出的CSV在Excel里打开,一般包含X、Y坐标字段。

坐标字段默认可能是经纬度,也可能是投影坐标。如果你需要度分秒格式,在ArcGIS中可以用字段计算器写Python方法转换坐标格式,或者直接在导出时选择“WKT”格式,里面直接包含所有坐标和属性。

热词里“shp转txt”还有一种场景是,为了给某个工具或设备用,只需要纯坐标。这时候可以用Notepad++打开dbf文件?不对,dbf是二进制。建议在QGIS中利用“导出要素”选格式为“CSV”后,再用Excel另存为“文本(制表符分隔)(*.txt)”。这样最快。

4.3 渔网分割shp:把村名点按格网切分

“渔网分割shp”这个需求,通常是想把大范围点数据按一定格网范围分成多个文件,或者把点分配到各个格网中。ArcGIS里做法是:

  1. 使用“创建渔网”工具(ArcToolbox → 数据管理工具 → 样本 → 创建渔网),输入范围、像元宽度/高度,生成一个格网面数据
  2. 使用“空间连接”或“标识”工具,把村名点与渔网面关联,得到每个点所在的格网编号
  3. 按格网编号用“按属性分割”工具(ArcToolbox → 分析工具 → 提取 → 分割)把点数据分割成多个shp

这样切分后的数据适合分块出图,或者分块做统计分析。注意:创建渔网时的坐标系必须与原始点数据一致,否则格网不对位。

4.4 shp转3DTiles:这波操作为了三维场景

最近很多人问“shp转3dtiles”,因为Web三维GIS(例如用Cesium框架)需要3DTiles格式的数据。村名点这种点数据也能转3DTiles,但直接在Cesium里展示点的标签,常用方式是先转GeoJSON,再用工具转b3dm或3dtiles。这里介绍一个我实测过的流程:

  1. 用QGIS打开shp,右键导出为GeoJSON(编码UTF-8)
  2. 用命令行工具或桌面工具,例如使用编译好的CesiumGS/3d-tiles-tools,或者用cesiumlab把GeoJSON转成3DTiles
  3. 将生成的tileset.json放到服务器或静态目录,在Cesium中加载

但有一点要理解:3DTiles是为倾斜摄影、建筑模型这类大模型设计的,点状数据用3DTiles不一定比直接加载Geojson快。如果你的村名点只有几万个,直接在前端读取GeoJSON并聚类显示,反而更灵活。所以别盲目追求转格式,先想清楚应用场景。如果你确实要发布一个大区域服务,建议用超图或ArcGIS Enterprise发布要素服务,再在Cesium中加载,比转3dtiles简单得多。

4.5 批量把多个shp转为CAD的自动化思路

热词里有人问“批量把多个shp转为cad”,这在规划项目里经常遇到。ArcGIS虽然支持单个导出,但批量还是要借助脚本。一个简单可行的方案是用Python(ArcPy)脚本:

import arcpy import os # 设置工作空间 arcpy.env.workspace = r"D:\shp_files" out_path = r"D:\cad_output" cad_type = "DWG_R2018" # 遍历所有shp for shp in arcpy.ListFiles("*.shp"): out_name = os.path.splitext(shp)[0] + ".dwg" out_file = os.path.join(out_path, out_name) arcpy.ExportCAD_conversion(shp, cad_type, out_file, "MULTIPLE_FILES") print("done")

如果你不用ArcPy,用QGIS的Processing框架也可以写批处理,或者用FME做。不过这种事频率不高,做个简单循环就够了。

4.6 文件的“拆分”与“合并”

有人问“arcgispro怎么把shp拆分”,拆分的本质是按字段内容把一个shp分成多个。方法是用“按属性分割”工具,输入字段比如“PROVINCE”,就可以一次性把全国村名点按省拆成34个shp。ArcGIS Pro里同样有这个工具,位置在“分析工具 → 提取 → 分割”。需要注意:输出空间需要提前准备好,工具不会自动建文件夹,但会把每个类别输出到同一个文件夹,文件名带字段值。

反向操作是合并多个shp到同一个文件,用“合并”工具(合并同名同类要素),ArcGIS Pro里是“合并要素”。批量导入时,如果属性字段不一致,合并后会出现很多空字段,尽量避免。

5. 常见问题与排查技巧实录

5.1 解压类问题速查

现象可能原因解决办法
解压时提示“压缩包损坏”网络下载不完整;rar本身被损坏重新下载;用WinRAR自带的“修复”功能;检查分卷命名是否连续
解压需要密码发布者设置了密码阅读README或说明文档;如果忘了密码,可以试试常见的“www”或“123456”(成功率不高),但不要依赖破解工具(安全性问题)
文件太大,解压中途报错磁盘格式为FAT32,单文件超过4G;磁盘空间不足把存储盘转为NTFS;清理磁盘空间
rar分包压缩文件怎么解压分卷rar如part1.rar、part2.rar把所有分卷放在同一文件夹,双击part1.rar解压;不要单独解压后面的分卷

5.2 打开shp时常见报错

报错提示原因排查方向
无法添加数据缺少.shx或.dbf;路径有中文补齐配套文件;把数据放到纯英文路径
属性表打开乱码缺少.cpg或编码不匹配新建.cpg,内容写UTF-8;用QGIS强制指定编码
图层上只显示一个点坐标数据为空;坐标系错误检查XY字段是否有值;检查.prj
几何“Shape Integrity”报错shp文件损坏运行“修复几何”工具

5.3 大文件处理心得

全国村名点数据量比较大,尤其在全国范围内,点数量可能达到几十万条,在ArcGIS中缩放、选择属性会有点卡。优化技巧:

  • 给.shp建空间索引:ArcToolbox → 数据管理工具 → 索引 → 添加空间索引
  • 关闭“图层属性 → 显示 → 比例范围”,避免缩放时重绘
  • 把数据转为File Geodatabase要素类,读取效率明显高于shp
  • 如果做复杂空间分析,建议先用“符号系统 → 唯一值”只显示需要字段,别加载全部属性

5.4 关于坐标偏差

很多人拿到村名点数据后,叠加自己手里的底图发现点位偏了几百米。这是因为不同来源的底图坐标系不同,有的用WGS84,有的用GCJ02(国内火星坐标),还有高德地图用的是GCJ02墨卡托。shp文件里村名点一般是WGS84或CGCS2000,叠加互联网在线底图时会有偏移。处理方法是:如果是Web墨卡托底图,先保证数据是WGS84地理坐标系,然后在前端用数据投影转Web墨卡托;如果底图是火星坐标,需要用坐标纠偏算法(网上有公开代码)转换,但这是另一个话题。这里只提醒一句:不要直接用WGS84村名点叠加高德/腾讯地图,否则点位偏到邻居村去了

6. 实操体验与后续扩展建议

我实际用这批村名点数据做过一张全国乡村人口密度示意图,因为有“人口字段”的版本很少,所以加上了从统计年鉴整理的乡镇边界数据,再通过空间连接把村名点归属到网格里,最后渲染出核密度图。整个过程走下来,最耗时间的环节不是数据分析,而是前期的数据清洗和文件整理——比如把省份名称标准化、给缺失坐标的点补位、处理重复点。

如果你也想拿这份数据做点东西,几个值得尝试的方向:

  • 村名点与POI热度叠加分析,可以做乡村公共服务覆盖研究
  • 按省级行政区划拆分后发给不同需求方,比发全国文件更高效
  • 结合路网数据计算村庄到最近高速口的时间距离
  • 把村名点转成GeoJSON后用Leaflet或MapLibre做轻量级Web地图展示

最后分享一个实用小技巧:当你需要把shp文件发给别人演示,但不想让对方修改数据,可以在ArcGIS中导出mxd时勾选“将文档打包”,或者直接用“图层包”功能。这样对方拿到手只要双击就能打开地图,不用再手动添加shp。

这份“2020年全国村名点数据shp文件.rar”虽不是什么稀缺资源,但只要处理得当,很多项目里能派上大用场。希望这篇笔记能帮你绕开我走过的弯路,把时间花在更值得的分析上。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询