Saya memiliki shapefile dengan polyline rute di tahun yang berbeda. Berikut adalah contoh shapefile data dengan rute di tahun 2000 dan tahun 2013. Saya ingin peta menunjukkan rute lama di bagian atas dan rute yang lebih baru di bagian bawah. Saya telah melihat fungsi addMapPane tetapi tidak yakin bagaimana menerapkannya untuk vektor dalam file yang sama. Inilah kode saya sejauh ini:

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

Saya menggunakan leaflet dan R.

1
lenlen 9 Januari 2022, 12:59
Halo @lenlen. Selamat datang di SO! Temukan di bawah ini satu kemungkinan jawaban untuk masalah Anda. Jika memenuhi kebutuhan Anda, harap pertimbangkan untuk menandainya sebagai "diterima" dan/atau "dipilih". Jika tidak, tolong beri tahu saya apa yang salah. Bersulang
 – 
lovalery
9 Januari 2022, 18:31

1 menjawab

Jawaban Terbaik

Harap temukan satu solusi yang memungkinkan untuk mendapatkan rute lama di atas rute terbaru: hanya perlu mengubah urutan baris di data_sample

  • Kode
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")
  • visualisasi
sample_plot

enter image description here

1
lovalery 9 Januari 2022, 18:28
Terima kasih banyak - ini berhasil! Pikir saya menghabiskan terlalu banyak waktu untuk memikirkannya. Sangat menghargai itu!
 – 
lenlen
9 Januari 2022, 18:46