08_QGIS3 栅格镶嵌与裁剪
原文链接:https://www.qgistutorials.com/en/docs/3/raster_mosaicing_and_clipping.html
栅格镶嵌与裁剪(QGIS3)¶
本教程将探索在 QGIS 中处理栅格数据的基本技术,例如镶嵌和裁剪。
任务概述¶
我们将下载斯里兰卡的 SRTM 分幅高程数据,将它们合并,并将生成的镶嵌结果裁剪至该国边界。
你将学到的其他技能¶
- 使用山体阴影渲染器来可视化高程数据。
获取数据¶
陆地过程分布式活动档案中心(LP DAAC)提供了NASA 航天飞机雷达地形测绘任务(SRTM)全球 1 弧秒数据集作为高程分幅数据。
By Derek Watkins 开发的30 米 SRTM 分幅数据下载器提供了一个简单的界面来下载特定区域的分幅数据。下载覆盖斯里兰卡的各个 SRTM 分幅数据。请注意,你需要一个免费的地球数据账户才能下载数据。

我们还需要来自 Natural Earth 的Admin 0 - 国家 shapefile 文件。
为方便起见,你也可以直接从以下链接下载数据集的副本:
数据来源 [SRTM] , [NATURALEARTH]
操作步骤¶
- 打开 QGIS,在浏览器面板中找到下载的文件。展开各个 ZIP 文件以显示
.hgt文件。按住Ctrl键并选择所有单独的文件。选择后,将它们拖到画布上。
- 你将看到 11 个单独的图层加载到图层面板中并显示在画布上。我们将把这些单独的分幅合并成一个单一的镶嵌图层。转到 Processing(处理)‣ Toolbox(工具箱)。
- 搜索并找到 GDAL ‣ Raster miscellaneous(栅格杂项)‣ Merge(合并)工具。双击以启动它。
- 在合并对话框中,点击 Input layers(输入图层)旁边的 … 按钮。点击 Select All(全选)以选择所有单独的图层。
- 如数据集图层详情中所述,输入数据类型是16 位有符号整数。为了保持数据完整性,我们应该为合并后的图层保留相同的数据类型。选择
Int16作为 Output data type(输出数据类型)。默认的输出数据格式是 GeoTiff。如果不压缩,GeoTiff 文件可能会非常大。选择High Compression(高压缩)作为 Profile(配置文件)。点击 Run(运行)。
- 处理完成后,一个新图层
Merged(合并)将被添加到图层面板。如果该图层不在图层堆叠的顶部,请选中它并将其拖到图层面板的顶部。
- 你将看到
Merged图层包含了来自各个输入分幅的合并高程数据。默认的可视化效果只显示 0-255 范围内的像素值。但我们的数据包含值在 -14 到 2371 的像素,导致渲染对比度很低。让我们将其更改为更好的可视化效果。点击图层面板中的“打开图层样式化面板”按钮。
- 在图层样式化面板中,点击 Render type(渲染类型)下拉菜单,选择
Hillshade(山体阴影)渲染器。此渲染选项特别适合高程数据。
- 处理栅格数据时的另一个常见操作是根据你的感兴趣区域裁剪栅格。在本教程中,我们将把合并后的图层裁剪到斯里兰卡的国家边界。找到下载的
ne_10m_admin_0_countries.zip文件并展开它。将ne_10m_admin_0_countries.shp文件拖到画布上。
- 在图层面板中选择新添加的
ne_10m_admin_0_countries图层。点击属性工具栏上的“按区域或单机选择要素”按钮。选中后,点击斯里兰卡的多边形以选择它。
- 保持此选择状态,打开 Processing(处理)‣ Toolbox(工具箱)。搜索并找到 GDAL ‣ Raster extraction(栅格提取)‣ Clip raster by mask layer(按掩膜图层裁剪栅格)工具。双击以启动它。
- 在按掩膜图层裁剪栅格对话框中,将
Merged设置为 Input Layer(输入图层)。选择ne_10m_admin_0_countries作为 Mask layer(掩膜图层),并勾选 Selected features only(仅选定的要素)复选框。输入0.0000作为 Assign a specified nodata value to output bands(为输出波段分配指定的无数据值)。和之前一样,选择High compression(高压缩)作为 Profile(配置文件)。点击 Run(运行)。
- 一个新图层
Clipped (mask)(已裁剪(掩膜))将被添加到图层面板。此时,可能很难看到输出,因为我们有太多重叠的图层可见。点击图层面板中的“管理地图主题”按钮,选择Hide All Layers(隐藏所有图层)。
- 仅打开最新的
Clipped (mask)图层,并像之前那样使用Hillshade(山体阴影)渲染器对其进行样式化。
- 斯里兰卡的合并并裁剪后的输出高程图层已准备就绪。
如果你想提供反馈或分享对本教程的体验,请在下方评论。(需要 GitHub 账户)














