Created
August 17, 2021 13:16
-
-
Save csaybar/80dab73c5846caca27b498b8065d2bc5 to your computer and use it in GitHub Desktop.
display tiles - flood
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| viz_patches <- function(pid) { | |
| metadata_list <- read.csv("https://storage.googleapis.com/flood_dataset/flood-training-metadata.csv") | |
| date <- metadata_list[metadata_list$chip_id %in% pid, 6][1] | |
| url <- sprintf("https://storage.googleapis.com/flood_dataset/%s.tif", pid) | |
| local_tif <- tempfile(fileext = ".tif") | |
| download.file(url, local_tif) | |
| # BOX | |
| ee_extent <- local_tif %>% | |
| raster() %>% | |
| projectRaster(crs = "EPSG:4326") %>% | |
| extent() %>% | |
| as.matrix() %>% | |
| as.numeric() %>% | |
| ee$Geometry$Rectangle() | |
| bbox_map <- Map$addLayer(ee_extent, name = "box", shown = FALSE) | |
| Map$centerObject(ee_extent) | |
| # # ----------------------------------------------------------------------- | |
| # JRC | |
| # # ----------------------------------------------------------------------- | |
| surface_water <- ee$Image("JRC/GSW1_3/GlobalSurfaceWater") | |
| ocurrence_vizparams <- list(bands = "occurrence", min = 0, max = 100, | |
| palette = list('ffffff', 'ffbbbb', '0000ff')) | |
| ocurrence_map <- Map$addLayer(surface_water, ocurrence_vizparams, 'Occurrence', shown = FALSE) | |
| recurrence_vizparams <- list(bands = "recurrence", min = 0, max = 100, | |
| palette = list('ffffff', 'ffbbbb', '0000ff')) | |
| recurrence_map <- Map$addLayer(surface_water, recurrence_vizparams, 'Recurrence', shown = FALSE) | |
| seasonality_vizparams <- list(bands = "seasonality", min = 0, max = 12, | |
| palette = list('ffffff', 'ffbbbb', '0000ff')) | |
| seasonality_map <- Map$addLayer(surface_water, seasonality_vizparams, 'Seasonality', shown = FALSE) | |
| max_extent_vizparams <- list(bands = "max_extent", min = 0, max = 1, | |
| palette = list('ffffff', 'ffbbbb', '0000ff')) | |
| max_extent_map <- Map$addLayer(surface_water, max_extent_vizparams, 'Max_extent', shown = FALSE) | |
| # # ----------------------------------------------------------------------- | |
| # Sentinel-1 | |
| # # ----------------------------------------------------------------------- | |
| init_date <- as.Date(date) %>% as.character() | |
| last_date <- (as.Date(date) + 2) %>% as.character() | |
| rescale_values <- function(image) { | |
| minMax <- image$reduceRegion( | |
| reducer = ee$Reducer$minMax(), | |
| geometry = ee_extent, | |
| scale = 10 | |
| ) | |
| unit_scale <- ee_utils_pyfunc(function(name) { | |
| name <- ee$String(name) | |
| band <- image$select(name) | |
| band$unitScale(ee$Number(minMax$get(name$cat('_min'))), ee$Number(minMax$get(name$cat('_max')))) | |
| }) | |
| unitScale <- ee$ImageCollection$fromImages( | |
| image$bandNames()$map(unit_scale))$toBands()$rename(image$bandNames()) | |
| vv <- unitScale$select("VV") | |
| vh <- unitScale$select("VH") | |
| vv_div_vh <- ee$Image$divide(vv, vh) | |
| ee$Image(list(vv, vh, vv_div_vh))$rename(c("R","G","B")) | |
| } | |
| sar_img <- ee$ImageCollection('COPERNICUS/S1_GRD')$ | |
| filter(ee$Filter$listContains('transmitterReceiverPolarisation', 'VV'))$ | |
| filterDate(init_date, last_date)$ | |
| filterBounds(ee_extent)$ | |
| filter(ee$Filter$eq('instrumentMode', 'IW'))$ | |
| select(c('VV', 'VH')) | |
| dates <- ee_get_date_ic(sar_img)$time_start %>% as.Date() | |
| sar_map <- Map$addLayer(sar_img$map(rescale_values)$first(), name = paste0("SAR-", dates), shown = FALSE) | |
| to_display <- recurrence_map + ocurrence_map + | |
| seasonality_map + max_extent_map + | |
| sar_map + bbox_map | |
| # # ----------------------------------------------------------------------- | |
| # Sentinel-2 | |
| # # ----------------------------------------------------------------------- | |
| dataset <- ee$ImageCollection('COPERNICUS/S2_SR')$ | |
| filterDate(init_date, last_date)$ | |
| filterBounds(ee_extent) | |
| if (dataset$size()$getInfo() != 0) { | |
| dataset <- dataset$first()$divide(10000) | |
| visualization <- list(min = 0, max = 0.3, bands = c('B4', 'B3', 'B2')) | |
| rgb <- Map$addLayer(dataset, visualization, name = "sentinel2", shown = FALSE) | |
| to_display <- to_display + rgb | |
| } | |
| # # ----------------------------------------------------------------------- | |
| # Landsat-8 | |
| # # ----------------------------------------------------------------------- | |
| dataset <- ee$ImageCollection$Dataset$LANDSAT_LC08_C01_T1_SR$ | |
| filterDate(init_date, last_date)$ | |
| filterBounds(ee_extent) | |
| if (dataset$size()$getInfo() != 0) { | |
| dataset <- dataset$first()$divide(10000) | |
| visualization <- list(min = 0, max = 0.3, bands = c('B4', 'B3', 'B2')) | |
| rgb <- Map$addLayer(dataset, visualization, name = "landsat", shown = FALSE) | |
| to_display <- to_display + rgb | |
| } | |
| # # ----------------------------------------------------------------------- | |
| # DEM | |
| # # ----------------------------------------------------------------------- | |
| dem <- ee$Image("NASA/NASADEM_HGT/001") | |
| rscale2 <- function(image) { | |
| image <- image$select("elevation") | |
| minMax <- image$reduceRegion( | |
| reducer = ee$Reducer$minMax(), | |
| geometry = ee_extent, | |
| scale = 10 | |
| ) | |
| unit_scale <- ee_utils_pyfunc(function(name) { | |
| name <- ee$String(name) | |
| band <- image$select(name) | |
| band$unitScale(ee$Number(minMax$get(name$cat('_min'))), ee$Number(minMax$get(name$cat('_max')))) | |
| }) | |
| ee$ImageCollection$fromImages( | |
| image$bandNames()$map(unit_scale))$toBands()$rename(image$bandNames()) | |
| } | |
| demr <- rscale2(image = dem) | |
| palette <- c("#04D7FF", "#F1BEBE", "#E19D9D", "#D07D7D", "#BC5D5D", "#A94141", "#962929", "#861919", "#750B0B", "#640000") | |
| map_dem <- Map$addLayer(demr, list(max = 0.5, palette=palette), name = "dem", shown = FALSE) | |
| to_display <- map_dem + to_display | |
| target <- raster(local_tif) | |
| target_map <- suppressWarnings(mapview(target, to_display, legend = FALSE)) | |
| target_map | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment