Automated Flood Water Detection with Machine Learning and Satellite Imagery

Automated Flood Water Detection with Machine Learning and Satellite Imagery

Automated Flood Water Detection with Machine Learning and Satellite Imagery

An automated Python and machine learning workflow that detects flood water in before and after satellite imagery to map inundation quickly.

About this project

Project overview

Example workflow showing how Spatial Nexus approaches this type of analysis.

An automated Python and machine learning workflow that detects flood water in before and after satellite imagery to map inundation quickly.

  • GeoAI flood mapping
  • machine learning remote sensing
  • automated flood detection
  • Python geospatial automation
  • satellite flood monitoring

Project at a glance

Client
Disaster risk management
Sector
Disaster Response
Location
Sindh, Pakistan
Software
Python, Google Earth Engine, QGIS, scikit-learn, TensorFlow, SNAP

THE CHALLENGE

What needed solving

  • Manual flood mapping over large areas is too slow during an emergency.
  • Thresholds that work on one image often fail on another.

OBJECTIVES

What the project set out to do

  • Train a model to separate water from land.
  • Apply it automatically to before and after imagery.
  • Calculate flooded area by district.

Methodology

Our workflow, step by step

01

Training data

Water and non-water samples were collected from reference imagery.

02

Model training

A Random Forest classifier was trained on spectral bands and water indices.

03

Automated prediction

The model was applied to before and after scenes through a Python script.

04

Change and statistics

Newly flooded pixels were extracted and summarised by district.

Visual output

The map

Select the image to view it at full size.

Before and after Landsat images of Qambar district, Sindh, showing flood water

Results

What the analysis delivered

  • Automated water maps for each date.
  • A flood extent layer showing newly inundated land.
  • Flooded area statistics by district.

Key highlights

Why this project stands out

  • Machine learning classification
  • Fully scripted Python workflow
  • Before and after comparison
  • Repeatable for new events

Data sources

Data used

  • Landsat 8 and 9 imagery before and after flooding
  • Training samples for water and land
  • District boundaries

Tools and technologies

Software and methods

PythonRasterio, GeoPandas and scikit-learn
Google Earth EngineImagery access
QGISValidation and mapping
scikit-learn
TensorFlow
SNAP

Deliverables

What the client received

  • Flood extent layers
  • Python scripts and documentation
  • Area statistics

WHY IT MATTERS

Automated flood mapping gives responders a reliable picture within hours of new imagery, helping target relief and assess damage.

FAQ

Questions about this project

Why use machine learning for flood mapping?

It learns how water appears in imagery and adapts better than a single fixed threshold.

Can radar imagery be used?

Yes. Sentinel-1 radar sees through cloud and is often used during floods.

Planning a similar geospatial project?