gpt4 book ai didi

python - 尝试下载更大的洛杉矶县 - 内存不足

转载 作者:行者123 更新时间:2023-12-01 08:37:17 25 4
gpt4 key购买 nike

我正在使用安装在 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 统计信息,网络 I/O 仅下载了约 36MB,而内存使用量很快达到 8 GB,并最终导致 Python 进程崩溃。有多种方法可以解决进程崩溃问题 - 我想知道其性能以及是否有更有效的方法使用 OSMnx 下载 OSM 数据?

最佳答案

您可以通过使用更粗糙的图形表示来使其消耗更少的内存。这可以使用“infrastucture”参数来完成。

greater_la_streets_box = ox.graph_from_bbox(35.114, 33.514, -117.439, -119.316, 
network_type='drive', simplify=False,timeout=3600,
infrastructure='way["highway"~"motorway|trunk|primary"]')

以下链接提供了有关在基础设施中为关键字方式选择更多选项的更多信息 https://wiki.openstreetmap.org/wiki/Key:highway

关于python - 尝试下载更大的洛杉矶县 - 内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53656894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com