跳转至

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 分幅数据。请注意,你需要一个免费的地球数据账户才能下载数据。

../../_images/data120.png

我们还需要来自 Natural Earth 的Admin 0 - 国家 shapefile 文件。

为方便起见,你也可以直接从以下链接下载数据集的副本:

N05E080.SRTMGL1.hgt.zip

N06E079.SRTMGL1.hgt.zip

N06E080.SRTMGL1.hgt.zip

N06E081.SRTMGL1.hgt.zip

N07E079.SRTMGL1.hgt.zip

N07E080.SRTMGL1.hgt.zip

N07E081.SRTMGL1.hgt.zip

N08E079.SRTMGL1.hgt.zip

N08E080.SRTMGL1.hgt.zip

N08E081.SRTMGL1.hgt.zip

N09E080.SRTMGL1.hgt.zip

ne_10m_admin_0_countries.zip

数据来源 [SRTM][NATURALEARTH]

操作步骤

  1. 打开 QGIS,在浏览器面板中找到下载的文件。展开各个 ZIP 文件以显示 .hgt 文件。按住 Ctrl 键并选择所有单独的文件。选择后,将它们拖到画布上。

../../_images/1148.png

  1. 你将看到 11 个单独的图层加载到图层面板中并显示在画布上。我们将把这些单独的分幅合并成一个单一的镶嵌图层。转到 Processing(处理)‣ Toolbox(工具箱)。

../../_images/2126.png

  1. 搜索并找到 GDAL ‣ Raster miscellaneous(栅格杂项)‣ Merge(合并)工具。双击以启动它。

../../_images/364.png

  1. 在合并对话框中,点击 Input layers(输入图层)旁边的 … 按钮。点击 Select All(全选)以选择所有单独的图层。

../../_images/435.png

  1. 数据集图层详情中所述,输入数据类型是16 位有符号整数。为了保持数据完整性,我们应该为合并后的图层保留相同的数据类型。选择 Int16 作为 Output data type(输出数据类型)。默认的输出数据格式是 GeoTiff。如果不压缩,GeoTiff 文件可能会非常大。选择 High Compression(高压缩) 作为 Profile(配置文件)。点击 Run(运行)。

../../_images/531.png

  1. 处理完成后,一个新图层 Merged(合并) 将被添加到图层面板。如果该图层不在图层堆叠的顶部,请选中它并将其拖到图层面板的顶部。

../../_images/630.png

  1. 你将看到 Merged 图层包含了来自各个输入分幅的合并高程数据。默认的可视化效果只显示 0-255 范围内的像素值。但我们的数据包含值在 -14 到 2371 的像素,导致渲染对比度很低。让我们将其更改为更好的可视化效果。点击图层面板中的“打开图层样式化面板”按钮。

../../_images/730.png

  1. 在图层样式化面板中,点击 Render type(渲染类型)下拉菜单,选择 Hillshade(山体阴影) 渲染器。此渲染选项特别适合高程数据。

../../_images/829.png

  1. 处理栅格数据时的另一个常见操作是根据你的感兴趣区域裁剪栅格。在本教程中,我们将把合并后的图层裁剪到斯里兰卡的国家边界。找到下载的 ne_10m_admin_0_countries.zip 文件并展开它。将 ne_10m_admin_0_countries.shp 文件拖到画布上。

../../_images/930.png

  1. 在图层面板中选择新添加的 ne_10m_admin_0_countries 图层。点击属性工具栏上的“按区域或单机选择要素”按钮。选中后,点击斯里兰卡的多边形以选择它。

../../_images/1037.png

  1. 保持此选择状态,打开 Processing(处理)‣ Toolbox(工具箱)。搜索并找到 GDAL ‣ Raster extraction(栅格提取)‣ Clip raster by mask layer(按掩膜图层裁剪栅格)工具。双击以启动它。

../../_images/1149.png

  1. 在按掩膜图层裁剪栅格对话框中,将 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(运行)。

../../_images/1239.png

  1. 一个新图层 Clipped (mask)(已裁剪(掩膜)) 将被添加到图层面板。此时,可能很难看到输出,因为我们有太多重叠的图层可见。点击图层面板中的“管理地图主题”按钮,选择 Hide All Layers(隐藏所有图层)

../../_images/1337.png

  1. 仅打开最新的 Clipped (mask) 图层,并像之前那样使用 Hillshade(山体阴影) 渲染器对其进行样式化。

../../_images/1434.png

  1. 斯里兰卡的合并并裁剪后的输出高程图层已准备就绪。

../../_images/1530.png


如果你想提供反馈或分享对本教程的体验,请在下方评论。(需要 GitHub 账户)