资讯动态

2025全国省份点位数据:shp与Excel格式的地图可视化实战指南

发布时间:2026/10/15 6:19:19 来源:尧图企业网站定制
做地图可视化的人手机里大概都存着好几份“全国省份点位数据”。所谓省份点位数据就是把全国每个省级行政区浓缩成一个经纬度点再配上省名、代码这类属性字段形成一份轻量级的空间数据。比起省界多边形它更轻、更好操作、出图也快是搞大屏、做报表、摆数据的万能起点。2025年这版很直接地给了两种交付格式shp格式和Excel格式一个喂给GIS做分析一个喂给代码做二次加工基本覆盖了从入门到上线的完整链路。这篇文章不打算逐行罗列坐标那没意思。我想结合这些年在GIS和数据处理里反复折腾的经验把这份数据究竟怎么用、格式之间怎么互转、加载报错怎么排、做项目时怎么避免被坐标系坑到完整拆一遍。不管你是刚开始碰地图的新手还是已经被各种坐标系折磨过的老手下面这些内容拿过去都能直接用。1. 这份数据到底解决什么问题1.1 省份点位数据的本质先搞清楚一个事点位数据是“点”图层不是“面”图层。每个省级行政区在图层里对应一个坐标点通常是省会城市坐标、省份几何质心或者人口重心。具体是哪种要看数据提供方在属性字段里怎么定义。我拿到任何一份点位数据第一件事就是看字段说明搞清楚这个点到底代表什么。为什么这个区别重要因为同样叫“省份点位”有的数据把点放在省会城市用于城市标注和业务落地有的数据用省份质心用于做等值线、区域聚合分析。坐标源不同出图效果和业务含义完全不一样。比如做物流网络图用省会点位就合理做人口分布密度模拟用人口重心更有说服力。2025年版这份数据如果同时给了shp和Excel通常意味着它想让你既能直接甩进GIS做空间可视化也能用Excel打开改改字段、做关联。这类数据最大的价值不是“全国有31个点”这个事实而是它帮你省掉了自己找坐标、挨个核对经纬度、统一字段命名这些脏活累活。自己从零攒一份全国点位表少说也要半天时间还得反复检查和去重。有了一份整理好的数据项目起步阶段直接跨过最琐碎的部分。1.2 为什么2025年版本值得关注很多人觉得省份点位数据是“一次买断终身使用”的东西其实不是。行政区划每年都可能有小调整比如新的区划代码、城市更名、某些特殊管理区的统计口径变化。一份标注2025年的数据至少说明它的行政区划代码、省份名称这些基础信息是按最新口径整理的。另外一个现实问题是时效性。老版本数据往往用的是旧坐标系、旧字段命名、旧的城市代码拿来做2025年的业务系统会非常难受。尤其是做政府项目、行业报告、招投标演示的时候评审方对“最新版”三个字极其敏感。我见过不少项目因为底图数据版本太旧演示现场被打回票。所以说2025年版这个标签本身就是数据权威性和时效性的第一道背书。还有一点这类数据通常不止坐标点本身还会附带省份代码、行政区划编码、简称、类型这些关联字段。字段齐不齐、命名规不规范直接决定了你能不能把它和业务表做连接。做数据分析的人都知道多表关联是家常便饭省份代码字段就是那个“主键”。有它在后面怎么join都不会慌。1.3 典型使用人群和使用场景从我的经验看以下几类人最缺这种数据前端地图可视化开发者。做ECharts大屏、Leaflet地图散点图需要一份全国城市或省份的坐标清单。点位数据丢给前端做geo坐标映射正好。业务数据分析师。需要把销售、用户、流量等数据按省份聚合然后画在地图上。Excel格式直接load进Python或BI工具特别顺手。GIS相关专业的学生和研究者。做课程作业、论文插图需要一个标准统一的底图点层做空间分析shp格式导入QGIS或者ArcGIS都很方便。做售前方案和招投标材料的人。方案里要画全国布局示意图有个现成点位图能快速出素材。我自己属于第一类和第二类的叠加态。跑业务数据的时候省份点图层就是“坐标系的地基”省界可以不画点位不能没有。如果你也经常干类似的活这份数据在你硬盘里的使用频率会非常高。2. shp与Excel两种格式的底层逻辑2.1 shapefile其实是一组文件不是单个文件很多新手拿到shp格式会愣住为什么解压出来是一堆文件这里先说清楚。shapefile是ESRI定义的一种矢量数据交换格式它天生就是“多文件组合”。最少也需要三个文件才能正常工作.shp存放几何信息也就是点、线、面的坐标几何。.shx形状索引文件负责快速定位几何记录的位置。.dbf属性表存放每个要素的属性字段比如省名、代码。.prj坐标系描述文件非常重要没有它系统就不知道你的点在哪个坐标参考系里。如果缺了.prjGIS软件只能猜测坐标系的含义叠加在线底图时十有八九会错位。所以你在解压shp文件后务必检查一下有没有这些同名但扩展名不同的兄弟文件。别只拷贝一个.shp走人否则拿到别人那里就是一堆乱码和错位。在坐标系上国内省级点位数据最常见的是WGS84坐标系EPSG:4326也就是GPS用的全球坐标系经纬度数值一般在73°E到135°E、3°N到54°N这个范围内。也有的数据会用CGCS2000EPSG:4490这是国内标准的国家大地坐标系。两种在大部分场景下差别不大但如果你要做高精度工程测绘或者接入地方规划数据就得分清楚。2.2 Excel点位表的结构设计Excel格式的好处显而易见能直接打开看、能改、能筛选还能及时转成JSON、CSV喂给各种程序。但Excel要当好一份空间数据表字段结构得有一定的规范性。我比较推荐的字段设计是字段名类型说明province文本省份全称code文本/整数行政区划代码short文本省份简称lng浮点经度小数至少保留6位lat浮点纬度小数至少保留6位type文本点位类型如省会、质心remark文本备注信息注意经纬度列名尽量不要用什么coord、xy这种模糊名字。用lng和lat最直白。字段名不要带空格和特殊符号否则后面用代码读取的时候很容易出幺蛾子。经纬度的精度也尽量保住小数点后5位约等于1米精度6位能到0.1米级别。做省级点位展示其实不需要这么高精度但保留足够位数能避免某些计算场景下的误差累积。Excel里另一个容易被忽视的问题经纬度列里混入了文本后缀。比如有人会把字段写成“116.4E”这种带方向的格式还有的人会带入不可见字符或者全角符号。这种数据一旦导入GIS程序会被当成字符串而不是数值轻则无法作图重则位置全乱。用之前先跑一遍数据清洗把非数字内容清干净。2.3 坐标系为什么点位会跑偏这是所有做地图的人最痛的一个点。简单说同一对经纬度在不同坐标系下画出来位置可能差几十米甚至几百米。国内网上常见的坐标系有三种WGS84EPSG:4326GPS原始坐标也是国际上通用的经纬度坐标系。GCJ-02火星坐标国内主流在线地图服务采用的坐标加偏体系WGS84坐标叠加它会偏移几百米。BD09百度坐标在GCJ-02基础上再一次加偏专门用于百度系产品。省份点位数据一般以WGS84或者CGCS2000为主。你要是把这批点直接叠到国内在线地图底图上可能看到点位均匀地偏到某个方向。这未必是数据错了很可能是坐标系没对齐。遇到这种情况先确认shp的.prj文件里写的EPSG编码再确认底图的坐标系然后在GIS里做一个坐标转换或者“实时投影”设置。绝大多数偏差问题都是这一步省出来的。3. 从Excel到地图一套可复用的实操流程3.1 拿到数据后的三步校验先说枯燥但必须做的工作校验。我不管从哪个渠道拿数据尤其是付费会员资源第一件事永远是用脚本或Excel先过一遍数据质量。具体就三步第一步检查行数和字段完整性。确认里面是不是包含了全部省级行政区数量是否和官方口径一致。这一步很重要——个别整理不全的数据会把某个直辖市漏掉直接导致出图缺块。第二步检查经纬度合法性。经度范围大致在73°E到135°E纬度范围大致在3°N到54°N。如果发现某个点的纬度是999或者经度变成了0那肯定有问题。写一行Excel公式或者Python判断就能筛出来不用靠肉眼。第三步抽查坐标准确性。随机挑三到五个点位通过在线地图或者行政区划代码表人工核实一下。重点看这两年有行政区划调整的省份确认点位有没有跟着迁移。这一步花不了十分钟但能避免后面整个项目白做。3.2 Excel转shp的三种姿势拿到Excel后最常见的需求就是转成shp喂给QGIS或者ArcGIS做分析。我试过很多办法最稳定的就那么几个。方法一QGIS导入后导出。QGIS里操作很简单图层菜单下添加文本数据图层选CSV或Excel文件在“几何坐标”区域指定X字段为经度、Y字段为纬度几何坐标系选EPSG:4326。加载成功后右键图层选择导出、要素另存为格式选ESRI Shapefile编码选UTF-8搞定。方法二ArcGIS的添加XY数据。表格通过“添加数据→添加XY数据”加载同样指定X、Y字段和坐标系然后右键生成的事件图层用数据导出功能转成shapefile。方法三Python脚本一步到位。如果你要批量处理多份表脚本效率最高import pandas as pd import geopandas as gpd from shapely.geometry import Point df pd.read_excel(省份点位数据.xlsx) # 自动去掉经纬度里的空值和非法字符 df df.dropna(subset[lng, lat]) df[lng] pd.to_numeric(df[lng], errorscoerce) df[lat] pd.to_numeric(df[lat], errorscoerce) df df.dropna(subset[lng, lat]) geometry [Point(xy) for xy in zip(df[lng], df[lat])] gdf gpd.GeoDataFrame(df, geometrygeometry, crsEPSG:4326) gdf.to_file(省份点位.shp, encodingutf-8) print(gdf.head())这段代码就是先读Excel再清洗掉非法坐标然后用geopandas构建点集合并写成shp。注意crs参数一定要指定不然生成的shp没有坐标参考后面谁知道你在哪。3.3 在QGIS里叠加显示和出图shp文件转好之后直接在QGIS里拖进去就能看到点层。这时候建议顺手加一个在线底图方便检查点位是否叠在了正确的省份位置上。QGIS自带了很多在线底图源选一个合适的web地图服务加进来。在线底图一般是Web墨卡托投影EPSG:3857而我们的点层是WGS84经纬度EPSG:4326。QGIS默认开启“即时CRS转换”所以通常能正确叠加。如果你发现坐标对不上先去右下角的投影状态确认当前图层的CRS。另外底图瓦片服务在加载大范围数据时会有网络延迟等它加载完再判断偏移问题别一看加载一半就急着改参数。出图的时候我习惯给点设置一个带白色描边的圆大小按业务需要调整。铭牌用省份简称不要放全称否则全国31个点挤在一起全是字。最后导出图片时选高分辨率做PPT和标书都够用。3.4 Python快速做地图聚合很多时候我们不只是要画点还要把业务数据跟点位关联后做聚合分析。比如你有全国各省的门店数量表想把每个数字标在地图上。这时候用Python处理就非常顺手import pandas as pd base pd.read_excel(省份点位数据.xlsx) biz pd.read_csv(门店数据.csv) merged base.merge(biz, left_oncode, right_on省份代码, howleft) merged[数值].fillna(0, inplaceTrue) # 排序后输出省份名和数值方便后续可视化 print(merged[[province, 数值]].head())核心就一个merge全省份代码当关联键。做这种表前务必先确认两份数据里的省份代码是否一致、有没有带前导0、有没有文本和数字混用。代码字段的一致性没检查merge出来的结果就是一堆空值到时候查半天也找不到原因。用Python做好的聚合结果还可以直接生成ECharts能认的数据格式const points rawData.map(function(item) { return { name: item.province, value: [Number(item.lng), Number(item.lat), Number(item.num)] }; });这个数组直接丢给ECharts的散点图或者地图地图series全国点位分布就能秒出图。注意ECharts的geo坐标系统默认按GCJ-02处理的比例尺如果发现和业务底图有偏移就手动指定geo的坐标系或者把坐标数据转换好。4. 高频问题与排查记录4.1 属性表中文乱码这个问题的出场率远超想象。打开shp文件的属性表省名全部变成“锟斤拷”或者一团问号根源就是.dbf属性表的字符编码和GIS软件默认读取编码不一致。老牌GIS软件默认按照系统区域设置读取中文Windows下容易按GBK解析而很多新版数据生成时用的是UTF-8。排查办法很简单。QGIS里加载shp文件时在“数据源编码”中选择正确的编码重新加载或者在导入后通过菜单设置图层编码为UTF-8或GBK再刷新属性表。如果还是乱码直接把dbf转成CSV用文本编辑器打开确认原始编码再用QGIS重新导入即可。做数据处理时我强烈建议统一用UTF-8。不能用Excel直接打开dbf然后另存为xlsx——Excel对dbf的编码支持比较坑容易二次污染。正确做法是用Python读dbf或者用QGIS导出CSV保持编码可控。4.2 点位整体漂移叠加底图偏出去几百米如果你把数据叠到国内在线地图底图上发现所有点都往同一个方向偏移了一小截十有八九是坐标系没对齐。最常见的组合是shp数据是WGS84但底图是GCJ-02加偏后的坐标系。处理思路是确认你到底要落在一个什么坐标系底图上。如果落在线底图而且平台方只提供加偏后的瓦片那你需要做坐标转换。Excel和shp里的WGS84经纬度在QGIS里用“变形”工具转成目标坐标系的经纬度再叠加。如果做的是内部系统底图可控就用WGS84统一到底不要混用。这个坑轻则点位偏移几百米重则全部点落到海里。每做一个项目先在数据说明里标注清楚坐标系再到软件里统一核对别指望在线底图会替你纠偏。4.3 数据加载后屏幕上什么都没有这种问题最容易让新手崩溃其实原因就那么几个。第一经纬度列名没被软件正确识别。QGIS里如果你没在导入时指定X和Y字段它不知道哪列是经度哪列是纬度自然画不出点。第二经度和纬度写反了。检查一下纬度是不是在30~50之间、经度是不是在100~120附近写反的话点就跑出国界甚至跑到海里去了。第三Excel列里面是字符串类型里面混了空格或制表符虽然看着是数字但程序按数字解析失败。第四缩放级别不对。数据是加载了但你停在全球缩放下看不到芝麻大点的点位直接右键图层选择“缩放至图层”就能看到。我处理这类问题一般先跑一个Python检查脚本把空值、非法值、重复值全打印出来再决定怎么清洗。手动在软件里反复点来点去效率太低了。4.4 会员专享数据的授权与备份最后说一个很多人忽略的点会员专享数据是有授权边界的。拿到这类数据你可以自由地用于自己项目里的分析、出图、二次开发但未经授权不要随意在公开渠道转发原始文件更不要拿它去二次售卖获利。这是基本的数据使用素养也是保护自己职业生涯的底线。我的习惯是拿到新数据先做一次哈希校验和备份然后在项目文档里记录数据来源、版本号、坐标系、获取日期、校验结果。以后项目复盘或者出问题时这些元信息能把“背锅”时间压缩到几分钟。很多人觉得这是麻烦但真正被数据问题坑过一次之后你会感谢当年自己留了这些记录。5. 关于这份数据我的一点使用心得我自己电脑里有个固定目录专门按年份存放各种地图数据包括省界、市界、乡镇点位、道路网格、POI点等等。每次拿到新数据都按“年份_类型_坐标系”的命名方式归档。2025年这份全国省份点位数据我拿回来之后第一件事就是跑一遍校验脚本然后把Excel转成shp再导一份JSON放在工作目录里备用。这样后面写前端页面、跑分析脚本、画专题图全部随取随用。还有个小技巧想分享别盲目相信“最新版”三个字。任何数据哪怕来源标注得再清楚我都会自己抽几个点用行政区划代码表做人工核对尤其是这两年内有过行政区划变更的省份多花十分钟检查一下定位。这个习惯让我少踩了很多次数据口径不一致的坑。你要是有自己的坐标库也建议按版本管理起来。这份数据本身不难难的是把它用得干净、用得稳。希望上面的这些流程和经验能帮你少走一些弯路。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑