python - 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,但我不知道要实现这样的东西......而且这也可能有点矫枉过正......
再次感谢您的关注!
祝你今天过得愉快!=)
解决方案
推荐阅读
- python - 视图中的 Django 查询集没有向 html 模板返回任何内容
- javascript - 在模态中使用 postMessage 与父窗口通信
- java - 在此上下文中不允许使用 Spring Data MongoDB $where
- javascript - 在对象中动态添加值
- android - 与新版本android没有连接
- java - 在 intellij 中获取“-source 1.7 中不支持方法引用”,但我的项目设置有 Java 1.8
- java - 从 Web 服务器 url 读取 .docx 内容 - java
- streamsets - 如何捕获 JDBC 连接失败的错误
- sweetalert2 - SweetAlert2 中的自定义加载程序
- gtk - 如何在 gtkmm 中找到浮动设备