| library(shiny) |
| library(leaflet) |
| library(spData) |
| library(terra) |
| library(stars) |
| library(leaflet.extras2) |
| ui = fluidPage( |
| leafletOutput(outputId = "map") |
| ) |
|
|
| before_fire_tifs <- fs::dir_ls("before_fire", type="file")[[1]] |
| after_fire_tifs <- fs::dir_ls("after_fire", type="file")[[1]] |
| before_fire_nbr <- read_stars(before_fire_tifs) |
| after_fire_nbr <- read_stars(after_fire_tifs) |
| dnbr <- before_fire_nbr - after_fire_nbr |
|
|
|
|
| server = function(input, output) { |
| output$map = renderLeaflet({ |
| |
| |
| |
| stopifnot(compareVersion(as.character(packageVersion("leaflet")), "2.2.1") > 0) |
| |
| Map <- leaflet() |> |
| addMapPane("right", zIndex = 0) |> |
| addMapPane("left", zIndex = 0) |> |
| addTiles(group = "base", layerId = "baseid1", options = pathOptions(pane = "right")) |> |
| addTiles(group = "base", layerId = "baseid2", options = pathOptions(pane = "left")) |> |
| addRasterImage(x = rast(after_fire_nbr), options = leafletOptions(pane = "right"), group = "r1") |> |
| addRasterImage(x = rast(before_fire_nbr), options = leafletOptions(pane = "left"), group = "r2") |> |
| addLayersControl(overlayGroups = c("r1", "r2")) |> |
| addSidebyside(layerId = "sidecontrols", |
| rightId = "baseid1", |
| leftId = "baseid2") |
| |
| }) |
| } |
|
|
| shinyApp(ui, server) |
|
|
|
|