【发布时间】:2017-02-02 02:16:43
【问题描述】:
我有两个数据层,一个带有点,一个带有多边形。两个图层都有 ID,我想检查 ID x 的点是位于 ID x 的多边形内部还是外部。
有人知道怎么做吗?
谢谢, 玛丽
【问题讨论】:
标签: qgis
我有两个数据层,一个带有点,一个带有多边形。两个图层都有 ID,我想检查 ID x 的点是位于 ID x 的多边形内部还是外部。
有人知道怎么做吗?
谢谢, 玛丽
【问题讨论】:
标签: qgis
在 python 控制台中为您提供逗号分隔列表的一个潜在解决方案是从 python 控制台运行一个小脚本:
mapcanvas = iface.mapCanvas()
layers = mapcanvas.layers()
for a in layers[0].getFeatures():
for b in layers[1].getFeatures():
if a.geometry().intersects(b.geometry()):
print a.id(),",",b.id()
这应该会产生一个特征与另一个特征相交的情况。在我的测试中,图层的顺序并不重要,但是,两个图层都必须使用相同的坐标参考系统,因此如果两个图层具有不同的参考系统,您可能需要重新投影数据。这适用于多边形中的点和与多边形相交的多边形(我相信它也适用于线)。
这样的答案:https://gis.stackexchange.com/questions/168266/pyqgis-a-geometry-intersectsb-geometry-wouldnt-find-any-intersections 可能有助于进一步完善此类脚本,并且是此答案的主要来源。
【讨论】: