python - OSMNX:街道边缘的长度
问题描述
我正在尝试获取边缘长度列表,并绘制一个为每个长度类别的边缘着色的图表。我不知道如何访问此属性。
当我检查时:
edge_attributes = ox.graph_to_gdfs(G, nodes=False).columns
print(edge_attributes)
我得到以下信息:
runfile('C:/Users/user/.spyder-py3/temp.py', wdir='C:/Users/user/.spyder-
py3')
Index(['u', 'v', 'key', 'osmid', 'highway', 'oneway', 'name', 'length',
'geometry', 'maxspeed', 'lanes', 'tunnel', 'service', 'access'],
dtype='object')
所以看起来有一个名为长度的属性,我无法访问它。
很想得到一些支持。
谢谢。
解决方案
从图形中检索边缘信息作为地理数据框
edges = ox.graph_to_gdfs(G, nodes=False, edges=True)
edges_series = edges['length'] #gives you a pandas series with edge lengths
edges[['osmid','length']] #gives you a pandas dataframe with osmids of edges and their corresponding lengths
对于用边缘颜色绘制图形,OSMnx 有一个专门的功能
ec = ox.get_edge_colors_by_attr(G, attr='length')
ox.plot_graph(G, edge_color=ec)
推荐阅读
- reactjs - Reactjs+Flow:onChange 抛出错误
- javascript - React:当父组件重新渲染时,子组件是否总是重新渲染?
- c - 用popen在C中读取arecord的输出
- mysql - 设置初始用户并通过 phpmyadmin
- html - 隐藏左侧导航栏后如何使打印样式表的内容全宽
- javascript - 在查看器中定位 html 的最佳方法是什么?
- mysql - 如果将 INT 列更改为 MEDIUMINT,我将节省多少大小?
- java - Wildfly - 未安装的必需服务 - TransactionSynchronizationRegistry
- python - Django呈现正确的视图但不正确的URL
- regex - BASH:搜索字符串并准确显示子字符串在其中出现的确切次数