Skip to content

Surface water mapping using Sentinel-1 and Google Earth Engine

Notifications You must be signed in to change notification settings

alexvmt/surface_water_mapping

Repository files navigation

Surface water mapping using Sentinel-1 and Google Earth Engine

Workflow using the Google Earth Engine Code Editor

  1. Check data availability for date range and region of interest using check_data_availability.js
  2. Get water classification threshold (Otsu's method) using get_water_classification_threshold.js
  3. Map surface water (using previously found threshold) using map_surface_water.js

Workflow using the Google Earth Engine Python API

Open In Colab

  1. Open surface_water_mapping.ipynb in Google Colab
  2. Define date range and region of interest (set other parameters, too)
  3. Use water classification threshold from above
  4. Explore water classification
  5. Export polygons in shapefile format to Google Drive
  6. Once export is finished, combine shapefiles into one final shapefile (also repair invalid geometries)

Notes

  • Sentinel-1A was launched in April 2014 but Sentinel-1B only in April 2016.
  • In general, each satellite has a 12-day revisit orbit, which makes a 6-day revisit orbit when they're combined.
  • Sentinel-1B has been broken since December 2021 - as a consequence, there's not only less coverage since then but the observation plan has also been changed.
  • This tutorial includes a very useful script to be used in the Google Earth Engine Code Editor to check the availability of data for specific countries and regions according to the actual and planned operations in the observation scenario plan.

Example (Moremi Game Reserve, Botswana, 2016-04-22)

moremi game reserve 2016-04-22

Backlog

  • improve speckle noise filtering
  • improve water classification method
  • validate water classification
  • explore artifacts

Inspiration and references