【问题标题】:Python - Osmnx - Use cache or local maps to reduce computation timePython - Osmnx - 使用缓存或本地映射来减少计算时间
【发布时间】:2020-11-12 11:40:21
【问题描述】:

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

在搜索了如何绘制这些行程之后,我发现了 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')

【问题讨论】:

  • 您需要提供完整的最小可重现代码 sn-p 展示您当前的方法,以便我们能够评估其具体效率或提出改进建议。
  • 我用当前使用的方法更新了问题。例如,如果我将“瑞士”更改为“法国图卢兹”,则获取网络没有任何问题。因此,我试图为整个法国获得相同的网络

标签: python performance maps osmnx


【解决方案1】:

如果您想为瑞士或法国等整个国家/地区下载网络,则需要大量 RAM 将其存储在内存中。您可能希望过滤以仅保留某些道路类型。另见https://stackoverflow.com/a/52412274/7321942

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

【讨论】:

  • 感谢您花时间回答和分享类似问题的链接。我将深入研究路线类型和建议的参数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-06
  • 2016-01-22
  • 1970-01-01
  • 2015-03-16
  • 2018-05-15
  • 1970-01-01
相关资源
最近更新 更多