资讯详情

资讯详情

黄土高原GIS数据包:mxd+shape+TIF底图,附裁剪与投影实操

简介这是一份面向地理信息相关专业学习者与研究人员的数据包聚焦黄土高原空间范围及地形条件可用于区域制图、地貌分析、空间统计等场景。包内包含标准shapefile矢量边界附带面积、周长、经纬度等属性信息另有可编辑的mxd工程文件便于在ArcGIS中按需调整符号、配色与布局同时提供标准成图TIF可直接用于论文插图或汇报展示。数据包还收录全国高程TIF数据支持绘制全国及黄土高原地区的高程分级图适合需要快速获取基础底图的GIS初级至中级用户。整体共19个文件以shp、mxd、tif、dbf、prj等为主配套说明文档与元数据文件压缩包大小约186MB结构清晰、即下即用。目前已有83人浏览学习是制作黄土高原专题图、开展地形条件分析时较为省时的数据素材。1. 黄土高原空间分布及地形条件mxd、shape、TIF 一套配齐的底图数据包搞 GIS 的都懂做黄土高原相关项目时最耗时间的不是分析而是找数据、统坐标系、调符号。这份资源就是干这个用的一份可编辑的 mxd 工程文件把黄土高原空间分布范围标准 shape 面文件和地形底图全国高程 TIF 标准成图 TIF全部串好打开 ArcMap 就能直接上手。它解决的是“数据从哪来、怎么对齐、怎么出图”这三件最琐碎的事适合做水土保持、地貌分类、地质灾害评价、土地利用规划的人也适合给学生毕设做底图用。省下的时间够你多跑三组实验。2. 认识这套数据mxd 工程 shape 矢量 TIF 栅格的组合逻辑2.1 为什么是 mxd shape TIF 而不是 gdb常见的地图数据包有几种组织方式File Geodatabasegdb、Shapefile、以及 mxd 工程文档。这套资源选的是 mxd shape TIF 的组合我猜是作者考虑到通用性。gdb 虽然功能强但版本兼容性差ArcGIS 10.2 建的库到 10.8 可能打不开更别说 QGIS 里读 gdb 还得装驱动。shapefile 是事实上的交换格式任何 GIS 软件都能读TIF 更是通用得不能再通用。mxd 的价值在于“状态保存”。它记录了图层的加载顺序、符号化方式、标注样式、视图范围、出图布局。你拿到 shape 和 TIF 后自己从零开始配光是调黄土高原边界的分层设色和 DEM 的山体阴影没一小时下不来。而这份 mxd 已经把这些都预设好打开即是可用状态。这套组合的边界也很明确mxd 只能用 ArcMap 打开ArcGIS Pro 倒是也能导入但样式会有兼容性问题shapefile 有 2GB 大小上限、属性表字段名长度限制在 10 个字符内dBASE 格式限制TIF 要是没带 tfw 世界文件在其他软件里会丢失地理参考。用的时候心里有数就行。2.2 文件组成与调用逻辑按标题推断解压后大约有这几类文件一个 .mxd 主工程、至少一个黄土高原分布范围 .shp含 .shx、.dbf、.prj 等伴随文件、一个全国范围或黄土高原范围的 DEM .tif、一个标准成图 .tif通常是已经做过分层设色或山体阴影渲染的成果图。打开 mxd 后图层面板里应该能看到这几个图层叠在一起的顺序。正常的顺序是最底层放 TIF 地形底图显示山体阴影或高程分级中间层放黄土高原边界 shape带半透明填充或粗轮廓线最顶层放标注或其他点状要素。这个顺序别乱动一旦把 DEM 挪到最上层整个图就看不清了。第一次打开 mxd 大概率会遇到图层显示红色感叹号。这是路径问题——原作者的电脑路径和你解压的路径不一致。解决方法是右键图层 → 数据源 → 替换为本地路径或者直接用“修复数据源”工具批量指向新路径。我一般会在解压后立刻把整个文件夹的路径固定住比如 D:\GISData\LoessPlateau后面再写脚本批处理时路径好记、不易错。2.3 打开后先做三件事检查投影、检查范围、检查符号吃透这套数据包前先做三个快速检查。第一右键图层查看属性确认 shape 和 TIF 的坐标系一致。如果 shape 是 WGS84 地理坐标TIF 是 Albers 投影坐标两者叠在一起绝对位置不会对齐。第二缩放到全图看黄土高原边界是否跟 TIF 的地形起伏吻合——边界线应该大致沿着地貌 transition zone 走不会切入到平原腹地。第三看符号化类型确认 DEM 不需要重新拉伸。这三项检查是我拿到任何数据包都强制走一遍的流程比直接开始出图省去后面返工的麻烦。数据包的可用性一般在十分钟内就能确认完。3. 用面图层裁剪 DEM 栅格提取与掩码提取的区别和实操参数这个数据包里最常用到的操作就是用黄土高原分布范围的 shapefile 把全国 DEM 裁剪出黄土高原区域。看起来简单但 ArcMap 里其实有两条路可以走结果和适用场景完全不同。很多人在这里吃过亏下面说清楚。3.1 ArcMap 中“裁剪”和“掩码提取”两个工具的实质区别在 ArcToolbox 里找“裁剪”和“按掩膜提取”两个工具都在“分析工具 → 提取分析”和“Spatial Analyst → 提取分析”下。功能都是拿面去切栅格但机制不同。“裁剪”Clip数据管理工具是直接把栅格要素按面要素的几何范围切出来。它的本质是“窗口裁剪”只认面要素的外包矩形envelope而不是面要素的精确边界。也就是说即使你的黄土高原形状是个不规则多边形Clip 输出的结果也依然是完整矩形范围内的 DEM只不过矩形外面是 NoData。“按掩膜提取”Extract by MaskSpatial Analyst 工具是按面要素的精确几何形状去提取栅格像元。落在面内部的像元保留面外部的像元变成 NoData。输出的栅格范围是黄土高原的不规则边界矩形四个角是空的。两者的对比如下对比项裁剪 (Clip)按掩膜提取 (Extract by Mask)工具位置数据管理工具 → 栅格 → 栅格处理Spatial Analyst → 提取分析裁剪依据面要素外包矩形面要素精确几何边界输出范围矩形多余区域为 NoData不规则多边形区域处理速度快适合粗略操作慢适合精确出图后续分析视 NoData 为无效值可直接用于区域统计需要 license无需额外授权需要 Spatial Analyst 授权实际用下来做区域均值、面积统计、坡度分区统计时必须用掩码提取否则统计结果会把矩形角落的无效区域算进去。纯粹为了出图裁剪比如把图幅缩小到研究区附近用 Clip 就够了速度快一倍。3.2 操作步骤掩码提取黄土高原 DEM假设 mxd 已打开黄土高原范围图层叫 lp_boundary全国 DEM 图层叫 dem_china。按掩膜提取的操作如下首先打开 ArcToolbox → Spatial Analyst 工具 → 提取分析 → 按掩膜提取。输入栅格选 dem_china输入栅格数据或要素掩膜数据选 lp_boundary输出栅格路径指定到你的工作目录命名 lp_dem_extract.tif。点击环境设置把“处理范围”设为“与图层黄土高原边界相同”把“捕捉栅格”设为 dem_china——这一步非常关键能避免输出栅格的对齐方式跟原 DEM 不一致。运行完成后缩放到输出图层你会看到黄土高原边界内的地形保留边界外全部无数据。检查属性表里有没有落进 NoData 区域的值如果有说明掩膜面有缝隙或自相交需要修复几何。3.3 批处理用 ArcPy 脚本一次跑完多个区域如果研究区分好几块比如陕北、陇东、晋西分别要独立 DEM手动跑三次掩码提取比较浪费时间。这种情况下直接用 ArcPy 写个循环效率高很多import arcpy from arcpy.sa import ExtractByMask arcpy.env.workspace rD:\GISData\LoessPlateau arcpy.env.extent rD:\GISData\LoessPlateau\dem_china.tif arcpy.env.snapRaster rD:\GISData\LoessPlateau\dem_china.tif arcpy.CheckOutExtension(Spatial) boundary_fc rD:\GISData\LoessPlateau\subregions.shp dem rD:\GISData\LoessPlateau\dem_china.tif with arcpy.da.SearchCursor(boundary_fc, [FID, NAME]) as cursor: for fid, name in cursor: where_clause fNAME {name} out fD:\GISData\LoessPlateau\extract\{name}_dem.tif arcpy.MakeFeatureLayer_management(boundary_fc, tmp_layer, where_clause) out_raster ExtractByMask(dem, tmp_layer) out_raster.save(out) print(f完成: {name})这段代码的核心逻辑是遍历 subregions 面图层里的每一行按 NAME 字段逐区域做掩膜提取输出文件名带地名。需要注意几个参数arcpy.env.snapRaster 设成原 DEM 可以保证所有输出栅格像元网格对齐后续做叠加分析时不会出现半像元错位arcpy.env.extent 限制处理范围能显著加速大范围 DEM 的读取如果 subregions 要素类有重叠部分每个区域独立提取没问题但合并后统计时要注意重叠区域的重复计算。没装 Spatial Analyst 扩展的话代码开头会报错运行前先检查授权状态。4. 坐标系与投影重投影让 shape 和 TIF 精确叠加的关键操作4.1 先看懂数据包里可能遇到的三套坐标系拿到这套资源后最常翻车的点在坐标系。黄土高原的数据在不同来源里可能遇到三种情况GCS_WGS_1984地理坐标系单位是度、WGS_1984_UTM_Zone_49N投影坐标系单位是米适合局部测量、Albers 等积圆锥投影全国制图常用等积特性保证面积量算准确。数据包里的全国高程 TIF 大概率是 Albers 或 WGS84黄土高原边界 shape 多半也是地理坐标系。两者叠在一起时ArcMap 会做动态投影on-the-fly projection就是显示时能对上但一旦做面积量算、缓冲区、裁剪结果就可能偏离预期。动态投影适合目视不适合分析。这是基本原则。比如你用 GCS_WGS_1984 的 shape 去做缓冲区分析缓冲区半径 10 公里的圆形在赤道和在高纬度地区显示的偏差不同因为在地理坐标系下“距离”不是恒定的。必须先统一投影才能算距离。4.2 重投影的流程和参数选择如果你决定把整个数据包统一到 Albers 等积投影适合面积统计和区域分析操作路径是ArcToolbox → 数据管理工具 → 投影和变换 → 栅格 → 重投影栅格以及要素 → 投影要素。栅格重投影时注意几个关键参数输出坐标系选择自定义再填 Albers 参数。黄土高原区域建议中央经线取 105°E双标准纬线取 30°N 和 42°N或 25°N 和 47°N 视需求而定地理坐标系选 GCS_WGS_1984。重采样技术DEM 选双线性插值Bilinear或三次卷积Cubic保持地形平滑分类数据如土地利用选最近邻Nearest避免新类别产生。像元大小保持与原 DEM 一致或者按输出范围重新计算。假如原来像元大小是 90 米重投影后像元大小可能会变成 90.001 米之类的非常规值这时手动指定为 90 即可。要素重投影时只需要选输入要素、输出坐标系、输出要素类路径即可。唯一要注意的是如果原要素没有 .prj 文件也就是未定义坐标系必须先定义坐标系再投影否则 ArcMap 不知道从哪个坐标系转出来。遇到这种情况右键图层 → 属性 → 源 → 设置坐标系选 GCS_WGS_1984然后再做投影。4.3 坐标系没对齐时怎么排查实战里经常遇到形状看起来对但位置整体偏移几百米的情况。这会发生在两种数据来源不统一时——比如 shape 是西安 1980 坐标系的成果TIF 是 WGS84。两个坐标系之间的转换需要七参数不是单纯重投影能解决的。检查方法在 ArcMap 里分别查看两个图层的属性 → 源 → 范围和坐标系。如果坐标系名称不同但都是地理坐标系偏差一般在肉眼可见范围内如果一个是 GCS_Xian_1980 一个是 GCS_WGS_1984那偏差可能达到几百米到一千米。这时候就需要做“空间校正”或“地理配准”用同名控制点把 shape 扭到 TIF 上。具体做法加载 Georeferencing 工具条选一个已知点比如黄河拐弯处、县城中心输入该点在 shape 里的坐标和实际 GPS 坐标至少三个控制点做仿射变换然后矫正。这套资源如果本身是从权威数据源加工的一般不需要做这步但如果你叠加了其他来源的野外调查点就得注意一下。4.4 输出标准成图的正确姿势把重投影后的 DEM 和黄土高原边界叠加好准备出图时别直接 File → Export Map先检查一下图层的显示范围。右键图层 → 属性 → 显示范围把“基于每个栅格”改成“无”避免裁剪后的 NoData 区域在导出时显示成黑色或白色块。出图的参数建议分辨率 300 dpi格式选 TIFF背景色设为无勾选“将地图背景设为透明”以防边界出现白边。命名规则我习惯用“区域_内容_分辨率_坐标系”例如 LP_DEM_90m_Albers.tif这样文件丢在文件夹里半年后回看也不会忘。5. 常见问题与排查mxd 打不开、图层红感叹号、裁剪结果不对怎么办数据包在不同版本的 ArcGIS 环境下打开多多少少会碰到几个高频问题。这里把我实际遇到过的情况逐个讲清楚。问题一mxd 打开后图层全部显示红色感叹号现象所有数据源丢失图层内容无法显示。原因mxd 文件保存的是绝对路径原作者电脑上的文件路径跟你解压后的路径不一致。解决右键图层 → 数据源 → 替换数据源逐个指回本地文件。如果图层超过十个懒人办法是直接用 ArcMap 的“数据源修复”工具或者在 Python 里用arcpy.mapping对象批量更新数据源路径import arcpy mxd_path rD:\GISData\LoessPlateau\loess.mxd out_mxd rD:\GISData\LoessPlateau\loess_fixed.mxd mxd arcpy.mapping.MapDocument(mxd_path) for lyr in arcpy.mapping.ListLayers(mxd): if lyr.supports(DATASOURCE): old_path lyr.dataSource new_path old_path.replace(E:\\GIS\\Loess, D:\\GISData\\LoessPlateau) lyr.replaceDataSource(rD:\GISData\LoessPlateau, SHAPEFILE, lyr.name, False) mxd.saveACopy(out_mxd) print(修复完成)这段代码把数据源根路径从E:\GIS\Loess替换成本地目录遍历所有图层重新指向数据源。注意replaceDataSource的第二个参数要写对shapefile 用 SHAPEFILE个人地理库用 PERSONAL_GEODATABASE文件地理库用 FILE_GEODATABASE。写错的话工具会静默失败图层还是红的。我一般会先检查lyr.datasource的实际后缀格式再填参数能省很多排查时间。问题二裁剪出来的 DEM 是黑的或者全白现象 Clip 或掩膜提取后的栅格显示一片黑或一片白没有地形层次。原因输出栅格的符号化拉伸方式丢了默认用“无”拉伸导致像元值范围没映射到色带。解决右键图层 → 符号系统 → 拉伸 → 类型选“最值”色带选高程色带勾选“应用 Gamma 拉伸”。如果还是发灰检查像元值统计信息——可能是裁剪后 NoData 值通常为 -9999混入了有效值范围需要先在环境设置里把 NoData 值设为 -9999再做提取。问题三掩膜提取的结果范围跟面图层边界不吻合现象输出的黄土高原区域跟 shapefile 边界有明显偏移或锯齿状异常。原因面图层的几何存在自相交或缝隙或者面要素坐标系与栅格坐标系不一致导致边界处像元归属混乱。解决先用“修复几何”数据管理工具 → 要素 → 修复几何处理面图层再检查两个图层的坐标系是否一致。如果面是地理坐标系、栅格是投影坐标系提取结果会沿着投影变形边界看起来歪。先统一投影再跑掩膜提取。问题四属性表里面积字段计算有误现象用 shapefile 的属性表直接算面积得出数值明显偏大或偏小。原因未在投影坐标系下计算地理坐标系下算出来的面积单位是平方度不能直接当平方米用。解决先在 ArcToolbox → 数据管理工具 → 投影和变换 → 要素 → 投影把面图层转到 Albers 或 UTM 投影再在属性表里右键面积字段 → 计算几何 → 选择平方米。使用这套数据包做分区统计时这一步一定要提前走完否则统计结果会让人完全怀疑人生。问题五QGIS 打开 mxd 出现样式丢失现象mxd 里定义的符号、标注、图例全没了只剩裸数据和默认样式。原因mxd 是 ArcMap 专有格式QGIS 对 mxd 的解析只能读取数据源和部分图层信息符号化系统无法完整转换。解决如果想跨软件协作先把 mxd 里的图层导出为独立文件形状和说明随文件走再在每个软件里重新配符号。不做这一步QGIS 里打开的图层只有原始数据没有视觉设计。这些坑踩过一次后基本不会再踩我后来养成习惯任何数据包到手先复制一份原始文件然后所有修改在副本上进行。这样即使改坏了原始数据毫发无损还有后悔药吃。6. 进阶用这套数据做分区统计和批量制图的延伸技巧数据包的最终价值不只是出图而是能支撑分析。黄土高原研究里最常见的操作就是“分区统计”——把 DEM 按地貌类型或行政区划切割统计各区域的坡度、海拔、地形起伏度。接下来就看怎么做。6.1 分区统计Zonal Statistics 的正确打开方式先确保面图层和 DEM 坐标系一致然后 ArcToolbox → Spatial Analyst 工具 → 区域分析 → 分区统计。输入栅格数据或要素区域数据选面图层区域字段选你用来分区的字段比如行政区代码或地貌类型输入赋值栅格选 DEM输出表格指定到工作目录。统计类型里勾选平均值、最大值、最小值、范围、标准差。这几项能直接支撑后续分析平均海拔描述区域整体高度标准差描述地形起伏程度最大值和范围用于识别极端地形。不要勾选“忽略 NoData”——如果 DEM 裁剪后有边界 NoData忽略后统计面积会偏小不忽略则能看出有效像元数量。6.2 小比例尺制图的技巧黄土高原这种边界不太规则的研究区出小比例尺图时最容易出问题的是“锯齿边界”。明明矢量边界是平滑的导出的 TIF 图片边界却一格一格的。解决办法是导出时在“选项”里把“矢量简化”改成“无”或把输出分辨率提到 600 dpi边界锯齿会在视觉上缩小到不可见。再配合山体阴影底图叠加半透明边界图的质感会明显提升。6.3 数据验证怎么确认这套数据的边界坐标是可靠的所有处理做完后我习惯做一步验证从 TIF 里提取几个特征点的海拔值比如延安、榆林、兰州附近跟已知真实值对比误差在合理范围内就说明坐标配准没问题。具体操作ArcToolbox → Spatial Analyst → 提取分析 → 提取值至点把已知城市点位数据和 DEM 叠在一起跑一次然后对比提取值。如果几个点都差得离谱回头检查投影和重采样设置。从那些踩过的坑里我给自己定了一条规矩所有数据包的 mxd 打开后先花十分钟检查投影、范围、符号再花五分钟用城市点验证坐标最后才开始干活。概率从 30% 的翻车率降到接近零推荐你也这么做希望帮到你。本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →