Skip to content

University of California, Berkeley - Environmental Fluid Mechanics and Hydrology Group - 2022

License

Notifications You must be signed in to change notification settings

aesgeorges/MangroveCaribRS

Repository files navigation

MangroveCaribRS

Remote Sensing Health Analysis of Mangrove Forests in the Caribbean.


Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Acknowledgments

About the Project

This analysis makes use of an HistGradientClassifier and NDWI, NDVI indices for land classification to track the canopy cover of mangroves in the region over the past decade (2010-2022). Metrics such as NDVI, UVVR, and Gross Cover Change are used to evaluate the evolution of mangrove health at three major Caribbean Sites:

  • Baie de Grand-Pierre, Artibonite, Haiti
  • Baie de Caracol, Nord-Est, Haiti
  • Caroni Swamp, Trinidad, Trinidad-and-Tobago
GRC Poster Draft

GRC Poster_Alexandre Georges.pdf

This project is being developed by Alexandre E. S. Georges, PhD Student in Environmental Engineering at the University of California, Berkeley, supervised by Mark T. Stacey.

(back to top)

Built With

  • Python
  • Jupyter
  • scikit-learn
  • xarray
  • pandas
  • rasterio

(back to top)

Getting Started

This project and analysis involve three major steps using different scripts and notebooks. These steps, in order are:

  1. Data Acquisition and Mosaic Merging

data_acq.ipynbmerge.py

  1. Model Training

model_selection.ipynb

  1. Data Processing and Analysis

preprocess.ipynbclassification.ipynbanalysis.ipynb

Requirements

All the libraries used for this project are loaded in a conda environment. Their names and versions can be found in requirements.txt. The file can be directly used in conda to create a copy of the development environemnt.

(back to top)

Usage

Here is a usage case of this code to analyze the mangrove forest in Caracol Bay, Haiti (codenamed CCHT):

  1. Data Acquisition

    1.1. Data Download

    Assuming the site shapefile is correctly named (CCHT.shp) and placed (./datasets/Shapefiles/CCHT.shp). Run the data_acq.ipynb notebook, after making sure that the search and download filters (as defined in the params file ./codebase/params.py) are corrected.

    • Input the correct sitecode (here CCHT) when prompted so the images are downloaded to the right folder.

    1.2. Mosaic Merge

    Once the download is completed (usually after 15-20mn), make sure to mosaic them as they are downloaded as individual images to clipped to your aoi.

    Run ./scripts/merge.py, specifiying which site (CCHT) you want to mosaic for.

    • If the downloaded images will be used to train the land classification model, input True when prompted. Otherwise, input false.
  2. Model Training

    Assuming the model training images and training labels exist and are properly named (CCHT_training.shp). Run the model_selection.ipynb notebook. Make sure to specify under the variable site_code in the beginning of the notebook which sites you want to use training labels for.

    This notebook will output a .joblib file, a dumped version of the classification model to be used later, in the ./outputs/models/ directory.

  3. Data Processing Analysis

    3.1 Visualize your mosaics using data_vis.ipynb, making sure to discard any image that is unsatisfacory that might have slipped past merge.py tolerance factors.

    3.2 Preprocess your images using preprocess.ipynb

    Output: ./datasets/Processed/CCHT_obs.nc

    3.3 Classify the images using classification.ipynb

    Output: ./datasets/Processed/CCHT_classified.nc

    3.4 Run the analysis using analysis.ipynb. Enjoy your final figures!

(back to top)

Acknowledgments

I would like to acknowledge PlanetLabs who provided the data for this project.

(back to top)

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

University of California, Berkeley - Environmental Fluid Mechanics and Hydrology Group - 2022

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published