我目前正在处理图形(使用python模块networkx),我的任务是为节点的所有经度值和一个所有纬度值制作一个不同的集合。当我读完每个节点的数据时,坐标以dict形式出现,如{lat: 1234, lon: 5678}
。
这是我的代码,如果我打印node_id
我得到所有节点,如果我打印node_data
我得到带有坐标值的字典:
all_nodes = G.node
for node in all_nodes:
node_id = node
node_data = G.node[node_id]
重新编辑:由于不是很清楚,在上面代码的底部有两个print语句:
all_nodes = G.node
for node in all_nodes:
node_id = node
node_data = G.node[node_id]
print: "Node Id :", node_id
print: "Coordinates:", node_data
这给了我输出所有节点id和所有坐标。正如我所问,我想知道如何进入两个不同的纬度和长度。
答案 0 :(得分:0)
如果我理解正确,这应该可以解决问题:
lat = [node['lat'] for node in nodes]
答案 1 :(得分:0)
>>> d = {}
>>> d['lat'], d['long'] = [], []
>>> d
{'lat': [], 'long': []}
现在,您可以将纬度和经度附加到列表中,并且可以简单地提取它。
答案 2 :(得分:0)
以这种方式解决,即使我已经提取了我在边缘列表中找到的坐标而不是节点数据中的坐标:
out_edges = G.out_edges(G, data= True)
for edge in out_edges:
lat = []
lon = []
x = edge[0]
y = edge[1]
lat.append(x)
lon.append(y)
print lat
print lon