按特定顺序映射向量组 - R 传单

Map vector group in specific order - R leaflet

我有一个 shapefile,其中包含不同年份的路线折线。这是 an example data shapefile,包含 2000 年和 2013 年的路线。我希望地图在顶部显示较旧的路线,在底部显示较新的路线。我看过 addMapPane 函数,但不确定如何将它应用于同一文件中的向量。到目前为止,这是我的代码:

sample_palette <- leaflet::colorFactor(palette = rainbow(2), 
                                domain = data_sample$Year)


sample_plot <- leaflet(data_sample) %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolylines(color = ~sample_palette(Year), 
               opacity = 1) %>% 
  leaflet::addLegend(values = ~Year, 
                     opacity = 1, 
                     pal = sample_palette, 
                     title = "Routes")

sample_plot

我正在使用 leaflet 和 R。

请找到一种可能的解决方案,使旧路线位于最近路线之上:只需更改 data_sample

中的行顺序
  • 代码
library(sf)
library(leaflet)

data_sample <- st_read("ADD YOUR PATH HERE")

# Order 'data_sample' rows in decreasing order of 'Year' 
data_sample <- data_sample %>% 
  arrange(., desc(Year))

# Choose colors
sample_palette <- leaflet::colorFactor(palette = rainbow(2), 
                                       domain = data_sample$Year)

# Build the map
sample_plot <- leaflet(data_sample) %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolylines(color = ~sample_palette(Year), 
               opacity = 1) %>% 
  leaflet::addLegend(values = ~Year, 
                     opacity = 1, 
                     pal = sample_palette, 
                     title = "Routes")
  • 可视化
sample_plot