Does a land plot comply with the EU Deforestation Regulation?
That means one question: was it deforested after 31 Dec 2020, up to
the year the commodity was produced?
We answer it by intersecting two authoritative open datasets, read straight
from the cloud, a few kilobytes per check, no satellite pipeline to run.
🕐 When was it lost?
Hansen / UMD Global Forest Change.
Per-pixel year of forest loss, 2001-2024, ~30 m. One internally
consistent product, no noisy year-to-year classifier diffing.
🌲 Was it forest in 2020?
JRC Global Forest Cover 2020,
the map the European Commission built specifically to define "forest at
the cutoff" for this regulation. ~10 m.
1The hard part: two maps, two grids
Hansen pixels are ~30 m; JRC pixels are ~10 m, so JRC is about 3x finer,
and roughly 9 JRC pixels sit under every Hansen pixel. You can't just
overlay arrays of different resolution and compare them. So the real work is
aligning them onto one grid before you can ask "lost and
was-forest" of any pixel.
2The merge, step by step
lost after 2020forest in 2020deforestation (both)
Hansen sets the master grid. Reading the loss window
gives us its exact pixel footprint (an affine transform + shape).
Everything else must conform to it.
JRC is resampled onto that grid as it's read. GDAL
collapses the ~9 fine JRC pixels under each Hansen cell into a single
fraction, the share of that cell that was forest in 2020.
Threshold to a decision. Fraction ≥ 50% → the cell
counts as forest at the cutoff. Now both maps are the same shape, same
footprint.
One logical AND. A pixel is deforestation only if it
was lost in the windowandinside your plotandforest in 2020. Valid only because step 2 put
everything on one grid.
3Why the baseline matters
Hansen flags any forest loss, including on land that was already cropland
or plantation in 2020, which EUDR doesn't care about. The JRC baseline
removes it. On the Rondônia demo plot:
670.6
ha, Hansen loss alone
→
434.8
ha, loss inside 2020 forest
The ~35% removed wasn't forest at the cutoff. One map tells
us when it was lost; the other, whether it was forest to begin
with.
4What this is, and isn't
A screening tool, not a certified verdict. Hansen "loss" is any
stand-replacement (clearing, fire, harvest); EUDR means conversion to
agriculture. So it over-flags, the safe direction: green is
trustworthy, red means "look closer."
Loss detection is capped at Hansen's ~30 m; JRC only gates the baseline.
The 50% forest threshold and 0.5 ha noise floor are defensible knobs,
not laws.