mapview不显示来自osmdata的查询的多面体

问题描述

我正在使用osmdata软件包带动波哥大的大学,其中一些被映射为multipolygons。但是情节是空的。知道如何解决吗?

library(osmdata)
library(mapview)
query <- opq(bBox = "Bogota") %>% add_osm_feature(key = "amenity",value = "university") %>% osmdata_sf()
mapview(query$osm_multipolygons[,c("osm_id","name","amenity")],map.types = "OpenStreetMap")
#mapview(query$osm_polygons[,map.types = "OpenStreetMap")

注意:在绘制点或多边形时,它可以正常工作。

解决方法

解决方案是对对象的坐标系进行转换。如下所示:

library(osmdata)
library(mapview)
library(sf)
query <- opq(bbox = "Bogota") %>% 
  add_osm_feature(key = "amenity",value = "university") %>%
  osmdata_sf()

query <- query$osm_multipolygons[,c("osm_id","name","amenity")] %>%
  st_transform(st_crs("+proj=utm +ellps=GRS80 +datum=WGS84")) %>% 
  st_make_valid() 

mapview(query,map.types = "OpenStreetMap")

enter image description here

有关更多信息,请检查以下链接。 Coordinate Systems in R