leaflet slider
Browse files
app.R
CHANGED
@@ -1,8 +1,12 @@
|
|
1 |
-
library(shiny)
|
2 |
-
library(
|
|
|
|
|
3 |
library(stars)
|
4 |
-
library(
|
5 |
-
|
|
|
|
|
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 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
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 |
+
|