Python - Osmnx - 使用缓存或本地映射来减少计算时间

Python - Osmnx - Use cache or local maps to reduce computation time

我有一个由不同旅行组成的数据框,按旅行类型(例如驾车或骑自行车)分类。 数据框的每一行代表给定行程的一个停靠点,包括行程中停靠点的顺序及其 latitude/longitude 坐标。

在搜索了如何绘制这些行程之后,我发现了 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 来将其存储在内存中。您可能希望过滤以仅保留某些道路类型。另见

此外,您应该使用 ox.config(use_cache=True, log_console=True) 打开缓存。有关详细信息,请参阅文档。如果您想知道为什么需要这么长时间,您还应该打开登录以查看后台发生的情况。