我的任务是了解从房屋到地铁站的最佳方式。
下面的图片中有三种数据类型:
目标是确定从每个房屋点到最近的地铁入口的最短路径,并构建折线图层。
我当时正在考虑使用arcpy
库,但最近听说了networkx
模块,但是现在我只知道如何在图中加载数据,但是,我不知道如何寻找理想的最短路径以及下一步该怎么做。
这是我的数据加载到nx.Multigraph()的草稿:
import arcpy
import networkx as nx
import numpy as np
line_fc = 'lines'
points_hs = 'house_points'
graph = nx.MultiGraph()
with arcpy.da.SearchCursor(line_fc, 'SHAPE@') as sc:
for row in sc:
line_geom = row[0].getPart(0)
list_geom_cors = np.array([(n.X, n.Y) for n in line_geom])
graph.add_edges_from(list_geom_cors)
with arcpy.da.SearchCursor(points_hs, 'SHAPE@XY') as sc:
for row in sc:
graph.add_node(row[0])
如何尽可能正确地执行此任务?