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
数据来源:[NOAACPC], [USGAZETTEER] [TIGER]
操作步骤¶
- 将
2018_Gaz_ua_national.zip和tl_2018_us_county.zip解压并提取到你计算机上的一个文件夹中。打开 QGIS,在 QGIS 浏览器中找到us.tmax_nohads_ll_20190501_float.tif文件,将其拖放到画布上。
- 你将看到一个新的栅格图层
us.tmax_nohads_ll_20190501_float已加载到图层面板中。此栅格图层包含每个像素记录的以摄氏度表示的最高温度。接下来我们将加载城市地区点文件。该文件以制表符分隔值 (TSV) 格式的文本文件形式提供。点击数据源工具栏上的打开数据源管理器按钮。
- 切换到
分隔文本选项卡。点击文件名旁边的...按钮,指定你下载的文本文件路径。在文件格式部分,选择自定义分隔符并勾选Tab。选择INTPTLONG作为X 字段,INTPTLAT作为Y 字段。点击添加,然后点击关闭。
- 一个新的点图层
2018_Gaz_ua_national将被加载到图层面板中。现在我们已准备好从栅格图层中提取这些点位置的值。转到处理‣工具箱。
- 搜索并定位
栅格分析‣采样栅格值算法。双击启动它。
- 选择
2018_Gaz_ua_national作为输入点图层。选择us.tmax_nohads_ll_20190501_float作为要采样的栅格图层。展开高级参数,输入tmax作为输出列前缀。点击运行。处理完成后,点击关闭。
- 一个新图层
采样点将被加载到图层面板中。选择属性工具栏中的识别工具,并点击任意一个点。你将在识别结果面板中看到显示的属性。你会看到每个要素都添加了一个名为 tmax_1 的新属性。这是栅格图层在点位置处提取的像素值。*1*代表栅格的波段号。如果栅格图层有多个波段,你将在输出图层中看到多个新列。
- 我们分析的第一部分结束了。让我们移除不需要的图层。按住
Shift键并选择采样点和2018_Gaz_ua_national图层。右键点击并选择移除将其从 QGIS 中移除。当提示移除 2 个图例条目?时,选择确定。
- 现在我们将使用县图层对栅格进行采样,并计算每个县的平均温度。在 QGIS 浏览器中找到
tl_2018_us_county.shp文件,将其拖放到画布上。
- 一个新图层
tl_2018_us_county将被加载到图层面板中。转到处理‣工具箱。
- 搜索并定位
栅格分析‣区域统计算法,双击启动它。
- 选择
us.tmax_nohads_ll_20190501_float作为栅格图层,tl_2018_us_county作为包含区域的矢量图层。输入tmax_作为输出列前缀。点击要计算的统计量旁边的...。
- 仅选择
平均值,然后点击确定。
-
现在,点击
区域统计旁边的...,选择保存到文件选项以保存输出。
15. 浏览到你想要保存输出的文件夹。将输出图层保存为 us_county_tmax.shp。点击运行开始处理。算法可能需要几分钟才能完成,处理结束后你会看到输出图层被添加进来。点击关闭。
- 右键点击
us_county_tmax图层,选择打开属性表。
- 你将看到属性表中添加了一个名为
tmax_mean的新列。该列包含为每个要素在其多边形范围内提取的平均温度值。存在一些空值,因为这些县(属于阿拉斯加、夏威夷和波多黎各)位于栅格图层的范围之外。
如果你想提供反馈或分享学习本教程的经验,请在下方评论。(需要 GitHub 账户)















