R mapview没有';t显示来自osmdata的查询的多个多边形

R mapview没有';t显示来自osmdata的查询的多个多边形,r,openstreetmap,r-mapview,R,Openstreetmap,R Mapview,我正在使用osmdata软件包将波哥大的一些大学映射为multipolygons。然而,故事情节是空的。知道怎么修吗 library(osmdata) library(mapview) query <- opq(bbox = "Bogota") %>% add_osm_feature(key = "amenity",value = "university") %>% osmdata_sf() mapview(query

我正在使用
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[,c("osm_id","name","amenity")], map.types = "OpenStreetMap")
库(osmdata)
图书馆(地图视图)
查询%add\u osm\u功能(key=“amentity”,value=“university”)%%>%osmdata\u sf()
mapview(查询$osm_multipolygons[,c(“osm_id”、“名称”、“便利设施”)],map.types=“OpenStreetMap”)
#mapview(查询$osm_polygons[,c(“osm_id”,“名称”,“便利设施”)],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")
库(osmdata)
图书馆(地图视图)
图书馆(sf)
查询%
添加osm功能(key=“舒适”,value=“大学”)%>%
osmdata_sf()
查询%
st_变换(st_crs(“+proj=utm+ellps=GRS80+DATAM=WGS84”))%>%
st_make_valid()
mapview(查询,map.types=“OpenStreetMap”)

有关更多信息,请查看以下链接