我使用pyqgis,我需要知道一个点与形状之间的距离,以及来自另一个形状的所有点。但我需要计算第三个形状的路径。我试试:
nx.shortest_path_length(G,source = imb, target = pmz)
但我有一个错误:
节点< qgis._core.QgsFeature objet at 0x000009DAB7378>不在图中
我认为我的观点需要在图表中,但我不知道如何做到这一点,以及如何在他们出现时获取它们,因为我需要进行迭代。
你知道我怎么能这样做吗? 坦克你
编辑:
我有形状imb(bulding列表) 形状pmz(一点) 和形状路线(道路)
我这样定义:
imb = self.dlg.coucheimb.itemData(self.dlg.coucheimb.currentIndex())
route = self.dlg.route.itemData(self.dlg.route.currentIndex())
pmz = self.dlg.pmz.itemData(self.dlg.pmz.currentIndex())
我用我的形状路创建一个图形:
path = route.dataProvider().dataSourceUri()
index = path.find("|layerid")
path = path[:index].replace("\\","/")
path = path.encode('latin-1')
H = nx.read_shp(path)
G = nx.Graph(H)
然后我尝试使用shortest_paht_length:
for i in imb:
short = nx.shortest_path_length(G,source = i, target = pmz)
print short
但我有错误