首页 > 解决方案 > 生成不相交的多边形或其他方式来计算点周围变量的总和

问题描述

我有一个复杂的问题,我正在尝试使用 QGIS 和 Python 来解决。我试图将其分解为更简单的任务,非常感谢您就如何以最佳方式解决它的帮助/建议。我知道一个问题太多了,但我觉得我需要解释整个问题才能为我的子问题找到最佳解决方案。

问题:我在 QGIS 中使用插值构建了一个变量 Z 的映射。我还有一组分布在 Z 地图上的控制点(输入为 .shp 或通过 lat、lon)。我还有一个 .shp 文件,它代表 Z 地图上的某个感兴趣区域 (AOI)。

我要做的是:
1. 计算距控制点 500 英尺半径内且仅在 AOI 内
的 Z 之和 2. 计算距控制点 500-1000 英尺距离内的 Z 之和(控制周围的环形点)并且仅在 AOI 内

我知道如何使用 v.rast.stats 计算形状文件中 Z 的总和,但这是棘手的部分:如果我在控制点周围生成多边形,一些点之间的距离可能小于 500 英尺(例如缓冲区)我可能会得到相交的多边形。如果我对这些多边形中的每一个应用 v.rast.stats,则交叉区域中的 Z 值将被计算多次,这是不正确的。

我使用了另一个软件,它允许根据与该点的距离填充另一个离散变量 Y。Y 将具有值“1”(在 500 英尺半径内)和“2”(在 500-1000 英尺窗口内)。之后,它允许在 AOI 内应用规则:Z_500 = If (Y=1, sum(Z)) 和 Z_1000=if (Y=2, sum(Z))。

但是对于 QGIS,我不确定这是否可能。到目前为止,我能想到的最接近的是在我的控制点周围生成不相交的多边形。对于距离小于 500 英尺的点,边界应位于这些点的中间距离。但我不知道如何在 QGIS 中实现这一点。

感谢您就如何解决此问题提供帮助/建议。谢谢

标签: pythonqgis

解决方案


推荐阅读