首页 > 解决方案 > QGIS - 如何按给定顺序选择特征

问题描述

首先,感谢您的宝贵时间!

所以,我有一组像图像这样的 特征:向量层中的特征组

我想选择所有这些,但是以特定的顺序,例如,以顺时针的模式,从最右上的一个开始,向下,然后向左,向上,最后一个是中间的第一个“行”:顺时针选择

我按照上面解释的顺序使用了“多边形特征”选择工具:多边形选择工具中的特征。然后,我在 Python 终端中运行了一个简单的脚本:

layer = iface.activeLayer()
selection = layer.selectedFeatures()
for feature in selection:
    print(feature.id())

结果得到:

>>> exec(open('/tmp/tmpwkso5fxd.py'.encode('utf-8')).read())
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41

然后我取消选择所有特征,并再次以顺时针模式选择另一个多边形,但从最左边的特征开始,向右,然后向下,然后向上直到我到达第一个,如下所示:顺时针选择开始在另一个功能中

然后我运行了相同的脚本,得到了完全相同的结果。顺序没有改变。

是否有选择工具、插件或选择算法可用于按照用户绘制多边形/线的顺序选择要素?

我想到了类似从鼠标点击创建点,然后从它们创建线,并使用 GRASS 的 v.to.points 用点填充这些线,但我无法将鼠标点击存储在有序列表中。我也想过光线追踪,或者 Unity 的 Raycast,但我不知道要实现这样的东西......而且这也可能有点矫枉过正......

再次感谢您的关注!

祝你今天过得愉快!=)

标签: pythonselectqgis

解决方案


推荐阅读