我正在使用安装在 docker 容器中的 python 包集合;OSMnx 下载 OSM 数据,然后 networkx 执行分析 - 我在一小部分数据上证明了我的代码,现在想要扩大规模。
我正在尝试对洛杉矶县的通勤者进行一些分析——为此,我需要抓住一些延伸到县界之外的街道,因为我们让人们从洛杉矶通勤到其他县。作为第一次剪辑,我想抓住加利福尼亚,然后通过县缓冲多边形进行剪辑——在处理了几个小时之后,我的容器终止了 Python 进程。所以,我想我会使用这个代码将下载减少到一个盒子——即使这在 graph_from_bbox 方法中失败了。我已经为我的 docker 容器配置了 8 GB 的内存。
greater_la_streets_box = ox.graph_from_bbox(35.114, 33.514, -117.439, -119.316,
network_type='drive', simplify=False,
timeout=3600)
G_projected = ox.project_graph(greater_la_streets_box)
ox.save_graph_shapefile(G_projected, filename='greater_la_streets',
folder='/ds/data/spatial/network/streets/CA/')
这需要 8 GB 的内存来处理是否合理?如果我正确阅读了我的 docker stats,Net I/O 仅下载了约 36MB,而内存使用量迅速达到 8 GB,最终导致 Python 进程崩溃。有一些方法可以解决进程崩溃 - 我想知道它的性能以及是否有更有效的方法来使用 OSMnx 下载 OSM 数据?