首页 > 解决方案 > 如何修复 osmdata 包中的“找不到节点”

问题描述

我想从 osmdata 包中获取一些数据(给定位置的高速公路在哪里)。但有时我会收到一个错误:

rcpp_osmdata_sf(doc) 中的错误:找不到节点

我试图用谷歌搜索它,但找不到任何有用的东西。下面你可以看到我用来获取数据的代码。

pdms_tmp <- base::data.frame(Long = 21.7478965, Lat =  49.6931262) %>% 
        sf::st_as_sf(crs = 4236, coords = c("Long", "Lat")) %>%
        sf::st_transform(crs = 3034) %>%
        sf::st_buffer(dist = units::as_units(1000, "m")) %>%
        sf::st_transform(crs = 4326) %>%
        sf::st_bbox()

osm_tmp <- (pdms_tmp %>%
              osmdata::opq() %>%
              osmdata::add_osm_feature(key = "highway") %>%
              osmdata::osmdata_sf())$osm_line

就像我说的,它有时会抛出一个错误。但该错误可能不会在同一坐标上发生两次。

标签: ropenstreetmapsf

解决方案


我在慢速/间歇性互联网上遇到了同样的问题,但它在稳定的连接上运行良好(你的代码也运行没有错误)。我认为立交桥 API 的默认超时持续时间可能太短。


推荐阅读