Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 HydroSAR: Satellite-Based Flood Intelligence Platform

Python 3.10+ FastAPI Google Earth Engine Streamlit

HydroSAR is a production-grade geospatial intelligence platform that detects flood inundation through cloud cover using Sentinel-1 Synthetic Aperture Radar (SAR) data.

HydroSAR Demo

By combining Google Earth Engine with a FastAPI async backend and a modern Streamlit dashboard, HydroSAR delivers near real-time flood impact analytics for disaster response and planning.


🚀 Key Features

  • SAR-Based Flood Detection: Uses Sentinel-1 VH backscatter for cloud-penetrating flood mapping
  • Dynamic Otsu Thresholding: Automatically determines optimal flood threshold using statistical variance separation
  • Terrain-Aware Filtering: Reduces false positives using slope-based correction from DEM data
  • Land Cover Impact Analysis: Intersects flood extent with ESA WorldCover to quantify damage by class
  • Async Job Processing: Non-blocking FastAPI job system for long-running Earth Engine tasks
  • Interactive Map UI: Before/After comparison using Folium split map visualization
  • Smart Caching Ready Architecture: Designed to support cached geospatial queries

🛠️ Tech Stack

Layer Technology
Cloud GIS Google Earth Engine
Backend FastAPI, Uvicorn
Frontend Streamlit, Folium
Geospatial GeoPandas, Shapely
Data Sources Sentinel-1 SAR, ESA WorldCover, SRTM DEM

🏗️ System Architecture

graph TD
    A[Streamlit UI] --> B[FastAPI Backend]
    B --> C[Job Manager]
    C --> D[Google Earth Engine Pipeline]
    D --> E[SAR Processing + Otsu Threshold]
    D --> F[Land Cover Analysis]
    E --> G[Flood Mask]
    F --> H[Impact Statistics]
    G --> I[Response Payload]
    H --> I
    I --> A
Loading

⚙️ Installation

1. Clone Repository

git clone https://github.com/sanatladkat/hydrosar.git
cd hydrosar 

2. Create Environment

conda env create -f environment.yml
conda activate hydrosar

3. Install Dependencies

pip install -r requirements.txt

4. Authenticate Google Earth Engine

earthengine authenticate

▶️ Run the Project

Start Backend

uvicorn backend.main:app --reload

Start Frontend

streamlit run app.py

📊 Output Example

  • Total Flooded Area (ha)
  • Cropland Impacted
  • Urban Infrastructure Affected
  • Primary Damage Zone

🧠 Core Methodology

SAR Flood Detection

HydroSAR uses Sentinel-1 VH backscatter differences between pre-event and post-event scenes to detect inundation.

Dynamic Thresholding (Otsu Method)

Automatically separates flooded vs non-flooded pixels by maximizing inter-class variance in radar backscatter.

Terrain Correction

Slope-based filtering reduces false positives caused by radar shadow and terrain distortion.


🌍 Use Cases

  • Disaster response and flood mapping
  • Agricultural damage assessment
  • Urban flood risk analysis
  • Insurance and risk modeling
  • Government emergency planning

About

Satellite-based flood intelligence platform using Sentinel-1 SAR, Google Earth Engine, and FastAPI for real-time disaster impact analysis.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages