Coder Social home page Coder Social logo

nguyenduy1133 / s1flood Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bendv/s1flood

0.0 0.0 0.0 68 KB

GEE flood algorithm as described in DeVries et al., Remote Sensing of Environment (2020)

License: MIT License

JavaScript 33.98% Python 66.02%

s1flood's Introduction

s1flood

Google Earth Engine (GEE) flood algorithm as described in DeVries et al., Remote Sensing of Environment (2020).

An account on the GEE is required to use s1flood. To sign up for an account, go to https://earthengine.google.com.

1. On the GEE Playground

Load the repository by including the following line in your script:

var s1flood = require('users/bdv/s1flood');

Specific scripts (functions) can be accessed as follows:

var zscore = require('users/bdv/s1flood:zscore');
var mapFloods = require('users/bdv/s1flood:mapFloods');

Examples

Summary stats demo: https://code.earthengine.google.com/fe91cf1ab5df51fe107dd9b07f84835a

Houston (Hurricane Harvey), 2017-08-30: https://code.earthengine.google.com/5ff925dd39ac4a1994719bb4f7681940

Beira, Mozambique (Cyclone Idai), 2018-03-23: https://code.earthengine.google.com/444cf654636f01877875721c9c402c7c

The Bahamas (Hurricane Dorian), 2019-09-04: https://code.earthengine.google.com/29e799edb05ab69e11dfa3bd14146e33

Omaha, Nebraska, 2019-03-25: https://code.earthengine.google.com/5bdf08bae781e45564bc8c6b31d4067e

Central Greece, 2018-03-01: https://code.earthengine.google.com/3ee7b5408c7a7aa1ee13988afa6236c9

2. Python Package

To install the s1flood python package into a conda environment:

conda create -n ee python earthengine-api
conda activate ee

You will need to authrorize use of your GEE account the first time you load and inialize the ee module:

python -c "import ee; ee.Initialize()"

Follow the instructions after running this code.

Finally, install s1flood using pip.

pip install s1flood

Using DSWE

In addition to using Sentinel-1 backscatter anomalies (Z-scores) to map floods, Landsat data are used to map historical inundation and permanent open water. Two options are avialable for the historical inundaiton and permanent open water mapping:

  1. Exclusive use of the JRC Global Surface Water (GSW) dataset. Two probability thresholds are applied: 90% for permanent open water and 25% for seasonal inundation.
  2. Combined use of the JRC-GSW and the Dynamic Surface Water Extent (DSWE). The two thresholds described in (1) are applied to both datasets to define permanent open water and seasonal inundation.

Option (1) is used by default, and Option (2) is triggered by the use_dswe argument in the mapFloods() function. Use of this option requires installation of the eedswe package, available here. mapFloods() will default to Option (1) with a warning if eedswe is not installed and use_dswe is True.

Examples

Some example notebooks are included in the "examples/" directory. To run these, you also need to install geemap, matplotlib, pandas and jupyter:

conda install geemap matplotlib pandas jupyter
jupyter notebook

Reference

DeVries, B., Huang, C-Q., Armston, J. Huang, W., Jones, J.W. and Lang M.W. 2020. Rapid and robust monitoring of floods using Sentinel-1 and Landsat data on the Google Earth Engine. Remote Sensing of Environment, 24:111664, doi:10.1016/j.rse.2020.111664.

s1flood's People

Contributors

bendv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.