Skip to content

19_使用点或面要素对栅格数据进行采样 QGIS3

原文链接: https://www.qgistutorials.com/en/docs/3/sampling_raster_data.html

使用点或面要素对栅格数据进行采样 (QGIS3)

许多科学和环境数据集以格网化的栅格形式提供。高程数据(DEM)也以栅格文件的形式分发。在这些栅格文件中,被表示的地理参数被编码为栅格的像素值。通常,我们需要在特定位置提取像素值或在某些区域上汇总这些值。QGIS 通过处理算法提供了此功能。对于点图层使用 栅格值采样,对于面图层使用 区域统计

任务概述

给定一个美国大陆日最高气温的栅格网格,我们需要在所有城市地区的点图层上提取温度,并为美国每个县的面图层计算平均温度。

你将学到的其他技能

  • 从 QGIS 内容列表中选择和移除多个图层。

获取数据

NOAA 的 气候预测中心 提供与美国气温和降水相关的 GIS 数据。下载 最高气温的最新格网文件。该文件将被命名为 us.tmax_nohads_ll_{YYYYMMDD}_float.tif

我们将使用来自 2018 年美国地名录 的 CSV 文件,该文件代表美国的城市地区。下载 城市地区地名录文件

美国人口普查局 提供 TIGER/Line Shapefiles。你可以访问 FTP 站点 并下载 县 Shapefile

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

us.tmax_nohads_ll_20190501_float.tif

2018_Gaz_ua_national.zip

tl_2018_us_county.zip

数据来源:[NOAACPC], [USGAZETTEER] [TIGER]

操作步骤

  1. 2018_Gaz_ua_national.ziptl_2018_us_county.zip 解压并提取到你计算机上的一个文件夹中。打开 QGIS,在 QGIS 浏览器中找到 us.tmax_nohads_ll_20190501_float.tif 文件,将其拖放到画布上。

../../_images/1154.png

  1. 你将看到一个新的栅格图层 us.tmax_nohads_ll_20190501_float 已加载到图层面板中。此栅格图层包含每个像素记录的以摄氏度表示的最高温度。接下来我们将加载城市地区点文件。该文件以制表符分隔值 (TSV) 格式的文本文件形式提供。点击数据源工具栏上的 打开数据源管理器 按钮。

../../_images/2129.png

  1. 切换到 分隔文本 选项卡。点击 文件名 旁边的 ... 按钮,指定你下载的文本文件路径。在 文件格式 部分,选择 自定义分隔符 并勾选 Tab。选择 INTPTLONG 作为 X 字段INTPTLAT 作为 Y 字段。点击 添加,然后点击 关闭

../../_images/367.png

  1. 一个新的点图层 2018_Gaz_ua_national 将被加载到图层面板中。现在我们已准备好从栅格图层中提取这些点位置的值。转到 处理工具箱

../../_images/438.png

  1. 搜索并定位 栅格分析采样栅格值 算法。双击启动它。

../../_images/534.png

  1. 选择 2018_Gaz_ua_national 作为 输入点图层。选择 us.tmax_nohads_ll_20190501_float 作为 要采样的栅格图层。展开 高级参数,输入 tmax 作为 输出列前缀。点击 运行。处理完成后,点击 关闭

../../_images/633.png

  1. 一个新图层 采样点 将被加载到图层面板中。选择属性工具栏中的 识别 工具,并点击任意一个点。你将在 识别结果 面板中看到显示的属性。你会看到每个要素都添加了一个名为 tmax_1 的新属性。这是栅格图层在点位置处提取的像素值。*1* 代表栅格的波段号。如果栅格图层有多个波段,你将在输出图层中看到多个新列。

../../_images/733.png

  1. 我们分析的第一部分结束了。让我们移除不需要的图层。按住 Shift 键并选择 采样点2018_Gaz_ua_national 图层。右键点击并选择 移除 将其从 QGIS 中移除。当提示 移除 2 个图例条目? 时,选择 确定

../../_images/832.png

  1. 现在我们将使用县图层对栅格进行采样,并计算每个县的平均温度。在 QGIS 浏览器中找到 tl_2018_us_county.shp 文件,将其拖放到画布上。

../../_images/933.png

  1. 一个新图层 tl_2018_us_county 将被加载到图层面板中。转到 处理工具箱

../../_images/1039.png

  1. 搜索并定位 栅格分析区域统计 算法,双击启动它。

../../_images/1155.png

  1. 选择 us.tmax_nohads_ll_20190501_float 作为 栅格图层tl_2018_us_county 作为 包含区域的矢量图层。输入 tmax_ 作为 输出列前缀。点击 要计算的统计量 旁边的 ...

../../_images/1242.png

  1. 仅选择 平均值,然后点击 确定

../../_images/1340.png

  1. 现在,点击 区域统计 旁边的 ...,选择 保存到文件 选项以保存输出。

    ../../_images/1436.png 15. 浏览到你想要保存输出的文件夹。将输出图层保存为 us_county_tmax.shp。点击 运行 开始处理。算法可能需要几分钟才能完成,处理结束后你会看到输出图层被添加进来。点击 关闭

../../_images/1532.png

  1. 右键点击 us_county_tmax 图层,选择 打开属性表

../../_images/1629.png

  1. 你将看到属性表中添加了一个名为 tmax_mean 的新列。该列包含为每个要素在其多边形范围内提取的平均温度值。存在一些空值,因为这些县(属于阿拉斯加、夏威夷和波多黎各)位于栅格图层的范围之外。

../../_images/1731.png


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