Reproducibility package: PCA–SOM–KMeans clustering of LiDAR-derived structural predictors

Published: 22 January 2026| Version 1 | DOI: 10.17632/26pw833vxb.1
Contributors:
Nasrin Salehnia,
,
,

Description

This dataset supports the study “Unsupervised Machine Learning of LiDAR-Derived Forest Structure to Support Ecosystem Monitoring in Minnesota’s Kawishiwi Ranger District” (Salehnia et al., 2026; under review at Ecological Informatics). The working hypothesis of the study is that LiDAR-derived canopy structure metrics, summarized over a regular grid, can be used to objectively delineate spatially coherent forest structural types (clusters) that are meaningful for ecosystem monitoring and interpretation of forest heterogeneity. The dataset includes (i) Python code to derive structural predictors from a Canopy Height Model (CHM) raster and (ii) code to perform an unsupervised learning workflow consisting of PCA-based dimensionality reduction, Self-Organizing Map (SOM) training, and K-means clustering. The main data file (predictors_with_latlon.csv) contains gridded observations with Latitude/Longitude (EPSG:4326) and corresponding LiDAR/CHM structural predictors that quantify canopy height distribution, variability, and vertical stratification (e.g., percentiles, variability metrics, and stratum-based measures). These predictors were computed from CHM values after applying a simple quality-control filter to reduce common artifacts (thresholds and justification are documented in the scripts and in the manuscript Methods). The workflow produces diagnostic outputs (PCA scree/variance summaries and loading tables, SOM grid evaluation metrics and U-matrix visualization, and K-means cluster selection metrics) and assigns each grid cell/point to a structural cluster. The resulting cluster patterns can be interpreted as distinct forest structural regimes across the study area (e.g., differences in canopy height, structural complexity, and strata occupancy), providing a reproducible basis for mapping and monitoring forest structure. Methodological details and parameter settings are described in Salehnia et al. (2026), Sections 2.2–2.5. Users can apply the scripts to other CHM/LiDAR products by updating file paths and adapting the CHM quality-control thresholds to match local canopy height ranges and data characteristics. Intended use: The code and example data can be reused to reproduce the results of the study and/or to apply the same PCA–SOM–K-means clustering approach to other LiDAR/CHM-derived structural datasets.

Files

Steps to reproduce

The scripts and dataset in this repository correspond to the manuscript “Unsupervised Machine Learning of LiDAR-Derived Forest Structure to Support Ecosystem Monitoring in Minnesota’s Kawishiwi Ranger District” (Salehnia et al., 2026), currently under review at Ecological Informatics. Methodological details are provided in the manuscript (Sections 2.2–2.5). To reproduce the main results: Install the required Python packages (see requirements.txt / README). Run 01_compute_lidar_predictors_from_chm.py to compute structural predictors from the input CHM GeoTIFF (edit paths and CHM range in the script). Use the resulting predictor table (predictors_with_latlon.csv) as input to 02_pca_som_kmeans_pipeline.py to perform PCA-based dimensionality reduction, SOM training, and K-means clustering (edit input/output paths and key parameters). Outputs (plots, tables, and the cluster GeoTIFF) are written to the outputs/ directory.

Institutions

Categories

Code Metrics, Lidar, Lidar Remote Sensing, Database, Cluster Analysis

Funders

  • US Forest Service
    United States Department of Agriculture
    District of Columbia, United States
    Grant ID: 24JV11111137108

Licence