我有一个由不同行程组成的数据框,按行程类型(例如,汽车或自行车)分类。数据帧的每一行代表一个给定行程的停靠点,包括行程中停靠点的顺序及其纬度/经度坐标。
在对如何绘制这些行程进行搜索之后,我发现了osmnx软件包。街道网络很棒,但是生成时间很长,尤其是对于大区域。
有没有办法提高计算性能,例如在本地下载区域网络或其他任何方式?
感谢您的帮助
import osmnx as ox
import matplotlib.pyplot as plt
place_name='France'
graph=ox.graph_from_place(place_name)
type(graph)
nodes, edges = ox.graph_to_gdfs(graph)
nodes.head()
edges.head()
type(edges)
fig, ax = plt.subplots(figsize=(15,15))
edges.plot(ax=ax, linewidth=1, edgecolor='#BC8F8F')
如果要下载整个国家(例如瑞士或法国)的网络,则需要大量RAM才能将其存储在内存中。您可能需要过滤以仅保留某些道路类型。另请参阅https://stackoverflow.com/a/52412274/7321942
此外,您应该使用开启缓存ox.config(use_cache=True, log_console=True)
。有关详细信息,请参见文档。如果您想知道为什么要花这么长时间,还应该打开日志记录,以了解发生了什么。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句