42_计算面平均降雨量 QGIS3
原文链接: https://www.qgistutorials.com/en/docs/3/areal_mean_rainfall.html
计算面平均降雨量 (QGIS3)¶
水平衡计算、洪水模拟、径流预测、气候研究等常常需要水文流域内的平均降雨深度作为输入——这也被称为面降水量或面平均降雨量。
AMR 可以使用雨量计数据计算。通过使用雨量计位置和观测到的降水量,可以使用以下任一技术估算给定位置的平均降水量:
- 算术平均法:可以简单地取所有观测值的平均值。此方法假设降雨场是均匀的,且雨量计观测值是独立的,并对所有雨量计给予相等的权重。
- 泰森多边形法:此方法使用泰森多边形划分区域,并假设每个站点覆盖区域内的降雨是均匀的。此方法也称为面积加权平均法。这些假设对于低洼或平坦地形是合适的,但不适用于山区地形。
- 等雨量线法:这种插值技术计算等雨量线——连接等降水量的线。它假设两条等雨量线之间的降雨是均匀的。当雨量计网络密集时,此方法适用。
- 距离加权/格网法——这是一种插值技术,通过创建栅格格网,并根据到站点的距离估算每个像素的值。一旦所有格网点都被估算出来,就对它们求和,然后将总和除以格网单元数量以获得面平均降水量。
- 地统计方法:降雨受局部因素(如海拔)影响强烈。使用多元回归或克里金法技术,可以考虑空间自相关性,并获得更好的精度。当雨量计站分布均匀且密集时,这些方法适用。
在本教程中,我们将学习使用泰森多边形方法计算面平均降雨量的 QGIS 工作流程。
任务概述¶
在本教程中,我们将利用全球历史气候网络站测量的降水量,计算佛罗里达州每个水文流域的面平均降雨量。
您将学到的其他技能¶
- 如何删除具有空值的数据。
- 如何修复图层中的无效几何图形。
- 如何查看处理历史记录并使用相同参数重新运行工具。
- 如何融合多边形并汇总统计信息。
- 如何在处理算法中仅使用选定的要素。
获取数据¶
我们将使用 NOAA 气候数据 、HydroSHEDS 和 美国人口普查局制图边界 数据图层。
站点降水量¶
- 访问 NOAA 气候数据 网站。点击搜索工具。
- 在“选择天气观测类型/数据集”中选择
Global Summary of the Month,然后在“选择日期范围”中选择2020年7月,在“搜索范围”中选择States,在“输入搜索词”中键入Florida。点击搜索。
- 点击加入购物车,在物品中点击查看物品。
- 切换到自定义月度全球摘要 CSV,点击继续。
- 选中地理位置,在“为自定义输出选择数据类型”中展开
Precipitation,选择Precipitation (PRCP)。点击继续。
- 输入邮箱地址,点击提交订单以下载数据。
水文流域¶
- 转到 HydroSHEDS 网站 并点击下载。
- 选择 HydroBASINS ‣ Standard ‣ North America and Caribbean ‣ hybas_na_lev06_v1c.zip
- 输入邮箱地址,点击提交请求以下载数据。
州边界¶
访问 制图边界文件 - Shapefile 页面。从 States 部分下载 cb_2018_us_state_500k.zip 文件。
为方便起见,您可以直接从以下链接下载所有数据集的副本:
数据来源: [GHCN], [HYDROSHEDS], [USCENSUS]
操作步骤¶
- 打开 QGIS,点击打开数据源管理器。
- 在数据源管理器对话框中,切换到分隔文本。点击文件名旁的
…,然后浏览并选择florida_2020_07_prcp.csv文件。
- 现在,在几何图形定义下选择点坐标,X 字段和 Y 字段应分别为经度和纬度。选择几何图形 CRS 为 EPSG 4326 - WGS 84。点击添加。
- 现在将添加一个新的点图层,点击打开属性表图标。
- 在属性表中,字段 PRCP 代表该站点在 2020 年 7 月期间的降水量。另外,此数据以英寸为单位记录。注意有一些
Null值,这在计算过程中可能会引起问题。对 PRCP 列进行排序,你会发现只有一小部分数据集是 Null 值。我们现在将删除具有 Null 值的站点。
- 通过转到处理 ‣ 工具箱打开处理工具箱,搜索并定位矢量选择 ‣ 按属性提取算法。
- 在按属性提取对话框中,选择输入图层为
florida_2020_07_prcp,然后在选择属性中选择PRCP,接着在运算符中选择is not null。点击已提取(属性)旁边的…,选择保存到文件…,输入图层名称为precipitation_filtered.gpkg并点击运行。
- 现在一个新图层被添加到画布,关闭旧图层,你可以看到带有 Null 值的站点已被移除。
- 现在我们将从此图层生成泰森多边形。通过转到处理 ‣ 工具箱打开处理工具箱,搜索并定位矢量几何 ‣ 泰森多边形算法。
注意
泰森多边形表示每个点周围的影响区域。每个多边形定义了一个区域,该区域比任何其他站点都更接近某个特定站点。这意味着任意一点的降水量被假定为与最近站点相同。
- 选择
precipitation_filtered作为输入图层。由于我们没有流域边界外的任何雨量计站点数据,我们可以添加一些缓冲区。输入15作为缓冲区区域(范围的百分比)。点击泰森多边形旁的…,选择保存到文件…,然后输入名称为thiessen_polygons.gpkg。点击运行。
- 一个新图层
thiessen_polygons将被添加到画布。让我们将此图层裁剪到州边界。在浏览器中搜索cb_2018_us_state_500k.shp文件并将其拖到画布上。
- 州图层与项目 CRS 的 CRS 不同。您将收到一个提示,提供将此 CRS 转换为项目 CRS 的不同选项。在选择转换对话框中,您可以选择默认转换并点击确定。
- 我们现在将
thiessen polygons图层裁剪到佛罗里达州边界。点击按区域选择要素或单击图标,然后点击佛罗里达州。
- 通过转到处理 ‣ 工具箱打开处理工具箱,搜索并定位矢量叠加 ‣ 裁剪算法。
- 在裁剪对话框中,选择输入图层为
thiessen_polygons,在叠加图层中选择cb_2018_us_state_500K图层,并勾选仅选中的要素复选框,然后点击已裁剪旁的…并选择保存到文件…,接着输入名称为thiessen_polygons_clipped.gpkg。点击运行。
- 裁剪后的泰森多边形图层
thiessen_polygons_clipped将被添加到画布。关闭所有其他图层的可见性。由于我们的任务是计算每个流域的平均降雨量,我们现在将加载代表流域的多边形。从浏览器中找到hybas_na_lev06_v1c.shp图层并将其添加到画布。
- 你会注意到每个流域被许多泰森多边形覆盖,并且每个多边形跨越多个流域。为了可视化这一点,打开图层样式面板图标,将不透明度更改为
75%。我们现在将相交这两个图层,以将泰森多边形切割到每个流域的边界。
- 通过转到处理 ‣ 工具箱打开处理工具箱,搜索并定位矢量叠加 ‣ 相交算法。
- 在相交对话框中,选择输入图层为
thiessen_polygons_clipped,叠加图层为hybas_na_lev06_v1c,然后点击已相交旁的…并选择保存到文件…,接着输入名称为thiessen_polygons_basin.gpkg。点击运行。
- 执行将失败,并出现错误信息 has invalid geometry. Please fix the geometry or change the Processing setting to the “Ignore invalid input features” option.。您可以在 处理无效几何图形 (QGIS3) 教程中了解更多关于此错误的信息。
- 要修复几何图形,通过转到处理 ‣ 工具箱打开处理工具箱,搜索并定位矢量几何 ‣ 修复几何图形算法。
- 在修复几何图形对话框中,选择输入图层为
hybas_na_lev06_v1c,点击已修复几何图形旁的…并选择保存到文件…,输入文件名称为hybas_na_lev06_v1c_fixed.gpkg并点击运行。
- 现在一个新图层将被添加到画布。我们现在可以再次尝试相交。无需从头运行工具并填写所有参数,我们可以从处理历史中检索预填充的对话框,并仅修改叠加图层。点击处理 ‣ 历史记录。
- 从列表中双击 native:intersection 算法。
- 将叠加图层更改为
hybas_na_lev06_v1c_fixed并点击运行。
- 现在一个新图层将被加载,你可以看到
thiessen_polygons_basin已根据流域边界进行了裁剪。
- 现在,让我们计算每个流域来自泰森多边形的平均降雨量值。这是使用聚合工具完成的,该工具允许我们在计算属性值统计信息的同时融合单个多边形。现在,通过转到处理 ‣ 工具箱打开处理工具箱,搜索并定位矢量几何 ‣ 聚合算法。
- 在聚合对话框中,选择输入图层为
thiessen_polygons_basin,选中除PRCP和HYBAS_ID外的所有字段,然后点击删除选定字段。
- 在按表达式分组中选择
HYBAS_ID。这意味着该工具将融合所有具有相同HYBAS_ID值的多边形。在我们的例子中,这些将是落在一个流域内的所有泰森多边形。在聚合部分,我们可以配置如何从所有被融合的多边形中聚合不同的字段值。对于 PRCP,点击表达式按钮输入以下表达式。该表达式计算每个多边形的面积加权分数。将聚合函数设置为sum,这将汇总所有面积加权分数,从而得出面积加权平均值。对于 HYBAS_ID,将聚合函数更改为first_value。由于我们按 HYBAS_ID 对泰森多边形进行分组,所有值都相同,first_value 函数将使用每个流域中第一个多边形的属性值。点击已聚合旁的…,选择保存到文件…,输入文件名称为areal_mean_rainfall.gpkg并点击运行。
bash (PRCP * $area) / sum($area)
- 一个新图层将被添加到画布,让我们打开属性表来查看。点击打开属性表图标。
- 字段 PRCP 包含每个流域以英寸为单位的面平均降雨量。
如果您想提供反馈或分享您对本教程的体验,请在下方评论。(需要 GitHub 账户)







































