python - 生成不相交的多边形或其他方式来计算点周围变量的总和
问题描述
我有一个复杂的问题,我正在尝试使用 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 中实现这一点。
感谢您就如何解决此问题提供帮助/建议。谢谢
解决方案
推荐阅读
- c# - 为什么 IQueryable.Select 每次迭代都使用相同的引用
- c# - C# Yield 返回列表,而不是单个对象
- linq - Linq query to select all records that have sub records that match all values in an array of values?
- sql - “转换时转换失败”有没有办法检测。什么行/条目?
- python - Issue with porting a 3d matrix from matlab to python
- r - ggplot2:更改面板的背景颜色并独立绘图
- android - Google 登录很少收到 INTERNAL_ERROR
- .net-core - .NetCore 项目在 VS2017 更新后未加载(目标版本 15.8.7)
- ios - APNS2 错误 400:DeviceTokenNotForTopic - 通过 PubNub 发送推送通知时出现此错误
- mongodb - How to save/insert non english document in mongodb through mongo shell command prompt