我想减去从qgs feature iterator对象检索到的两个值,并根据条件将feature id的值附加到列表中。你知道吗
在qgis的上下文中,我有两层: 道路杀手 探路者
到目前为止,我得到的是一个空列表:
evenList = []
azimuthRoadsIDX = roadsLayer.fieldNameIndex('azimuth')
azimuthPathsIDX = pathsLayer.fieldNameIndex('azimuth')
roads = roadsLayer.getFeatures()
paths = pathsLayer.getFeatures()
for feat in roads:
for feature in paths:
roadsAzimuth = feat.attributes()[azimuthRoadsIDX]
pathsAzimuth = feature.attributes()[azimuthPathsIDX]
if (roadsAzimuth - pathsAzimiuth == 90) or (roadsAzimuth - pathsAzimth == -270):
evenList.append(feature.id())
不知道为什么,但这很管用。唯一的问题是它并不是在所有情况下都有效(即使roadsAzimuth-pathsAzimuth==90,在某些情况下也不会附加它):
for feat in roadsLayer.getFeatures():
roadsAzimuth = feat.attributes()[azimuthRoadsIDX]
for feature in pathsLayer.getFeatures():
pathsAzimuth = feature.attributes()[azimuthPathsIDX]
if (roadsAzimuth - pathsAzimiuth == 90) or (roadsAzimuth - pathsAzimth == -270):
evenList.append(feature.id())
目前没有回答
相关问题 更多 >
编程相关推荐