This repo contains the logic used in the Google Earth and Google Earth Engine (GEE) Medium blog post: Improved forest carbon estimation with AlphaEarth Foundations and Airborne LiDAR data
This repo demonstrates how to use Google Earth Engine and the AlphaEarth Foundations geospatial embedding fields to generate canopy height models. We derive our reference canopy height measurements from aerial LiDAR aggregated from the USGS 3DEP program. Canopy height was modeled using elastic net regression.
The demonstration has three steps:
- Constructing a canopy height modeling dataset in Google Earth Engine. Here, we sample the canopy height and the spatially/temporally coincident embedding fields values.
- Fitting an elastic net regression model to estimate canopy height. We use the Optuna package to efficiently search the elastic net hyperparameters.
- Applying the elastic net model in Google Earth Engine to map canopy height.
Steps 1 and 3 are performed using the Google Earth Engine JavaScript playground. Step 2 is performed locally using several standard Python data science libraries (e.g., SciKit-Learn). Below, we provide instructions for configuring a conda environment with the necessary packages.
Install the conda environment:
conda env create -f environment.ymlActivate the conda environment
conda activate gee_demoRegister the kernel so it can be selected in the Jupter Notebook
python -m ipykernel install --user --name=gee_demo --display-name="Python (GEE demo)"