osmda包找不到任何对象

问题描述

我正在使用osmdata包来查找哥伦比亚波哥大一个地区的银行。直接使用overpass网页时,我发现了以下对象,但是R API没有找到任何东西。有什么问题吗?

使用立交桥

Empty

enter image description here

使用R

undefined

解决方法

my_box的文档说明中,matrix可以是vectoropq

bbox-(i)以c(xmin,ymin,xmax,ymax)形式指定最大和最小经度和纬度的四个数值,或者(ii)以xmin,ymin,xmax形式的字符串, ymax。这些将传递给getbb,以转换为数字边界框。也可以是(iii)表示从getbb(...,format_out =“ polygon”)返回的边界多边形的矩阵。

对于getbb,生成的输出是matrix,其中x值在第一行,y值在下面

getbb("Bogota",display_name_contains = "Colombia")
#        min       max
#x -74.223514 -74.01025
#y   4.471175   4.83317


getbb("Bogota",display_name_contains = "Colombia") %>%
    opq() %>% 
    add_osm_feature(key = "amenity","bank") %>%
    osmdata_sf() -> bank_pol

因此,如果我们检查OP的vector,则某些'x'和'y'值会颠倒。它可以创建为

my_box <- c(-74.075607061386,4.6304414673187,-74.072549343109,4.6332058140013)

现在,致电opq

bank_pol <- opq(bbox = my_box,timeout = 25*100) %>% 
         add_osm_feature(key = "amenity","bank") %>% 
         osmdata_sf()

-检查数据

bank_pol$osm_polygons
#Simple feature collection with 3 features and 18 fields
#geometry type:  POLYGON
#dimension:      XY
#bbox:           xmin: -74.07552 ymin: 4.630524 xmax: -74.07264 ymax: 4.633099
#geographic CRS: WGS 84
#             osm_id            name addr.city addr.country addr.district #addr.housenumber       addr.state addr.street
#392010374 392010374     Bancolombia    Bogotá           CO   Teusaquillo            40-95 Distrito Capital  Carrera 24
#392010458 392010458 Banco AV Villas    Bogotá           CO   Teusaquillo         40-71/73             <NA>  Carrera 24
#394955633 394955633            <NA>    Bogotá           CO   Teusaquillo            42-19             <NA>  Carrera 24
#          addr.suburb amenity  atm       brand brand.wikidata brand.wikipedia building building.levels    operator
#392010374  La Soledad    bank  yes Bancolombia        Q806206  en:Bancolombia      yes               2 Bancolombia
#392010458  La Soledad    bank <NA>        <NA>           <NA>            <NA>      yes               4        <NA>
#394955633  La Soledad    bank  yes        <NA>           <NA>            <NA>      yes               2  Davivienda
#                            source                       geometry
#392010374 Kaart Ground Survey 2017 POLYGON ((-74.07546 4.63140...
#3392010458 Kaart Ground Survey 2017 POLYGON ((-74.07546 4.63112...
#394955633                     <NA> POLYGON ((-74.0754 4.632585...

-情节

mapview(bank_pol$osm_polygons)

也可以使用ggmap

library(ggplot2)
library(ggmap)
library(sf)
library(osmdata)

bogota_map <- get_map(getbb("Bogota",display_name_contains = "Colombia"),maptype = "toner-background")

ggmap(bogota_map) + 
   geom_sf(data = bank_pol$osm_points,inherit.aes = FALSE,colour = "#238443",fill = "#004529",alpha = .5,size = 4,shape = 21)+
   labs(x = "",y = "")