栅格拼接和裁剪(QGIS3)

本教程探讨了在QGIS中处理栅格的基本技术,例如拼接和子集。

内容说明

我们将以SRTM图块的形式下载斯里兰卡的高程数据,将其合并,并将生成的拼接图剪切到国家/地区边界。

你还会学到这些

  • 使用Hillshade渲染器可视化高程数据。

获取数据

土地进程分布式活动档案中心(LP DAAC)提供了 NASA航天飞机雷达地形任务(SRTM)全球1弧秒 数据集作为高程图块。

一个用于下载给定区域的图块的简单界面是 30米SRTM图块下载器 作者:德里克·沃特金斯(Derek Watkins)。 下载覆盖斯里兰卡的单个SRTM。 请注意,您将需要一个免费的 “地球数据”帐户 来下载数据。

../../_images/data15.png

我们还将需要来自自然地球的 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,然后在 Browser 面板中找到下载的文件。展开单个zip文件以显示 .hgt 文件。 按住 Ctrl 键,然后选择所有单个文件。选定后,将它们拖到画布上。

../../_images/1109.png
  1. 您将在 Layers 面板中看到11个单独的图层,并显示在画布中。我们将这些单独的图块合并为单个镶嵌图。转到 Processing ‣ Toolbox

../../_images/269.png
  1. 搜索并找到 GDAL ‣ Raster miscellaneous ‣ Merge 工具。双击以启动它。

../../_images/340.png
  1. Merge 对话框中,单击 Input layers 旁边的 按钮。单击 Select All 以选择所有单个图层。

../../_images/425.png
  1. 数据集层详细信息 中所述,输入数据类型为 16位带符号整数 。为了保持数据完整性,我们应该为合并层保留相同的数据类型。选择 Int16 作为 Output data type 。同样,默认的输出数据格式是GeoTiff。如果不压缩,GeoTiff文件可能会变得非常大。选择 High Compression 作为 Profile 。点击 Run

../../_images/525.png
  1. 处理完成后,新图层 OUTPUT 将添加到 Layers 面板中。如果图层不在堆栈顶部,请选择该图层并将其拖动到 Layers 面板的顶部。

../../_images/624.png
  1. 您将看到 OUTPUT 层包含来自各个输入图块的合并高程数据。默认的可视化效果仅显示介于0-255之间的像素值。但是我们的数据包含值介于-14到2371之间的像素,导致对比度降低。让我们对其进行更好的可视化更改。单击 Layers 面板中的 Open the layer Styling panel 按钮。

../../_images/724.png
  1. Layer Styling 面板中,单击 Render type 下拉菜单,然后选择 Hillshade 渲染器。此渲染选项特别适合于高程数据。

../../_images/823.png
  1. 使用栅格时,另一种常见操作是将栅格裁剪到您感兴趣的区域。在本教程中,我们将合并的图层剪切到斯里兰卡的国家/地区边界。找到下载的 ne_10m_admin_0_countries.zip 文件并展开它。将 ne_10m_admin_0_countries.shp 文件拖到画布上。

../../_images/924.png
  1. Layers 面板中选择新添加的 ne_10m_admin_0_countries 图层。单击 Attributes Toolbar 工具栏上的 Select Features by area of single click 。选择后,单击Sri Lanka多边形以将其选中。

../../_images/1023.png
  1. 保持选择不变,然后打开 Processing ‣ Toolbox 。搜索并找到 GDAL ‣ Raster extraction ‣ Clip raster by mask layer 工具。双击以启动它。

../../_images/1127.png
  1. Clip Raster by Mask Layer 对话框中,将 输出 设置为 Input Layer 。 选择 ne_10m_admin_0_countries 作为 Mask layer ,然后选中 Selected features only 复选框。输入 0.0000 作为 将指定的没有数据值分配给输出频段 。和以前一样,选择 High compression 作为 Profile 。点击 Run

../../_images/1224.png
  1. 新层 OUTPUT 将被添加到 Layers 面板中。此时,可能很难看到输出,因为我们有太多可见的重叠层。单击 Layers 面板中的 Manage Map Themes 按钮,然后选择 隐藏所有图层

../../_images/1323.png
  1. 仅打开最新的 OUTPUT 层,并像以前一样使用 Hilshade 渲染器对其进行样式设置。

../../_images/1422.png
  1. 斯里兰卡的合并子集输出高程层已准备就绪。

../../_images/1522.png