简介:全国1:5万标准分幅矢量边界数据以SHP格式提供,覆盖全国范围,面向需要按经纬度分幅进行地理数据检索、裁剪或制图的GIS使用者,可直接应用于国土规划、测绘、资源调查、林业与环保等日常作业场景。整套资源共7个文件,压缩后仅1.1MB,其中shp为主文件、dbf存储属性信息、prj定义坐标系、sbn与sbx建立空间索引、xml记录元数据,导入ArcGIS、QGIS等平台后即可直接识别与加载使用。目前已有1486人浏览学习,受到GIS相关从业者关注。这些图幅由作者以自研工具制作,支持自定义坐标系及投影转换,读者可按地区直接挑选所需图幅,无需自行切割;作者另可分享其他比例尺数据,为需要批量分幅或统一投影的用户节省大量预处理时间,适合作为标准分幅管理基础数据。 有测绘和GIS相关工作的朋友,估计都遇到过这样的事:在网上找到一份名为“全国范围1:5万标准分幅.rar”的数据包,少则几个G,多则几十个G,下载下来一看,里面全是一堆类似“J50E001001.tif”这样的文件,打开软件还经常显示不对。很多人到这一步就卡住了,数据在手也不知道怎么用。这篇文章我就以这类rar包为例,把1:5万标准分幅图从解压、识别、加载到拼接的完整链路讲清楚,顺带把我踩过的坑都写出来,供大家参考。
先说清楚这套数据本身的价值。1:5万比例尺地形图是国家级基础测绘成果之一,精度高、覆盖范围广,在国土规划、林业调查、水利设计、野外踏勘底图甚至GIS教学里都是很常用的底图数据。而“标准分幅”是为了让全国数据有统一的编号规则和切割方式,简单说就是把中国地图按经纬度格子切成了几千块,每一块是一个独立的文件。能把这套文件处理好,后面做任何区域分析都方便得多。
1. 1:5万标准分幅到底是什么?
1.1 标准分幅的命名规则
先看文件名“J50E001001.tif”,这里面每个字符都不是随便写的。第一位是纬度带,从A到V排列,代表从赤道向北每4度一格,J代表北纬36度到40度之间。第二位和第三位是经度带数字,50代表东经114度到120度(计算方法是从西经180度起每6度一档)。第四位是比例尺代码,E表示1:5万,这是国家标准规定的比例尺代码表,1:100万是A,1:50万是B,1:25万是C,1:10万是D,1:5万是E,后面还有1:2.5万(F)、1:1万(G)等。
后六位数字是图幅的横纵序号。“001001”表示该图幅在对应1:100万图幅内的横向第1列、纵向第1行。那一个1:100万的图幅里能分出多少个1:5万图幅?1:100万经差6度、纬差4度,1:5万经差15分、纬差10分,计算下来每幅1:100万包含24列×24行,共576个1:5万图幅。这个编号规则现在也沿用在国家基础地理信息中心发布的公开数据上,学会了这个,以后看到文件名就知道它在什么位置,方便按区域筛选。
1.2 一个分幅覆盖的实际范围
1:5万地形图的图幅范围:经差15分,纬差10分。注意,经差和纬差不等于实际距离,因为地球是曲面,图幅经线越靠近两极越短,所以同一幅1:5万图在不同纬度的面积是不一样的。在北纬25度左右的图幅,东西约23公里,南北约18.5公里,面积大约430平方公里;到了北纬45度,东西距离大概缩到17公里,面积降到约315平方公里。
不过在实际使用中,我们一般只关心图幅编号对应的经纬度范围,不用手动算面积。ArcGIS、QGIS这类软件都有图幅编号转经纬度的工具,或者用在线经纬度查询也行。但理解面积差异有助于你估算数据量,比如处理东北地区时需要更多图幅,拼接时更需要注意性能。
1.3 这类数据的主要用途
我接触到的使用场景大概有四类:一是做区域制图底图,将1:5万地形图叠加自己的专题数据;二是作为野外调绘的工作底图,印出来拿在手里跑外业;三是用于地形分析,因为数据包含等高线或DEM,可以做坡度坡向分析,但栅格形式通常是扫描影像或图片,实际DEM数据另有来源;四是做GIS教学数据集,因为文件名和坐标都规范,非常适合练习图幅拼接和投影转换。
不过要注意,1:5万地形图本身内容非常丰富,包括居民地、道路、水系、植被、等高线、地名注记等,如果是公开的栅格版本,适合做背景底图;如果需要矢量的境界线、道路中心线,那就得去专门的平台下载基础地理数据,不是这份rar里能简单提取的。
2. 解开压缩包之前需要明白的事
2.1 压缩包里的常见文件结构
把rar解压开以后,除了tif文件,通常还会有.tfw、.prj、.aux.xml之类的文件。很多人会忽略这几个小文件,结果加载tif后位置总不对。.tfw是ArcGIS最早定义的“世界文件”,保存着影像的坐标信息,简单来说就是“这张图的左上角在哪、每个像素代表地面多少米”的规则,比如第1行和第4行通常是像素分辨率,第5、6行是左上角点的X、Y坐标。
.prj是投影文件,用WKT文本描述坐标系统,缺失的话软件就不知道数据的地理位置。.aux.xml是ArcGIS自动生成的辅助文件,里面记录了缩略图、色彩数据等。所以解压时尽量保持这些文件都在同一目录,不要只把tif复制出去,否则容易丢失坐标信息。
2.2 坐标系与投影:为什么放到软件里会“飞掉”
1:5万标准分幅图通常采用高斯-克吕格投影,分带方式有3度带和6度带。6度带每个带宽度为6度,带号从1到60,覆盖全球;3度带每个带宽度为3度,带号从1到120。中国范围大致覆盖6度带13~23带,3度带25~45带。栅格数据常见坐标系有北京54、西安80、CGCS2000三种,这就带来一个问题:如果文件的.prj缺失或错误,ArcGIS默认可能加载到WGS84坐标的位置,然后在接边时出现几百米的偏移。
我建议动手前先看tfw里第6行的Y值,如果Y值接近4000000左右,那很可能是带号选择问题,需要联合图幅编号判断是哪个带。如果Y值在40000000级别,说明带号已经写在坐标中。这部分是判断数据是否有效的关键,上一篇文章群里就有人因为坐标带搞错,拼接结果整个歪了。
2.3 环境准备:推荐软件
数据量小可以用ArcGIS Desktop(我用的是10.8)或ArcGIS Pro;免费方案推荐QGIS,3.x版本已经完全够用。另外一定要装GDAL命令行工具,用起来极其高效,批量处理几千个tif不是事。安装方式:如果装了QGIS,一般自带OSGeo4W Shell;或者单独下载OSGeo4W安装包。GDAL的gdalinfo命令可以查看一个tif的所有元信息,包括坐标、投影、像素深度、NoData值等,排查问题时非常有用。
3. 完整实操:从rar到能拼用的图层
3.1 解压与完整性校验
拿到“全国范围1:5万标准分幅.rar”这样的压缩包,建议先用WinRAR或7-Zip的测试功能检查一遍压缩包完整性。右键点击rar文件,选择“测试压缩包”,等待结果。如果发现某分卷损坏,重新下载对应分卷即可,不用全部重下。若压缩包是分卷形式,如“.part1.rar、.part2.rar”这种,必须保证所有分卷放在同一文件夹且命名完整,解压时会自动合并。
解压时我习惯用命令处理,可以避免图形界面卡死。Windows下装了WinRAR后,在cmd里执行:
C:\Program Files\WinRAR\UnRAR.exe x "全国范围1:5万标准分幅.rar" D:\data\注意x参数表示保留完整路径解压。如果文件很多,建议解压到独立文件夹,并预留足够的磁盘空间。这里有个常见问题:压缩包里有几千个tif,解压完发现磁盘空间不够临时在另一个盘解压,结果中途失败,整个文件不完整。建议先估算解压后大小,rar能看压缩率,一般35%左右,所以10G的rar解压后可能有28G,务必提前规划。
3.2 在ArcGIS中加载并正确定位
ArcGIS里直接拖入tif到内容列表,如果坐标正常,瞬间会显示到正确的位置。如果只显示一小块或位置不对,很可能是因为缺少投影定义(.prj文件缺失)。这时需要手动定义投影。
操作路径:ArcToolbox -> Data Management Tools -> Projections and Transformations -> Define Projection。选择tif文件,点击坐标系那一行右侧的图标,选“Select”:
- 如果是CGCS2000坐标系,展开Projected Coordinate Systems -> Gauss Kruger -> CGCS2000,然后根据图幅编号判断带号,选择对应3度带或6度带。
- 如果是西安80,展开Projected Coordinate Systems -> Gauss Kruger -> Xian 1980,选对应带。
这里我要特别提醒:Define Projection只是给数据“贴上”坐标标签,不会重新采样,不会改变像素值,所以是安全的。千万不要因为位置不对就顺手用“Project Raster”工具重投影,因为重投影会重采样,对后续分析精度有影响。先定义正确的原始坐标系,需要的话在最后统一输出时再做一次转换。
定义完成后,再加载该tif应该就能正常显示。如果还不行,可以用“Georeferencing”工具条手动纠正,但这种情况很少见,大多是坐标带选错。
3.3 在QGIS中加载与坐标系设置
QGIS的体验更友好,直接把tif拖进窗口即可。如果弹出“CRS错误/未知”的提示,或者在底图旁边憋着看不见,说明数据没有定义坐标系。此时右键图层 -> 图层属性 -> 源,在“图层空间参考系统”处点击“选择”,输入EPSG码或者按名称搜索,比如CGCS2000 / Gauss-Kruger zone 17是EPSG:4527(带号不同EPSG也不一样,建议根据实际带号对照查询)。设置后QGIS会自动将图层投影到项目坐标系显示。
在QGIS里我比较推荐临时用XYZ Tiles底图(例如Esri World Imagery)叠加,能快速检查数据位置是否正确。如果tif与底图重合良好,说明坐标没问题;如果差了很远,试着检查投影和tfw文件。
3.4 批量拼接全国范围数据的方法与注意事项
拼接是很多人的最终目的。全国范围的1:5万图幅可能有五六千张,直接用ArcGIS的Mosaic To New Raster工具,数据量大时容易卡死。我的做法是先做VRT虚拟拼接,再根据需要输出为tif。
在OSGeo4W Shell中,进入存放tif的文件夹,执行:
gdalbuildvrt all.vrt *.tif这一步非常快,因为是虚拟拼接,不会实际生成大文件。之后如果只需要某一区域,可以再加-cutline或者-te参数,例如:
gdal_translate -projwin 114 38 115 39 -of GTiff all.vrt subset.tif如果确实需要全图输出,再执行:
gdal_merge.py -o merged.tif -co COMPRESS=LZW *.tifgdal_merge.py会逐个读取,内存消耗较小,但时间较长。拼完全国数据常见问题是像元深度不一,比如部分图幅是8bit,部分可能是16bit,用gdalbuildvrt时加参数-vrtnodata 0或-r nearest统一处理。vrt文件中NodeData值的偏差会导致拼接后出现暗色斑点,建议先gdalinfo检查几个文件的NoData值。
4. 常见问题与排查技巧实录
4.1 图幅偏移/变形
这个问题绝大多数是带号选错或者中央经线不一致导致的。你可以打开tfw文件,看看第1、4行是否为0(不一定精确0),再看第5、6行坐标值。比如第5行是500000.xxx(带号在坐标里),表明是6度带且带号约等于500000的带号。如果第5行接近500000但第6行很小,那可能是因为坐标被“截断”成无带号形式,需要加带号。
排查时用gdalinfo不换行输出关键字段:
gdalinfo J50E001001.tif | findstr /i "Origin Pixel Size"输出Origin(原点坐标)和Pixel Size(像素尺寸)。1:5万扫描图的扫描分辨率和成图比例尺对应,常见地面分辨率在5米~10米。若像素尺寸异常,比如几千,说明可能不是原始栅格,而是矢量转栅格的结果,拼接时需额外注意。
4.2 加载后黑色背景遮挡
扫描地形图通常是RGB三波段,但部分区域没有数据会填充为0(黑色),叠在其他图层上面时,黑块会盖住底图。解决办法:在图层属性 -> 透明度中,设置“附加NoData值”为0,或将波段中RGB全部为0的显示成透明。QGIS里在图层渲染类型选择“单波段灰度”不对,得选“多波段彩色”,然后在无数据值中设置0。如果黑边不是纯0,有一点噪声,可用色带中的NoData设置,将最暗值设为透明。
4.3 解压报错“文件损坏”或提示需要密码
排查思路按照下面顺序:
- 确认下载文件字节数是否跟发布页一致,用工具检查MD5值。
- 若是分卷压缩,确认所有分卷在同一目录且没有改动,比如.part1.rar不能改成.rar。
- 如果在解压到一半报错,可以尝试关闭杀毒软件实时保护,有时会误拦截。
- 如果提示需要密码,优先寻找原发布者的正文里的密码说明。我见过好几份“全国范围1:5万标准分幅.rar”压缩包,密码就写在文件名或下载页说明中。不建议使用暴力破解工具,一是耗时,二是涉及版权和合规问题,安全性也堪忧。
4.4 大数据量性能优化
几千张tif同时加载必然是卡死的。解决办法分三层:
- 第一层:只加载需要的区域,用“筛选”方式,比如只需要河南省,就根据图幅编号前缀(比如I49、J49等)把文件筛选出来计算经纬度,再建VRT。
- 第二层:为每张tif建立金字塔。在ArcGIS中用“构建金字塔”工具,或者命令行:
gdaladdo -r average J50E001001.tif 2 4 8 16 32金字塔建好后,缩放浏览速度能提升几十倍。
- 第三层:合并后建立金字塔,并压缩为GeoTIFF。生成金字塔的代价是一次性的几十分钟,但换来的是后续流畅浏览,很值得。
5. 关于数据来源与合规使用
5.1 合法获取公开数据的途径
1:5万地形图属于基础测绘成果,公开获取需要符合国家相关管理规定。目前在网络上能下载到的一些“全国范围”数据包,很多流传已久,来源不明,建议谨慎对待,不要将其用于涉密项目或批量传播。正规渠道包括国家基础地理信息中心、各省测绘地理信息局资质单位、天地图公共服务平台等。部分图幅可能在天地图或其他公开地理信息服务平台开放下载,但通常需要注册审核,并且有水印或模糊化处理。
高校、科研机构可以通过签订保密协议和非商业用途承诺获得较为完整的数据。企业内部项目也可以向有测绘资质的单位采购或申请。一句话:网上那份rar可能让你练习处理流程,但正式成果一定要用合法授权的数据,否则面临严重合规风险。
5.2 使用过程中的标注规范
在项目图纸、报告或论文里使用1:5万标准分幅数据时,一般需要标注数据来源、坐标系、获取年份和图幅编号。常见格式是“数据来源:国家基础地理信息中心1:5万DLG”等。栅格影像还应注明投影参数。这样做既是学术规范,也是对自己成果的可追溯保护。
如果你只是做技术验证,建议拿小范围2-3幅图练手即可,不必一下子拼全国,因为区域大时,边界接边、色彩平衡、坐标统一都会冒出各种问题,先从两幅图开始理解接边原理是最高效的学习路径。
最后分享两个实操技巧
我在处理这类数据时,一般不会把所有tif直接拖进GIS。先用Python写个小脚本,根据要研究的经纬度范围,计算出覆盖的图幅编号,再生成一个文件清单,最后用清单去压缩包或目录中提取对应文件。这样既省空间又不卡,效率会高很多。具体算法就是第一章提到的分幅规则,把经纬度转成图幅编号,网上也有很多现成代码可以做。
还有一个经验:如果你只做栅格底图展示,不建议把全国几千个图幅拼成一个巨大的tif,因为后续任何改动都要重新生成,耗时长且占空间。更好的做法是保留分幅tif,每次按需做VRT,显示靠VRT,分析靠转换,既灵活又稳定。这套思路我用了很多年,处理大量分幅数据都没再翻过车,推荐你也试试。
本文还有配套的精品资源,点击获取