Capability · physical_change / measure_physical_change
physical_change
A permit, a declared capacity, a satellite thumbnail — the record you already have for a site says what it was supposed to become, not what actually changed on the ground. This measures the real physical change between two dates. Given a real polygon and two LiDAR epochs, the same unmodified function computes volume change with honest uncertainty, coverage, and full evidence — validated on 4 independent real sites across 2 countries, never reinterpreted after seeing results (success/failure criteria were frozen before running any site).
Input / output
Input
- A real polygon (asset boundary)
- Epoch A: a LiDAR source + nominal date
- Epoch B: a second LiDAR source + nominal date
- Whether the dates are independently verified (e.g. by GPS time embedded in the points, not just the filename)
Output
volume_change_m3±uncertainty_m3usable_coverage_pct,n_stable_control_cellsstable_control_offset_m/sigma_m(calibration ring)classification(never forced — can come back inconclusive)evidence_refs— real point counts, runtimes, source filesverdict_block— verdict/confidence/declared_state/observed_state/delta/sensor_agreement/evidence/recommended_next_action, wrapped around the fields above
Real verdict_block, from the live Ca na Putxa site page (full raw measurement still included, nothing hidden — see the full JSON):
{
"verdict": "CHANGE_CONFIRMED",
"confidence": 0.999,
"declared_state": "Epoch A (2019-11-25) - reference/baseline surface",
"observed_state": "Epoch B (2024-04-16) - current surface",
"delta": {"volume_change_m3": 310357.2, "uncertainty_m3": 182.9, "unit": "m3"},
"sensor_agreement": {
"status": "not_applicable_single_sensor",
"note": "LiDAR vs. LiDAR - no second independent sensor to cross-check against today."
},
"recommended_next_action": "None - result is decisive."
}
confidence is never a new invented number — it's
derived from the same uncertainty_to_change_ratio
threshold the method already uses internally to decide
DECISION_USEFUL_CHANGE_DETECTED vs.
AMBIGUOUS_MAGNITUDE. It's null for any
hard-failed measurement, never a placeholder score. Every
on-demand paid measurement and all 536 free published site pages
carry this same block.
4 validated sites — real numbers, no cherry-picking
Success/failure thresholds (coverage ≥50%, ≥200 stable control cells, σ≤1.0m, |offset|≤2.0m) were frozen before any site was run. A 5th site (Pasco County, FL) genuinely failed — 0 points returned across multiple real bounding boxes — and was recorded as a failure, not retried into a pass.
| Site | Real dates | Coverage | σ control | Detection threshold | Result ± uncertainty | Ratio | Pass? |
|---|---|---|---|---|---|---|---|
| Ca na Putxa (Baleares, Spain) | 2019-11-25 → 2024-04-16 (GPS-time confirmed) | 83.5% | 0.3124 m | 0.937 m | +310,357.2 ± 182.9 m³ | 0.0006 | YES |
| Leon County, FL (USA) | 2009 → 2018 (official USGS project names) | 98.6% | 0.3463 m | 1.039 m | +87,954.6 ± 119.7 m³ | 0.0014 | YES |
| Orchard Ridge RDF, WI (USA) | 2006 → 2017 (official USGS project names) | 99.4% | 0.5325 m | 1.598 m | +226,719.8 ± 194.9 m³ | 0.0009 | YES |
| Vertedero de Alicante (Spain, mainland) | 2009 (Aug–Dec) → 2016–17 (Aug–Mar), official campaign window | 89.0% | 0.1544 m | 0.463 m | +1,091,709.8 ± 181.8 m³ | 0.0002 | YES |
4/4 sites — 2 countries (Spain, USA), 3 climates (Mediterranean,
subtropical Florida, glacial Wisconsin) — same
measure_physical_change() function, zero site-specific
code branches. Magnitudes are not compared against any declared
capacity figure here — that cross-check is a separate,
source-specific analysis (MITECO/PRTR for Spain, LMOP for the US
sites). Completed for 2 of 4 sites so far (Ca na Putxa, Alicante —
below); not yet attempted for the other 2.
Declared vs. measured — 2 of 4 sites done, real answers, not clean ones
For Ca na Putxa, the measured volume change above (+310,357 ± 183 m³) was compared against the site's declared waste tonnage (Spain's MITECO annual landfill report, 2019–2023, 5 official PDFs, cross-checked line-by-line against the aggregate regional total — matched exactly in all 5 years) converted to volume with a cited EPA density factor (AP-42, two documented regimes: freshly-compacted vs. settled/degraded waste — no site-specific density study exists for Ca na Putxa, so both are shown, not one picked to fit).
Result: the measured volume is consistently below the declared-mass
estimate, in all 4 declared-mass-window × density-regime
combinations — but the gap ranges from essentially nothing
(-0.6%, settled density + closest calendar window) to large (-47.9%,
fresh density + widest window). That's not a clean confirmation and
not a clean anomaly — classified honestly as
UNRESOLVED_SIGNAL, not forced either way.
| Declared-mass window | Density regime (EPA AP-42) | Expected volume | Declared − measured | % |
|---|---|---|---|---|
| 2019–2022 (388,711 t) | Fresh-compacted (653–830 kg/m³) | 468,327–595,270 m³ | -284,913 to -157,970 m³ | -47.9% to -33.7% |
| 2019–2022 (388,711 t) | Settled/degraded (1,008–1,127 kg/m³) | 344,908–385,626 m³ | -75,269 to -34,551 m³ | -19.5% to -10.0% |
| 2020–2023 (352,050 t) | Fresh-compacted (653–830 kg/m³) | 424,157–539,127 m³ | -228,770 to -113,800 m³ | -42.4% to -26.8% |
| 2020–2023 (352,050 t) | Settled/degraded (1,008–1,127 kg/m³) | 312,378–349,256 m³ | -38,899 to -2,021 m³ | -11.1% to -0.6% |
Two honest reasons this isn't fully resolved yet, both plausible, neither implying any wrongdoing: (1) MITECO's 2024 annual report isn't published yet (verified 2026-09-01) — the declared-mass window can't be extended to match the real LiDAR end date (2024-04-16), so every window here undercounts the declared side by ~3.5 months, pushing the true gap smaller than shown. (2) there's no site-specific density study for Ca na Putxa — waste settles and degrades over ~4 years, which alone could explain most of the gap (the settled/degraded regime brings it to near-zero). This is what the product actually does: run the real numbers, show the honest range, and say plainly what would resolve it (a 2024 MITECO figure, once published; a site-specific density study) instead of picking the number that tells a cleaner story.
Vertedero de Alicante (Fontcalent) — a much bigger honest gap
Same method, second site: measured +1,091,710 ± 182 m³ (2009→2016/17) against declared tonnage from the same MITECO landfill report, facility "Alicante-Fontcalent CTRSU" — but here the declared side has a real structural hole: MITECO's series only starts in 2013 (verified live), so 2009–2012 (roughly the first 4 years of the measured window) has no official figure at all. The 5 years that do exist (2013–2017, 764,264 t of processed reject sent to landfill — the plant's own residual, not raw intake) were cross-checked against the provincial total for 2017 only (matched exactly); 2013–2016 were read directly from clean, consistent rows but without that same aggregate check, declared here as a real limitation, not hidden.
| Declared-mass window | Density regime (EPA AP-42) | Expected volume | Declared − measured | % |
|---|---|---|---|---|
| 2013–2017 (764,264 t) | Fresh-compacted (653–830 kg/m³) | 920,800–1,170,389 m³ | -78,679 to +170,910 m³ | -6.7% to +18.6% |
| 2013–2017 (764,264 t) | Settled/degraded (1,008–1,127 kg/m³) | 678,140–758,199 m³ | +333,511 to +413,569 m³ | +44.0% to +61.0% |
Unlike Ca na Putxa (measured consistently below declared), here measured is roughly even-to-above declared — but this comparison is missing ~4 years of real declared tonnage at the front end (not ~3.5 months like Ca na Putxa), so the true declared total is necessarily higher than what's summed here, which would shrink every one of these deltas. Directionally informative, not a resolved answer — same UNRESOLVED_SIGNAL discipline, bigger honest gap in the data itself this time.
Methodology
Stable-terrain calibration ring (15–350m from the polygon edge)
gives a robust offset + sigma (median + MAD) between the two
epochs. Detection threshold = 3×sigma. Per-cell height difference
below threshold is not counted as change. Volume = sum of
significant cells × cell area. Classification is
NO_SIGNIFICANT_CHANGE_DETECTED if the change is
smaller than its own uncertainty, AMBIGUOUS_MAGNITUDE
(hard fail, never reinterpreted) if the ratio is too close to
call, or DECISION_USEFUL_CHANGE_DETECTED otherwise —
exactly what all 4 sites above returned.
Status
Method validated 4/4. gate_unblocks_deployment for the free published-site
program stays false permanently — those 390+ pages stay free, that's not
changing. The method is now running at scale against the full real EPA LMOP × USGS 3DEP
corpus (531 candidates) — every measured site, pass or honest calibration failure, gets its
own page with a downloadable JSON: see all measured sites →
The LMOP mass-batch subset (530 of these sites) is also available as a single
downloadable package: Kaggle →
· Zenodo (citable, DOI: 10.5281/zenodo.22283729) →
€149 — measure your site
Enter your site's coordinates, we check real LiDAR coverage automatically — if there's no data for your location, you're never charged. The measurement covers a 200×200m square centered on the coordinate you give us — not a polygon you draw (if your asset is bigger or an irregular shape, tell us in the request-access form below instead; that path can take a real custom polygon). Before you pay, we show you the exact area and the real LiDAR dates we'd use, so you can confirm it's the right spot. Once paid, delivery target is real results within 48-72h (same method, same evidence discipline as every published site above), with an automatic refund if the measurement fails our own quality threshold. For reference, commissioned drone LiDAR surveys typically run $1,500-3,000/day or $10-150/acre (DroneLaunch Academy, 2026), and enterprise satellite change-detection monitoring runs €550-1,100/month (Planet, 2026) — this is a single measurement, not a subscription.
Request access
If you have a specific asset and two real LiDAR epochs you'd want measured, leave your email — this tells us whether to build beyond these 4 validation sites.