You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

OSMnx设置Overpass时间参数引发内存不足错误的代码排查求助

OSMnx设置Overpass时间参数引发内存不足错误的代码排查求助

我最近碰到个棘手的问题:当我给ox.settings.overpass_settings加上历史日期参数后,Overpass API总是抛出内存不足的错误,但只要注释掉这行设置代码,程序就能顺畅运行。想请大伙帮我看看代码里是不是有哪里写错了?

先贴出我的代码片段:

import osmnx as ox
import shapely
import datetime

date=datetime.datetime.fromisoformat("2023-12-31T10:15:23.355030")
poli="POLYGON ((12.492709372340677 41.916655635027965, 12.495766040251999 41.99143760629819, 12.76378053852936 41.984419025131984, 12.754692779733519 41.78305304410847, 12.487561402159495 41.79004473805951, 12.48453188956227 41.715248372182295, 12.21767031884794 41.72151888179064, 12.224974122071886 41.92295004575664, 12.492709372340677 41.916655635027965))"

ox.settings.requests_timeout=200
ox.settings.use_cache=False
ox.settings.log_console = True
ox.settings.overpass_settings=f"[out:json][timeout:{ox.settings.requests_timeout}][date:\"{date}\"]"

geom=shapely.wkt.loads(poli)
tags={"highway":"residential"}
features = ox.features_from_polygon(
    geom, tags,
)
print(len(features))

只要注释掉第10行(设置overpass_settings的那行),代码就能正常输出结果,但加上这行就会触发Overpass的内存不足错误。我怀疑是不是日期格式不符合要求,或者参数构造有问题?

我自己试了几个排查方向,还没解决:

  • 把timeout从60调到200秒,没用,还是触发OOM
  • 确认过多边形的WKT格式是正确的,没有语法错误
  • 只请求了highway:residential这一个标签,不算多

有没有朋友遇到过类似的问题?或者能帮我指出代码里的错误?

内容来源于stack exchange

火山引擎 最新活动