1
我在Shiny中製作了一個小應用程序,該應用程序爲國家和地區保存數據,以及用戶可以選擇區域的位置。然後,我的想法是,我在應用程序中的傳單地圖將放大並聚焦在所選地區(即用戶點擊「歐洲」,地圖放大歐洲)。用sf列調整Leaflet(R)中的邊界
我不明白我應該如何使用簡單功能geometry
列作爲傳單地圖的過濾器。下面是一個簡單的例子(不是Shiny,但問題不是Shiny相關的,我想)。
library(rnaturalearth)
library(dplyr)
library(leaflet)
# sf data:
earth <- ne_countries(returnclass = "sf") %>%
select(Region = region_un, geometry)
# little dataset:
df <- data_frame(
Region = c("Europe", "Africa", "Asia", "Oceania", "Americas"),
Score = c(0.85, 0.77, 0.81, 0.93, 0.79)
)
# join:
df <- full_join(df, earth)
# simulate what I'm doing in Shiny:
input <- list()
input$region <- "Europe"
df2 <- filter(df, Region == input$region)
leaflet(df2) %>% addTiles()
我彷彿用df
(未過濾的數據幀),這是一樣的。關於如何去做這件事的任何想法?我無法在Shiny/leaflet文檔中找到它。
完美地工作,謝謝!我不知道'st_coordinates()'函數,非常有用。 – RobertMc