具有Qgis形状的NetworkX shortest_path

时间:2016-11-02 11:04:04

标签: python networkx qgis

我使用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

但我有错误

0 个答案:

没有答案