You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言调用osmdata_sf时出现curl::curl_fetch_memory() HTTP请求错误

解决osmdata包HTTP请求失败及主机名解析错误问题

问题分析

  1. 参数非法:opq()函数的osm_types参数不存在"lines"这个合法取值,该参数仅支持node、way、relation三类,非法参数可能引发后续请求异常。
  2. 域名解析失败:默认调用的overpass.kumi.systems服务器域名无法被DNS解析,导致无法建立与Overpass API的连接。

解决方案

步骤1:修正非法参数

将osm_types中的"lines"替换为合法值,若不需要关系(relation)类数据,也可直接省略该参数(默认会请求所有支持的OSM类型)。

步骤2:手动指定可用的Overpass服务器

使用set_overpass_url()函数切换到稳定可访问的Overpass API服务器,比如官方维护的节点。

修正后的完整代码

library(osmdata)

# 设置可用的Overpass服务器
set_overpass_url("https://overpass-api.de/api/interpreter")

# 获取目标区域边界
bb <- getbb('North Goa, India')

# 构建并执行查询(修正osm_types参数)
q <- opq(bbox = bb, osm_types = c("node", "way", "relation")) %>%
  add_osm_feature(key = 'highway') %>%
  osmdata_sf()

额外排查建议

  • 先在浏览器中打开指定的Overpass服务器URL,确认本地网络可正常访问该节点。
  • 若仍有连接问题,可尝试其他Overpass镜像服务器,比如https://overpass.openstreetmap.fr/api/interpreter。

内容的提问来源于stack exchange,提问作者UseR10085

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:16:00