SECTION 4 · DATA DOWNLOADS
Reproducible. CC-BY-4.0. Cite us.
Every published artifact is regenerable from the committed manifests via make fetch && make compute. The per-LGU CSV is the hash-pinned canonical.
Published artifacts
| Artifact | Format | Schema |
|---|---|---|
| per_lgu_canopy.geojson | GeoJSON | 17 LGU polygons; canopy_<year>_ha and canopy_<year>_pct for year in 2019..2026; canopy_delta_2019_2026_pct; hansen_loss_ha_cumulative_2024; esa_tree_pct_2021 |
| per_lgu_canopy_2019_2026.csv | CSV | One row per (lgu_name, year). Columns: lgu_name, year, canopy_ha, canopy_pct, total_ha, hansen_loss_ha_cumulative, esa_tree_pct_2021 |
| per_barangay_canopy_model.geojson | GeoJSON | 892 OSM admin-level=10 barangay polygons; barangay_name, lgu_name, total_ha; canopy_pct_model_<year> and canopy_ha_model_<year> for year in 2019..2026; hansen_loss_ha_cumulative (stand-replacement loss ha, ~30 m, cumulative 2001-2025). Powers the accountability per-site lens. |
| pa_forest_loss.csv | CSV | One row per Philippine protected area (national designations). Columns: rank, site_id, name, desig, iucn_cat, status, status_yr, rep_area_ha, area_ha, forest2000_ha, loss_ha, pct_of_forest2000, pct_of_pa. WDPA boundaries x Hansen tree-cover loss 2016-2025. Powers the protected areas map. Hansen loss is stand replacement, not a deforestation verdict. |
| pa_forest_loss.geojson | GeoJSON | Per-PA simplified polygons; props = loss_ha, forest2000_ha, pct_of_forest2000, pct_of_pa, desig, lon/lat. The protected-areas map layer. |
| flood_canopy_barangay.csv | CSV | One row per NCR barangay. Columns: barangay_name, lgu_name, total_ha, canopy_pct_2025, canopy_pct_2019, canopy_trend_pct_per_yr, flood_frac, flood_pct, hand_m, elev_m, builtup_prob, dist_water_m. Observed July 2025 Sentinel-1 inundation paired with canopy and flood confounders. Powers the flood and canopy screen. A radar lower bound, not a causal model. |
| flood_canopy_barangay.geojson | GeoJSON | 892 barangay polygons; props = canopy_pct, canopy_trend, flood_pct, hand_m, builtup_prob, dist_water_m, flood_class, canopy_tercile, priority. The flood-and-canopy map layer. |
| BENCHMARKS.md | Markdown | Methodology cross-reference: adjacent published NCR canopy estimates (DENR, GFW, EJN, ScienceKonek, Meta) with their respective definitions; per-LGU MAE against the Meta calibration layer |
| methodology.md | Markdown | Input layers, NDVI threshold derivation, per-LGU aggregation math, known limitations |
| MODEL_CARD.md | Markdown | Pipeline overview, known biases, evaluation slices, optional calibrated head card if shipped |
Reproducibility
git clone https://github.com/xmpuspus/leaves-ph cd leaves-ph make hash-verify # asserts data/per_lgu/per_lgu_canopy_2019_2026.csv sha256 matches the canonical
If the hash differs, your pinned dependencies have drifted. Reinstall from requirements.txt.
Citation
@software{puspus_leaves_ph_2026,
author = {Puspus, Xavier},
title = {{Leaves.PH: open-source tree-cover validation for Metro Manila}},
year = {2026},
url = {https://github.com/xmpuspus/leaves-ph}
}