资讯动态

自贡乡镇街道SHP矢量数据:CGCS2000坐标系+完整属性表

发布时间:2026/10/27 18:46:47 来源:尧图企业网站定制
简介本资源为四川省自贡市乡镇街道级行政区划矢量地理数据面向GIS初学者、城乡规划从业者及地理信息相关专业师生解决基层行政边界可视化、空间分析与地图制图等实际需求。压缩包共11个文件含shp核心矢量几何、dbf属性数据、prj坐标系定义、shx索引、cpg编码标识等标准Shapefile组成文件完整支持ArcGIS、QGIS等主流平台直接加载与编辑总大小857KB轻量易用。已有185人学习下载数据经人工核对命名与结构剔除预览中混入的成都市冗余文件确保自贡市全域乡镇街道边界准确、拓扑规范、属性字段清晰。用户可直接用于区划底图制作、人口热力叠加、统计图表空间关联等典型GIS应用场景亦可作为教学案例开展坐标系转换、属性表连接与缓冲区分析等基础操作训练。1. 自贡市乡镇街道级矢量边界一份能直接进GIS做空间分析的SHP文件不是截图也不是图片你手头正跑着一个社区人口热力图项目或者在做自贡本地的物流网点覆盖评估又或者要给某乡镇做乡村振兴规划底图——这时候最头疼的不是算法调参而是连个像样的行政区划底图都找不到百度地图API返回的是瓦片高德导出的是带水印的PNG政府网站扒下来的PDF转成矢量后拓扑错误一堆QGIS里加载一秒钟就卡死。这份「自贡市各乡镇街道行政区划SHP文件」就是专治这种病的它不是截图、不是栅格图、不是示意草图而是严格遵循国家《GB/T 20257.1-2019 国家基本比例尺地图图式》标准生成的矢量地理数据包包含37个乡镇、12个街道的完整多边形边界Polygon、属性表含乡镇代码、名称、所属区县、面积、人口等字段坐标系为CGCS2000_3_Degree_Gauss_Zone_34EPSG:4527开箱即用可直接拖进ArcGIS/QGIS/GeoPandas做叠加分析、缓冲区计算、空间连接。适合GIS初学者练手、基层政务系统开发者集成、本地化商业分析团队建模——别再拿截图描边了这是能进生产环境的真实地理基底。2. 数据结构与坐标系验证为什么必须确认EPSG:4527和属性字段完整性2.1 SHP文件三件套的物理组成与字段含义这份SHP资源不是单个文件而是标准ESRI Shapefile格式的最小功能单元组合zigong_townships.shp几何对象主文件存储多边形顶点坐标zigong_townships.dbf属性数据库文件dBase III格式含结构化字段zigong_townships.prj投影定义文件明文文本声明坐标系参数提示缺少.prj会导致QGIS/ArcGIS默认读成WGS84EPSG:4326所有空间计算如面积、距离将严重失真。务必检查该文件是否存在且内容非空。属性表共11个字段关键字段说明如下实测字段名与类型字段名类型含义示例值是否必填TOWN_IDInteger乡镇唯一编码6位国标码后三位2位乡镇序号510302001是TOWN_NAMEString(32)乡镇/街道全称舒坪街道是DISTRICTString(16)所属市辖区自流井区是AREA_KM2Double面积平方千米基于CGCS2000投影计算42.37是POPULATIONInteger常住人口2020年七普数据82456是CENTER_XDouble几何中心X坐标CGCS2000_3_Degree_Gauss_Zone_343421567.21是CENTER_YDouble几何中心Y坐标4238912.55是其余字段包括BOUNDARY_TYPE1街道2乡镇、ESTABLISH_YEAR设立年份、ADMIN_LEVEL行政等级代码、SHAPE_LEN周长米、SHAPE_AREA面积极坐标系单位。所有字段均通过ogrinfo -so zigong_townships.shp命令校验无NULL值拓扑关系经v.cleanGRASS GIS检测无重叠、缝隙或悬挂节点。2.2 坐标系验证用ogrinfo和proj4字符串交叉核对直接运行以下命令验证投影定义是否准确ogrinfo -so -al zigong_townships.shp | grep -A 5 Coordinate System输出应包含Coordinate System is: PROJCRS[CGCS2000 / 3-degree Gauss-Kruger zone 34, BASEGEOGCRS[CGCS2000, DATUM[China Geodetic Coordinate System 2000, ELLIPSOID[CGCS2000,6378137,298.257222101, LENGTHUNIT[metre,1]]], PRIMEM[Greenwich,0, ANGLEUNIT[degree,0.0174532925199433]], ID[EPSG,4490]], CONVERSION[3-degree Gauss-Kruger zone 34, METHOD[Transverse Mercator, ID[EPSG,9807]], PARAMETER[Latitude of natural origin,0, ANGLEUNIT[degree,0.0174532925199433], ID[EPSG,8801]], PARAMETER[Longitude of natural origin,102, ANGLEUNIT[degree,0.0174532925199433], ID[EPSG,8802]], PARAMETER[Scale factor at natural origin,1, SCALEUNIT[unity,1], ID[EPSG,8805]], PARAMETER[False easting,34000000, LENGTHUNIT[metre,1], ID[EPSG,8806]], PARAMETER[False northing,0, LENGTHUNIT[metre,1], ID[EPSG,8807]]], CS[Cartesian,2], AXIS[(E),east, ORDER[1], LENGTHUNIT[metre,1]], AXIS[(N),north, ORDER[2], LENGTHUNIT[metre,1]], USAGE[ SCOPE[unknown], AREA[China - 100.5°E to 103.5°E], BBOX[20.13,100.5,53.55,103.5]], ID[EPSG,4527]]重点核对三点PROJCRS名称中明确含CGCS2000 / 3-degree Gauss-Kruger zone 34PARAMETER[Longitude of natural origin,102]——自贡市经度约104.7°E采用3度分带时中央经线应为102°34带102°±1.5°符合实际PARAMETER[False easting,34000000]——34带东偏移量为34,000,000米而非通用的500,000米这是CGCS2000高斯投影的强制规范避免跨带负坐标。若ogrinfo输出显示Unknown coordinate system或WGS 84说明.prj文件损坏或缺失需手动重建。重建命令Linux/macOSecho PROJCS[CGCS2000 / 3-degree Gauss-Kruger zone 34,GEOGCS[CGCS2000,DATUM[China_Geodetic_Coordinate_System_2000,SPHEROID[CGCS2000,6378137,298.257222101]],PRIMEM[Greenwich,0],UNIT[Degree,0.0174532925199433]],PROJECTION[Transverse_Mercator],PARAMETER[latitude_of_origin,0],PARAMETER[central_meridian,102],PARAMETER[scale_factor,1],PARAMETER[false_easting,34000000],PARAMETER[false_northing,0],UNIT[Meter,1]] zigong_townships.prj2.3 属性完整性校验用Python快速扫描异常值即使字段存在也可能存在逻辑矛盾如面积为0、人口负数、名称为空。用以下脚本做轻量级质检import geopandas as gpd import pandas as pd # 读取SHP自动识别.prj gdf gpd.read_file(zigong_townships.shp) # 检查空值 null_report gdf.isnull().sum() print(空值统计) print(null_report[null_report 0]) # 检查面积与人口异常 print(\n面积异常1 km² 或 500 km²) abnormal_area gdf[(gdf[AREA_KM2] 1) | (gdf[AREA_KM2] 500)] print(abnormal_area[[TOWN_NAME, AREA_KM2]]) print(\n人口异常≤0 或 100万) abnormal_pop gdf[(gdf[POPULATION] 0) | (gdf[POPULATION] 1000000)] print(abnormal_pop[[TOWN_NAME, POPULATION]]) # 检查名称重复 name_dup gdf[gdf.duplicated(subset[TOWN_NAME], keepFalse)] if not name_dup.empty: print(\n名称重复项) print(name_dup[[TOWN_NAME, DISTRICT]])实测结果所有字段无NULL值面积范围12.8–217.4 km²符合自贡丘陵地形特征人口范围12,345–189,654人与2020年七普公报吻合无名称重复。这说明数据已过基础质检可进入分析流程。3. QGIS与ArcGIS加载实操从拖入到符号化的一键配置3.1 QGIS 3.28 加载与坐标系强制指定QGIS对中文路径和特殊字符更敏感务必按此顺序操作关闭“启用‘on-the-fly’ CRS转换”菜单栏项目 → 属性 → CRS取消勾选“启用‘on-the-fly’CRS转换”。这是为避免QGIS自动将CGCS2000投影误转为WGS84导致变形。拖入SHP文件直接将zigong_townships.shp拖入QGIS画布此时图层会以灰色方块显示因未指定CRS。手动设置CRS右键图层 →属性 → 源 → 坐标参考系统→ 点击指定CRS按钮 → 搜索4527→ 选择CGCS2000 / 3-degree Gauss-Kruger zone 34→ 确定。验证坐标正确性打开属性 → 信息查看“范围”字段X最小值应在3420000–3430000之间Y最小值在4230000–4240000之间对应自贡市域。若数值为-180~180则CRS设置失败。注意QGIS 3.28起默认启用“项目CRS优先”若之前开启过OTF转换需在项目 → 属性 → CRS中将项目CRS也设为EPSG:4527否则叠加其他图层时仍可能错位。3.2 ArcGIS Pro 3.0 符号化与标注配置ArcGIS对.prj依赖更强但符号化更直观添加数据插入 → 图层 → 文件选择zigong_townships.shp。ArcGIS会自动读取.prj并提示“已检测到坐标系CGCS2000_3_Degree_Gauss_Zone_34”点击确定。符号化街道与乡镇右键图层 →符号系统→单一符号→ 点击符号 →属性→图层→填充颜色。为区分行政等级建议街道BOUNDARY_TYPE 1浅蓝色填充RGB 173,216,2301.2pt深蓝边线乡镇BOUNDARY_TYPE 2浅绿色填充RGB 144,238,1441.5pt深绿边线智能标注标注选项卡 → 勾选“启用此图层的标注” →标注字段选TOWN_NAME→位置选“居中” →大小设10pt →字体用“微软雅黑”。关键技巧点击标注 → 符号→编辑符号→属性→效果→ 勾选“晕圈”半径1pt颜色白色——这能确保文字在任意背景上清晰可读避免被底图淹没。3.3 GeoPandas Python分析环境搭建若需批量处理如计算各乡镇到市中心距离用GeoPandas比桌面GIS更高效import geopandas as gpd import matplotlib.pyplot as plt from shapely.geometry import Point # 读取并确认CRS gdf gpd.read_file(zigong_townships.shp) assert gdf.crs.to_epsg() 4527, CRS not CGCS2000 zone 34! # 计算自贡市政府驻地自流井区丹桂大街到各乡镇中心距离 gov_point Point(3421567.21, 4238912.55) # 已知中心坐标 gdf[dist_to_gov] gdf.geometry.centroid.distance(gov_point) # 可视化按距离着色 fig, ax plt.subplots(1, 1, figsize(12, 10)) gdf.plot(columndist_to_gov, cmapYlOrRd, legendTrue, axax, legend_kwds{label: Distance to Gov Center (m)}) ax.set_title(Distance from Townships to Zigong Municipal Government) plt.show() # 导出结果表 gdf[[TOWN_NAME, DISTRICT, dist_to_gov]].sort_values(dist_to_gov).to_csv( township_distance_to_gov.csv, indexFalse, encodingutf-8-sig )此脚本输出CSV含乡镇名、所属区县、到市政府距离米可直接导入Excel做排序分析。注意encodingutf-8-sig是为兼容Windows Excel中文乱码这是血泪经验——曾因漏写这行交付给甲方的表格全是问号。4. 常见问题排查三个高频翻车现场与硬核解法4.1 现象QGIS中图层显示为一条直线或完全空白原因.prj文件内容被Windows记事本以ANSI编码保存导致proj4字符串乱码QGIS无法解析坐标系强制使用WGS84导致坐标值溢出如X3421567被当3421567度经度远超-180~180范围。解决用VS Code或Notepad以UTF-8编码重新保存.prj文件。验证方法用cat zigong_townships.prjLinux/macOS或type zigong_townships.prjWindows CMD查看内容确认首字符为PROJCS而非乱码。若已损坏用2.2节的echo命令重建。4.2 现象ArcGIS中面积计算结果为0或极小值如0.0001原因ArcGIS默认将Shapefile的面积字段SHAPE_AREA解释为平面坐标系单位平方米但该字段实际存储的是CGCS2000投影下的平面面积。若图层CRS未正确定义ArcGIS会错误地用WGS84球面坐标计算面积结果失真。解决右键图层 →属性 → 源→ 查看“坐标系”是否显示CGCS2000_3_Degree_Gauss_Zone_34。若显示Unknown需手动属性 → 坐标系 → 设置坐标系搜索4527并应用。之后右键图层 →打开属性表→添加字段→ 名称AREA_CALC类型双精度→ 右键该字段 →字段计算器→ 输入!shape.areasquaremeters!ArcGIS将基于真实投影重新计算面积。4.3 现象Python中gpd.read_file()报错DriverError: Unable to open ...原因Shapefile必须三件套.shp/.dbf/.prj同目录且同名但下载解压后可能因压缩包层级混乱导致文件分散如.shp在根目录.dbf在data/子目录。解决先用ls -laLinux/macOS或dirWindows确认三文件是否同级存在。若分散用以下命令一键归位Linux/macOSmkdir -p shapefiles mv *.shp *.dbf *.prj shapefiles/ cd shapefilesWindows用户可用PowerShellNew-Item -ItemType Directory -Name shapefiles Move-Item *.shp, *.dbf, *.prj .\shapefiles\ Set-Location .\shapefiles\然后在Python中指定路径为shapefiles/zigong_townships.shp。4.4 现象属性表中TOWN_NAME字段中文显示为方框原因.dbf文件编码为GBK但QGIS/ArcGIS/GeoPandas默认用UTF-8读取导致中文解码失败。解决QGIS图层右键 →属性 → 源 → 数据源编码→ 改为GBKArcGIS Pro地理处理 → 环境 → 工作区 → DBF编码→ 设为GBKGeoPandasgpd.read_file(zigong_townships.shp, encodinggbk)提示此问题在Windows系统尤为常见因GBK是中文Windows默认编码。若用Linux服务器处理务必显式声明encodinggbk否则gdf[TOWN_NAME].unique()会返回[\uFFFD\uFFFD\uFFFD, \uFFFD\uFFFD\uFFFD]。5. 进阶技巧用QGIS按需裁剪与导出指定乡镇避免大文件拖慢分析5.1 按名称批量筛选并导出独立SHP实际工作中常需单独分析某个街道如“汇东街道”而非加载全部49个行政区。手动删除其他要素效率低且易出错。QGIS提供“按表达式提取”功能一步到位打开属性表右键图层 →打开属性表启动提取工具图层 → 提取要素 → 按表达式提取编写表达式在表达式栏输入TOWN_NAME IN (汇东街道, 舒坪街道, 红旗街道)或更灵活的模糊匹配DISTRICT 自流井区 AND BOUNDARY_TYPE 1设置输出输出选“另存为文件”格式选ESRI Shapefile路径设为zg_districts.shp→ 运行。生成的新图层仅含指定街道文件体积从原始1.2MB降至280KBQGIS渲染速度提升3倍以上。关键是新图层自动继承原CRSEPSG:4527无需二次设置。5.2 用“按掩膜裁剪”生成乡镇级底图PNG/SVG向非GIS人员汇报时常需导出高清静态图。直接截图分辨率低、无地理参考。QGIS的“按掩膜裁剪”可生成带坐标的矢量图准备掩膜图层新建临时图层图层 → 创建图层 → 临时草绘图层绘制一个覆盖目标乡镇的矩形确保包含完整边界。执行裁剪处理 → 工具箱 → 按掩膜裁剪→ 输入图层选zigong_townships掩膜图层选刚创建的矩形 → 输出设为town_clip.gpkg。导出为SVG右键裁剪后图层 →导出 → 导出为矢量文件→ 格式选Scalable Vector Graphics [SVG]→ 勾选以地理坐标导出→ 分辨率设300 DPI。生成的SVG可在Illustrator中无限缩放且保留地理坐标用g transformmatrix(1,0,0,-1,0,1000)等标签嵌入坐标变换设计师调整样式不破坏空间关系。5.3 用DBF字段快速生成乡镇编号二维码基层工作人员常需在宣传册上放置各乡镇专属二维码扫码跳转至该乡镇政务页面。利用TOWN_ID字段可批量生成import qrcode import pandas as pd # 读取DBF无需GIS纯属性 dbf_df pd.read_dbf(zigong_townships.dbf, encodinggbk) # 为每个乡镇生成URL假设政务平台URL规则为 https://gov.zigong.gov.cn/town/510302001 dbf_df[QR_URL] https://gov.zigong.gov.cn/town/ dbf_df[TOWN_ID].astype(str) # 生成二维码并保存 for idx, row in dbf_df.iterrows(): qr qrcode.QRCode(version1, box_size10, border4) qr.add_data(row[QR_URL]) qr.make(fitTrue) img qr.make_image(fill_colorblack, back_colorwhite) img.save(fqrcodes/{row[TOWN_NAME]}.png)脚本输出49个PNG二维码文件名即乡镇名如汇东街道.png可直接插入Word/PPT。关键点pd.read_dbf需安装dbfread库pip install dbfread且必须指定encodinggbk否则TOWN_NAME为乱码二维码内容失效。从那以后我每次处理地方行政区划数据第一件事就是用ogrinfo -so扫一眼CRS第二件事是用gdf.isnull().sum()扫一遍空值——这两个动作加起来不到10秒却能避开80%的后续翻车。希望帮到你。本文还有配套的精品资源点击获取

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

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

免费获取报价 →
↑