Releases: IndigoWizard/wildfire-burn-severity
v1.0.0
Wildfire Burn Severity Analysis - v1.0.0
Overview
This release marks a significant milestone as the project transitions from a static .html
-based webmap to a fully interactive and dynamic web application built using Streamlit framework. The new app enhances user interactivity, introduces new features for analysis and visualization, and improves overall accessibility and usability.
Key Changes
Migration to Streamlit Web App with the v1.0.0:
Rebuilt the application as a Streamlit web app to replace the standalone static .html
file.
Interactive user inputs for:
- Date selection (pre-fire and post-fire imagery).
- Cloud coverage threshold.
- Area of interest (AOI) file uploads.
Added support for following indices and layers:
- Normalized Difference Water Index (NDWI).
- Normalized Burn Ratio (NBR).
- Differenced Normalized Burn Ratio (dNBR).
- Reclassified dNBR (classified burn severity levels).
Improved map visualization, including fixing date discrepancies on layer names.
New Features
Raster Masking:
- Added land and water masks for cleaner visualization.
- Improved variable naming for clarity and removed unused functions.
Burn Scar Area Vector Layer:
- Displays a vector layer that calculates and highlights burnt areas using a supervised classification of dNBR.
Area Statistics and Results Reporting:
- Calculates AOI and individual supervised dNBR classes surface areas.
- Introduced a pie chart visualization for burn severity statistics using
nivo
andmui
libraries. - Enhanced layout and organization of report sections.
Accessibility Features:
- Implemented colorblind-friendly palettes: Deuteranomaly, Protanomaly, Tritanomaly, and Achromatopsia.
- Dynamically updates raster layers, legends, and visual stats (e.g., pie chart) to match the selected palette.
Improved User Experience
Streamlit UI Enhancements:
- Redesigned layout:
- Added a sidebar with navigation and essential information.
- Included a map legend for better interpretability of layers.
- Organized the interface with responsive columns for desktop and mobile devices.
- Custom CSS for a polished dark and light theme experience.
Resource consumption optimization:
- Switched to a form-based input system to minimize resource usage and prevent app crashes on Streamlit Cloud.
- Enhanced performance for large AOIs.
Technical Improvements
Authentication Method Update:
- Integrated a new Google Earth Engine authentication method using a google service account and key.
- Deprecated geemap-based authentication.
Requirements Updates:
- Refactored
requirements.txt
for compatibility with Streamlit Cloud. - Updated package versions to resolve compatibility issues with newer dependencies.
- Added
streamlit-elements
for enhanced visual components.
Additional Enhancements
Informational Sections:
- Included detailed explanations for result interpretation, data sources, and credits.
- Enhanced navigation for better usability.
Removed Legacy Components:
- Deleted unused Python scripts from the previous version.
- Removed dependencies on unused packages like
geemap
.
How to Update
- Install or update the required dependencies:
pip install -r requirements.txt
- Deploy the app locally or on Streamlit Cloud for a seamless experience:
- Ensure the service account JSON key for Google Earth Engine is properly configured.
v0.1.0-beta
Wildfire Burn Severity Analysis - Release 0.1.0
Purpose
The project has been available on GitHub for some time now and it lacked a formal version number and release notes. This release aims to establish version 0.1.0 for the existing project and does not encompass any upgrades or new features. Additionally, this release serves as a precursor to a major upgrade planned for the near future which is based on Streamlit framework for a more user-friendly experience.
Project Description
Python script that leverages Google Earth Engine python API, along with Folium and geemap, to assess surface areas affected by wildfires. It relies on Normalized Burn Ratio (NBR) to highlight affected areas and estimate burn severity levels.
The project's primary use-case revolves around the analysis of the wildfire that occurred in Mount Chenoua, Tipaza, Algeria, from August 14th to 16th, 2022. The generated burn severity map provides valuable insights into the extent of damage caused by the wildfire.
Features
- Utilizes Google Earth Engine Python API for remote sensing via Sentinel-2 satellite imagery.
- Calculates the Normalized Burn Ratio (NBR) to assess burn severity levels.
- Renders an interactive map with Folium to visualize the analysis results.
- Delineates burn scar areas
- Provides a static web app for easy access to the burn severity analysis results with minimal interaction (here.)
How to Use
If you wish to use or contribute to this project, here are the necessary steps:
- Sign up for a Google Earth Engine account.
- Install the gcloud CLI for authentication.
- Ensure that you are using Python 3.9 or higher.
- Install project dependencies from the
requirements.txt
file using the following command:
conda install --file requirements.txt
- Modify the script to use your desired satellite imagery data for the pre-fire and post-fire periods, ensuring that the images have less than 10% cloud coverage.
- Define your Area of Study (AOS) by specifying its coordinates in the aos.py file.
Credits
This project was created using the following technologies and datasets:
Project by IndigoWizard.