This document accompanies
hiyagon_report.html. It explains, in
detail, every figure in the report, the technical methods behind them,
and how each result compares with the published literature. Inline
citations point to the numbered References at the end.
The analysis maps mangrove extent, change, biomass and carbon over the Hiyagon wetland (Okinawa, Japan; ~26.31 °N, 127.83 °E) by combining four independent data sources, all reprojected to EPSG:32652 (WGS84 / UTM 52 N).
| Source | What it is | Used for | Reference |
|---|---|---|---|
| AlphaEarth / Satellite Embedding V1 | 64-dimensional annual analysis-ready embeddings at 10 m, distilled by a deep learning “embedding-field” model from multi-sensor Earth observation, available yearly from 2017 | Primary clustering / change | Brown et al. 2025 [1]; GEE dataset
GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL [2] |
| Sentinel-2 L2A (SR Harmonized) | ESA optical surface reflectance, 10–20 m, 13 bands | Independent clustering, true-colour, biomass extrapolation | Drusch et al. 2012 [3] |
| ETH Global Canopy Height 2020 | 10 m global canopy-top height from GEDI LiDAR + Sentinel-2 deep learning | Reference canopy height → biomass | Lang et al. 2023 [4] |
| DJI Zenmuse L1 drone survey (2025-12-05) | 61 M-point LiDAR cloud + 114 RGB images | Orthophoto, CHM, validation, final biomass | DJI [5]; OpenDroneMap [6] |
| Mangrove polygons (KML) | 13 expert-digitised conservation polygons from the prior study | AOI hull + cluster “ground truth” | — |
The AOI is the convex hull of the 13 polygons (~4.4 ha, ~444 pixels at 10 m).
Each annual data stack (AlphaEarth 64-band, or Sentinel-2 15-band) is clustered with k-means [7,8]. One model is fit on all hull pixels pooled across all years (features standardised to zero mean / unit variance), then applied per year, so cluster identities stay consistent between years — a prerequisite for per-pixel change detection. The number of clusters k (3–7) is chosen by the silhouette coefficient [9] (k = 3 here for both stacks). The cluster whose pixels most overlap the 13 prior polygons is labelled “mangrove” (anchoring the unsupervised result to expert ground truth).
Change is computed per pixel by comparing the mean mangrove state of the first three vs last three years: a pixel is growth (non-mangrove → mangrove), decay (mangrove → non-mangrove), stable mangrove, or non-mangrove.
Sentinel-2’s finest native resolution is 10 m; the 20 m bands add spectral detail (not finer pixels) and are resampled to 10 m. The 15-band feature stack is the 10 m bands (B2, B3, B4, B8) + 20 m bands (B5–B7 red-edge, B8A, B11/B12 SWIR) plus five normalised indices, each diagnostic of vegetation or water:
Composites are annual cloud-masked medians (scenes with <40 % cloud, SCL cloud / shadow / cirrus pixels removed).
“ETH 10 m canopy height (2020) → AGB via the Simard 2019 mangrove allometry gives a reference biomass; a Sentinel-2 spectral-index model extends it to all years.”
This sentence describes a three-step chain
(08_biomass.py):
Reference canopy height. We take the ETH Global Canopy Height map (Lang et al. 2023 [4]) for 2020 — a 10 m product trained on GEDI space-borne LiDAR footprints and Sentinel-2 imagery — clipped to the AOI (AOI range 4–18 m).
Height → above-ground biomass (AGB) via a mangrove allometric power law of the form used by Simard et al. (2019) [15]:
AGB [Mg ha⁻¹] = 10.44 · H^0.874 (H = canopy height in m)
Simard et al. produced the global mangrove canopy-height and biomass maps by linking field-measured biomass–height allometry to remotely-sensed canopy height; their region-specific models carry RMSE of 54–103 Mg ha⁻¹. The single power law used here is an approximation in that framework (see Limitations). Applied to the ETH height it yields a reference per-pixel AGB for 2020.
Extend to all years with a spectral model. ETH height is single-epoch (2020 only), so to obtain a time series (2017–2025) we fit an empirical multiple linear regression from Sentinel-2 spectral predictors to the 2020 reference AGB, over mangrove pixels:
AGB ≈ f(NDVI, NDRE, NDMI, B8, B11) (ordinary least squares; training R² ≈ 0.34)
The fitted model is then applied to each year’s Sentinel-2 composite, giving an AGB map per year. (The modest R² reflects spectral saturation of optical indices against biomass — a well-known limitation [16] — and is the main reason the LiDAR-direct estimate in §2.5 is more reliable.)
Carbon and CO₂. Per-cell AGB is converted to carbon and CO₂-equivalent with IPCC / blue-carbon defaults:
C_above = AGB · 0.451 (carbon fraction, Hamilton & Friess 2018 [17])
C_total = AGB · (1 + 0.49) · 0.451 (+ below-ground biomass, root:shoot 0.49 [18,19])
CO₂e = C_total · 44/12 (molecular-mass ratio)
The carbon-sequestration rate is the slope of total carbon vs year (ordinary least squares; the report shows ≈ 9.7 Mg C yr⁻¹, trend R² ≈ 0.92).
The 114 DJI Zenmuse L1 images are processed into a 2.5 cm orthophoto by OpenDroneMap [6] — Structure-from-Motion + multi-view stereo + orthorectification, georeferenced from the image RTK-GPS EXIF. Because the ortho is RGB-only and very high resolution, it is clustered with HDBSCAN [20,21], a density-based algorithm that (unlike k-means) finds the cohesive green-canopy density mode and labels ambiguous/mixed pixels as noise. Features are R, G, B plus two RGB indices: ExG = 2g−r−b (excess green [22]) and VARI = (g−r)/(g+r−b) [23]. The mangrove cluster is anchored to the polygons; the brightest non-green cluster (largest cell-count × brightness) is labelled bare ground (tidal flat).
The L1 cloud is binned to the 10 m satellite grid (for validation) and to the 0.5 m ortho grid (for the final biomass). Key steps:
Each figure is generated by the script in parentheses and embedded in the report as a PNG.
Coverage time-series
(04_visualize.py) — mangrove area (ha) per year,
2017–2025, from the AlphaEarth clustering. Area = (mangrove-cluster
pixel count) × 100 m² (each 10 m UTM cell = 0.01 ha). Shows the rise
1.17 → 2.37 ha.
Change map
(04_visualize.py) — the per-pixel growth / stable
/ decay classes (§2.1) drawn over the latest Sentinel-2 true-colour
composite. Green = growth, blue = stable mangrove, red = decay (none
here).
Yearly overlays
(04_visualize.py) — one panel per year: the
cloud-masked Sentinel-2 annual median true-colour image (B4/B3/B2) with
the detected mangrove mask drawn in yellow. This is the visual check
that the cluster tracks the real green patch as it expands.
Comparison — coverage
(07_compare_clusterings.py) — two coverage curves,
the AlphaEarth (64-band) vs Sentinel-2 (15-band) clusterings, showing
both independent feature sets reproduce the same expansion.
Comparison — agreement map
(07_compare_clusterings.py) — for the latest
common year, each pixel coloured by whether both methods, only one, or
neither call it mangrove. Title carries agreement %, IoU and κ (≈ 94 %,
0.73, 0.81).
Biomass (08_biomass.py) —
left: total AGB (Mg) and carbon stock (Mg C) per year on twin
axes, with the fitted sequestration slope; right: the 2025
per-pixel AGB map (Mg ha⁻¹). Built from the satellite pathway in
§2.3.
Ortho cluster
(10_ortho_cluster.py) — left: the drone
orthophoto over the AOI; right: the same with the HDBSCAN
mangrove cluster (yellow). Confirms the cm-scale delineation of the
dense canopy.
LiDAR validation
(09_lidar_validate.py) — four panels: (a) the 10 m
LiDAR CHM; (b) LiDAR vs AlphaEarth mangrove-mask agreement; (c) scatter
of LiDAR CHM vs ETH satellite height; (d) scatter of LiDAR AGB vs
satellite AGB. Demonstrates strong extent agreement (κ
up to 0.68) but weak per-pixel structural correlation
(r ≈ 0.27–0.38) — satellite maps where, LiDAR resolves
structure.
Final integrated biomass
(12_lidar_biomass.py) — four panels: (a) the LiDAR
CHM with detected tree tops; (b) the two mangrove masks compared
(ortho-HDBSCAN vs AlphaEarth); (c) AGB over the ortho mask; (d) a bar
chart of carbon stock by method/mask (satellite-spectral,
global-baseline LiDAR, and the two final LiDAR×cluster
estimates).
Mangrove above-ground biomass. Global mangrove AGB spans roughly 10–500 Mg ha⁻¹, with mature stands typically 100–300 Mg ha⁻¹ [28,29]. Our estimates are at the low end — satellite-spectral ≈ 65–70 Mg ha⁻¹ and LiDAR-direct ≈ 22–29 Mg ha⁻¹ — which is expected and consistent with a young, short, expanding stand (LiDAR mean canopy height 2.6–3.2 m, vs the ~8 m global mangrove mean [15]). The height-allometry/spectral methods over-estimate relative to the direct LiDAR measurement precisely because they assume taller canopy; this is the headline integration finding.
Canopy height. The LiDAR mean (2.6–3.2 m, max 15–18 m) and the ETH product (4–18 m) bracket each other; both are below mature mangrove canopy, again consistent with an establishing northern-limit site.
Mangrove expansion. The Ryukyu Islands sit near the northern global range limit of mangroves, where poleward expansion and establishment are documented [30,31]. A ~doubling of cover over 2017–2025 is plausible for a young / restored site and is corroborated independently by the AlphaEarth and Sentinel-2 clusterings (κ ≈ 0.81) and by the drone/LiDAR snapshot.
Blue carbon. Mangroves are among the most carbon-dense tropical forests [32]; our carbon-stock magnitudes (tens of Mg C over ~2–3 ha) are small only because the stand is small and young.
AGB = 10.44·H^0.874 is an approximation of the
region-specific Simard et al. (2019) framework [15], which itself
carries 54–103 Mg ha⁻¹ RMSE; mangrove allometry is also species- and
wood-density-dependent [18]. Field plots would be needed to calibrate
locally.All numbers and figures are produced by the scripts in this folder
(change_analysis/); see the main README.md for the pipeline and
run_all.py. The orthophoto is produced separately by
../../Hiyagon_Orthophoto/run_odm_hiyagon.py. Inputs are
public (Earth Engine, ESA) except the proprietary DJI L1 survey.
users/nlang/ETH_GlobalCanopyHeight_2020_10m_v1.Generated to accompany hiyagon_report.html. Figures
and statistics are reproducible from the change_analysis/
pipeline. Citations [1], [4], [15] and [17] were verified against the
primary sources; remaining references are the canonical primary sources
for the named methods and should be consulted directly before quoting
exact coefficients.