cboettig commited on
Commit
8e33eb1
1 Parent(s): 7765694

leaflet slider

Browse files
Files changed (1) hide show
  1. app.R +29 -17
app.R CHANGED
@@ -1,8 +1,12 @@
1
- library(shiny)
2
- library(bslib)
 
 
3
  library(stars)
4
- library(tmap)
5
- library(fs)
 
 
6
 
7
  before_fire_tifs <- fs::dir_ls("before_fire", type="file")[[1]]
8
  after_fire_tifs <- fs::dir_ls("after_fire", type="file")[[1]]
@@ -11,19 +15,27 @@ after_fire_nbr <- read_stars(after_fire_tifs)
11
  dnbr <- before_fire_nbr - after_fire_nbr
12
 
13
 
14
- ui <- page_sidebar(
15
- theme = bs_theme(bootswatch = "minty"),
16
- title = "Map explorer",
17
- plotOutput("leaflet")
18
- )
19
-
20
- server <- function(input, output, session) {
21
- output$leaflet <- renderPlot(
22
- {
23
- tmap_mode("plot")
24
- tm_shape(dnbr) + tm_raster()
25
- }
26
- )
 
 
 
 
 
 
 
27
  }
28
 
29
  shinyApp(ui, server)
 
 
1
+ library(shiny) # for shiny apps
2
+ library(leaflet) # renderLeaflet function
3
+ library(spData) # loads the world dataset
4
+ library(terra)
5
  library(stars)
6
+ library(leaflet.extras2)
7
+ ui = fluidPage(
8
+ leafletOutput(outputId = "map")
9
+ )
10
 
11
  before_fire_tifs <- fs::dir_ls("before_fire", type="file")[[1]]
12
  after_fire_tifs <- fs::dir_ls("after_fire", type="file")[[1]]
 
15
  dnbr <- before_fire_nbr - after_fire_nbr
16
 
17
 
18
+ server = function(input, output) {
19
+ output$map = renderLeaflet({
20
+ #https://trafficonese.github.io/leaflet.extras2/reference/addSidebyside.html
21
+
22
+ # addRasterImage options requires pre-release leaflet....
23
+ stopifnot(compareVersion(as.character(packageVersion("leaflet")), "2.2.1") > 0)
24
+
25
+ Map <- leaflet() |>
26
+ addMapPane("right", zIndex = 0) |>
27
+ addMapPane("left", zIndex = 0) |>
28
+ addTiles(group = "base", layerId = "baseid1", options = pathOptions(pane = "right")) |>
29
+ addTiles(group = "base", layerId = "baseid2", options = pathOptions(pane = "left")) |>
30
+ addRasterImage(x = rast(after_fire_nbr), options = leafletOptions(pane = "right"), group = "r1") |>
31
+ addRasterImage(x = rast(before_fire_nbr), options = leafletOptions(pane = "left"), group = "r2") |>
32
+ addLayersControl(overlayGroups = c("r1", "r2")) |>
33
+ addSidebyside(layerId = "sidecontrols",
34
+ rightId = "baseid1",
35
+ leftId = "baseid2")
36
+
37
+ })
38
  }
39
 
40
  shinyApp(ui, server)
41
+