diff --git a/data-fusion/data-fusion.md b/data-fusion/data-fusion.md index a8e08ae5..09c996c0 100644 --- a/data-fusion/data-fusion.md +++ b/data-fusion/data-fusion.md @@ -23,3 +23,4 @@ The combination of multiple remote sensing data sources can provide invaluable i - [Sand-Oriented Land Cover Classification with Sentinel-1 and Sentinel-2](/data-fusion/sand-oriented_land_cover_classification_s1_s2) - [Thermal visualization and water in wetlands with Landsat 8 L1 & L2](/data-fusion/thermal_visualization_and_water_in_wetlands) - [Land Surface Temperature with S3 SLSTR and OLCI](/sentinel-3/land_surface_temperature) + - [Visualising floods using Sentinel-1 overlaid on Sentinel-2 imagery](/data-fusion/s1_flooding_visualisation/) diff --git a/data-fusion/s1_flooding_visualisation/README.md b/data-fusion/s1_flooding_visualisation/README.md new file mode 100644 index 00000000..fd26e45f --- /dev/null +++ b/data-fusion/s1_flooding_visualisation/README.md @@ -0,0 +1,25 @@ +--- +title: Visualising floods using Sentinel-1 overlaid on Sentinel-2 imagery +parent: Data Fusion +layout: script +permalink: /data-fusion/s1_flooding_visualisation/ +nav_exclude: true +--- + + +## Authors + +**Author of the datafusion script:** +- William Ray & Maxim Lamare + +## Evaluate and visualize + - [EO Browser](https://sentinelshare.page.link/i2yk) + +## General description of the script + +This script can be used to visualise flood events using Sentinel-1 GRD imagery. This is especially useful for areas of interest that are affected by cloud cover (common during flood events caused by excessive rainfall). The script uses a threshold of -15 decibels to classify flooded pixels. This value can be adjusted to suit your area of interest. In addition, to help the viewer orientate themselves, a clear Sentinel-2 image is used as the basemap for this visualisation so that it can be easily interpreted where the flood extent reaches for those unfamiliar with interpreting SAR images. + +## Description of representative images + +**Flooding in the UK 28th January 2021** +![flooding](fig/fig1.jpg) diff --git a/data-fusion/s1_flooding_visualisation/fig/fig1.jpg b/data-fusion/s1_flooding_visualisation/fig/fig1.jpg new file mode 100644 index 00000000..a3175bc5 Binary files /dev/null and b/data-fusion/s1_flooding_visualisation/fig/fig1.jpg differ diff --git a/data-fusion/s1_flooding_visualisation/script.js b/data-fusion/s1_flooding_visualisation/script.js new file mode 100644 index 00000000..94fa1133 --- /dev/null +++ b/data-fusion/s1_flooding_visualisation/script.js @@ -0,0 +1,31 @@ +//VERSION=3 +function setup() { + return { + input: [{ + datasource: "S2L2A", + bands: ["B08", "B03", "B04", "CLM", "CLP"] + }, + { + datasource: "S1GRD", + bands: ["VV", "VH", "dataMask"] + } + ], + output: { bands: 4 }, + mosaicking: "SIMPLE" + }; +} + +function toDB(input){ + return 10 * Math.log(input)/Math.LN10; +} + +function evaluatePixel(sample) { + var S1 = sample.S1GRD[0]; + var S2 = sample.S2L2A[0]; + if (toDB(S1.VV) <= -15){ + return [S1.VV * 10, S1.VV * 10 , S1.VV * 50, 1]; + } else { + const f = 2.5; + return [f*S2.B08,f*S2.B08, f*S2.B08,1] + } +} \ No newline at end of file