https://github.com/dangeospatial/gee_wetland_classification

A sample workflow for classifying wetlands in Google Earth Engine. Uses data from multiple sources.

https://github.com/dangeospatial/gee_wetland_classification

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.8%) to scientific vocabulary

Keywords

feature-selection google google-earth-engine hyperopt python3 ray-tune remote-sensing satellite-imagery spectral-indices
Last synced: 5 months ago · JSON representation

Repository

A sample workflow for classifying wetlands in Google Earth Engine. Uses data from multiple sources.

Basic Info
  • Host: GitHub
  • Owner: DanGeospatial
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 30.3 KB
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
feature-selection google google-earth-engine hyperopt python3 ray-tune remote-sensing satellite-imagery spectral-indices
Created about 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

GEE Wetland Classification

A workflow for classifying wetlands in Google Earth Engine using Landsat 8-9, Sentinel 2 and PlanetScope. Integrates cloud-local processing fusion to enhance earth engine algorithm performance using Ray Tune and HyperOPT.

Important:

You will get bad results if your training points are of poor quality. In an ideal workflow one would have training points that represent the full range of spectral values for each class you are trying to distinguish. Training points should be: - generated randomly across your AOI (not clustered in specific areas) - sufficient number of points for each class, especially for those with similar physical properties - class types should be logical

Features:

  • Sentinel 2 Imagery with improved cloud masking using the sentinel2-cloud-detector library
  • Computes several indices that can be selected for classification
  • Fusion of SAR, Elevation and Multispectral Imagery
  • Uses the Random Forest algorithm for Classification
  • Incorporates Recursive Feature Elimination for band selection

Indices Computed Within Earth Engine (LS & S2):

  • Normalized Difference Vegetation Index
  • Normalized Difference Water Index
  • Normalized Difference Moisture Index
  • Green 1 Chlorophyll Index
  • Enhanced Vegetation Index
  • Standardized Vegetation Index
  • Simple Ratio Index

Indices Computed Within Earth Engine (PS):

  • Normalized Difference Vegetation Index
  • Normalized Difference Water Index
  • Modified Normalized Difference Yellowness Index
  • Green 1 Chlorophyll Index
  • Yellow Edge Index
  • Enhanced Vegetation Index
  • Standardized Vegetation Index
  • Simple Ratio Index

Indices Computed Within SAGA GIS: - Topographic Wetness Index - Topographic Position Index

Project Description:

This project had two primary goals (1) to refine optimization methods for improved classification accuracy and (2) to compare the capability of three satellite platforms to classify wetlands. In addition to these two primary goals the importance of Short-wave infrared (SWIR) and thermal images for wetland classification will also be tested. Landsat 8-9 and Sentinel 2 have SWIR bands whereas and PlanetScope does not. PlanetScope imagery is paid, but it has much higher temporal and spatial resolution than Landsat 8-9 or Sentinel 2. This project was tested in the Yukon, Canada which has experienced more frequent clouding in recent decades. Code was switched from using GEE JavaScript to Python. Personally, I think dislike the GEE JavaScript environment. Previous code using JavaScript is available but will not be worked on.

Results:

Accuracy:

PlanetScope - 0.8493
Sentinel 2 - 0.8219
Landsat 8-9 - 0.8412

Optimal Bands:

PlanetScope: - b2, b3, b4, b5, b6, b7, b8 - Normalized Difference Vegetation Index - Normalized Difference Water Index - Topographic Wetness Index - Modified Normalized Difference Yellowness Index - Green 1 Chlorophyll Index - Yellow Edge Index - Enhanced Vegetation Index - Simple Ratio Index - VH - VV

Sentinel 2: - b2, b4, b5, b6, b7, b8, b8A, b11, b12 - Normalized Difference Vegetation Index - Normalized Difference Moisture Index - Topographic Wetness Index - Green 1 Chlorophyll Index - Enhanced Vegetation Index - Standardized Vegetation Index - Simple Ratio Index - VH - VV

Landsat 8-9: - b3, b4, b5, b6, b7, ST10 - Normalized Difference Vegetation Index - Normalized Difference Water Index - Topographic Wetness Index - Normalized Difference Moisture Index - Green 1 Chlorophyll Index - Enhanced Vegetation Index - Standardized Vegetation Index - VV

Owner

  • Login: DanGeospatial
  • Kind: user
  • Location: Canada

GitHub Events

Total
  • Delete event: 1
  • Push event: 6
  • Pull request event: 4
  • Create event: 1
Last Year
  • Delete event: 1
  • Push event: 6
  • Pull request event: 4
  • Create event: 1