EUDR Screening Methodology
Technical specification for GeoTown's satellite-based deforestation screening
1. Purpose & Scope
This document describes the methodology used by GeoTown's EUDR screening tool (geotown.io/eudr) to assess whether a plot of land shows evidence of forest cover loss after the EU Deforestation Regulation cutoff date of 31 December 2020.
This tool is a screening instrument. It provides satellite-based evidence to support due diligence under Regulation (EU) 2023/1115. It does not constitute a certification of EUDR compliance, does not assess legality of land use in the country of production, and does not replace ground-level verification or supplier audits.
2. Data Source
Satellite platform: Copernicus Sentinel-2, operated by the European Space Agency (ESA) under the EU Copernicus programme.
Product level: Level-2A (L2A) — atmospherically corrected surface reflectance.
Spatial resolution: 10 metres (Bands B04 Red, B08 NIR), 20 metres (Bands B8A NIR narrow, B11 SWIR, B12 SWIR).
Temporal resolution: 5-day revisit at the equator (with both Sentinel-2A and 2B).
Data archive: Element84 Earth Search STAC API (earth-search.aws.element84.com/v1), accessing the sentinel-2-l2a collection hosted on AWS.
Access method: Cloud-Optimized GeoTIFF (COG) via HTTP range requests using GDAL/rasterio. No bulk data downloads. Windowed reads extract only the pixels within the analysis bounding box.
Cost: Free and open access under the Copernicus data policy. No authentication or API key required.
Citation: Contains modified Copernicus Sentinel data [year]. Processed by GeoTown.
3. Analysis Area Definition
Point coordinates: When a user submits a single GPS point (latitude, longitude), the tool creates a square bounding box around the point to capture a statistically meaningful number of pixels.
| User-selected plot size | Buffer radius | Approximate area | Approximate pixel count (10m) |
|---|---|---|---|
| Under 4 hectares | 100 m | ~4 ha | ~400 |
| 4 to 25 hectares | 200 m | ~16 ha | ~1,600 |
| 25 to 100 hectares | 350 m | ~49 ha | ~4,900 |
| Default (batch) | 150 m | ~9 ha | ~900 |
This buffering ensures that NDVI statistics are computed over hundreds of pixels rather than a single 10×10m pixel, which would be subject to noise and edge effects.
Bounding box (region scan): When a user draws a rectangle or enters W/S/E/N coordinates, the tool analyses the full extent. Results are labelled as “Regional Overview — not a per-plot verification.”
Coordinate reference system: All input coordinates are expected in WGS 84 (EPSG:4326). Internal processing reprojects to the UTM zone of the scene for pixel-level computation.
4. Scene Selection
Baseline period: The tool searches for the closest cloud-free Sentinel-2 L2A scene to 31 December 2020. The search window is 1 October 2020 to 28 February 2021. The scene with the lowest cloud cover percentage within this window is selected.
Current period: The tool searches for the most recent cloud-free Sentinel-2 L2A scene available for the submitted coordinates. No fixed window — the most recent qualifying scene is used.
Cloud cover filter: Scenes with greater than 30% total cloud cover (as reported in STAC metadata) are excluded from consideration.
Scene metadata reporting: Every result reports the exact scene used for both baseline and current periods, including:
- Sentinel-2 scene identifier (e.g., S2B_29NQG_20210206_0_L2A)
- Capture date
- Cloud cover percentage
This allows independent verification — any user can retrieve the same scene from the Copernicus Open Access Hub or AWS and reproduce the analysis.
5. Cloud Masking
Cloud and cloud shadow pixels are excluded from analysis using the Sentinel-2 Scene Classification Layer (SCL), which is included in every L2A product.
Pixels classified as clear (included in analysis):
| SCL Value | Classification |
|---|---|
| 2 | Dark area pixels |
| 4 | Vegetation |
| 5 | Bare soils |
| 6 | Water |
| 7 | Cloud low probability (unmasked) |
| 11 | Snow/ice |
Pixels classified as cloud/shadow (excluded from analysis):
| SCL Value | Classification |
|---|---|
| 3 | Cloud shadows |
| 8 | Cloud medium probability |
| 9 | Cloud high probability |
| 10 | Thin cirrus |
If fewer than 50% of pixels in the analysis area are cloud-free, the result is flagged as “Inconclusive — insufficient cloud-free pixels” rather than issuing a verdict.
6. Vegetation Index Computation
Primary index: Normalised Difference Vegetation Index (NDVI)
NDVI = (NIR − Red) / (NIR + Red)
Where:
- NIR = Band B08 (842 nm centre wavelength, 10m resolution)
- Red = Band B04 (665 nm centre wavelength, 10m resolution)
Interpretation:
- NDVI > 0.6: Dense vegetation / closed canopy forest
- NDVI 0.3–0.6: Moderate vegetation / open canopy / crops
- NDVI 0.1–0.3: Sparse vegetation / degraded land
- NDVI < 0.1: Bare soil / built-up / water
Forest classification threshold: Pixels with NDVI > 0.4 are classified as “forest or dense vegetation” for the purpose of forest cover percentage calculation.
Resampling: When bands are at different native resolutions (e.g., 20m SWIR bands), bilinear interpolation is used to resample to the 10m grid of the Red and NIR bands.
6b. Additional Vegetation Indices
In addition to NDVI, two supplementary indices are computed from the same satellite scenes to provide independent corroboration of vegetation change.
NDMI — Normalised Difference Moisture Index
NDMI = (NIR − SWIR-1) / (NIR + SWIR-1)
- NIR = Band B08 (842 nm, 10m resolution)
- SWIR-1 = Band B11 (1610 nm, 20m native resolution, resampled to 10m)
What it measures: Canopy water content. Healthy forest canopy retains moisture (NDMI 0.2–0.5). Cleared or degraded land loses canopy moisture (NDMI < 0.1).
Why it helps: Drought reduces NDMI moderately but maintains canopy structure. Actual clearing causes a severe NDMI drop. This distinguishes drought stress from deforestation.
Forest classification threshold: NDMI > 0.2
NBR — Normalised Burn Ratio
NBR = (NIR − SWIR-2) / (NIR + SWIR-2)
- NIR = Band B08 (842 nm, 10m resolution)
- SWIR-2 = Band B12 (2190 nm, 20m native resolution, resampled to 10m)
What it measures: Land surface material change via shortwave infrared reflectance. Intact forest has NBR 0.3–0.7. Exposed soil, burned land, or cleared ground has NBR < 0.1.
Why it helps: SWIR bands are sensitive to soil moisture and mineral content. When forest is cleared, exposed soil produces a very different SWIR signature than canopy — even if replacement crops grow quickly enough to maintain NDVI.
Forest classification threshold: NBR > 0.2
Why these three indices
- NDVI captures vegetation presence (greenness / photosynthetic activity)
- NDMI captures canopy moisture (intact canopy holds moisture; cleared land does not)
- NBR captures surface material change (forest vs. exposed soil/crops via SWIR)
A real deforestation event changes all three. Drought mainly changes NDVI and partially NDMI. Seasonal leaf loss mainly changes NDVI. Sensor noise is random and unlikely to affect all three consistently.
7. Forest Cover Change Detection
For each plot, the tool computes per index:
- Baseline coverage (%): Percentage of cloud-free pixels above the index threshold in the baseline scene
- Current coverage (%): Percentage of cloud-free pixels above the index threshold in the current scene
- Change: Current coverage minus baseline coverage, expressed in percentage points (pp)
| Index | Threshold | Measures |
|---|---|---|
| NDVI | > 0.4 | Forest / dense vegetation presence |
| NDMI | > 0.2 | Healthy canopy moisture |
| NBR | > 0.2 | Intact vegetation cover |
The primary forest cover percentages displayed to the user are NDVI-based, consistent with v1.0. NDMI and NBR values are shown in the technical details section and included in CSV exports.
8. Verdict Classification
Per-index verdict
Each of the three indices independently produces a verdict using the same percentage-point thresholds:
| Verdict | Criterion | Interpretation |
|---|---|---|
| Deforestation-free | Coverage loss < 5 pp | No significant change detected by this index. |
| Review needed | Coverage loss 5–15 pp | Moderate change detected by this index. |
| Deforestation risk | Coverage loss > 15 pp | Significant loss detected by this index. |
Multi-index agreement (v1.1)
The final verdict is determined by a 2-of-3 majority vote across the three indices:
- If ≥2 indices flag “Deforestation risk” → Final verdict: Deforestation risk
- If ≥2 indices say “Deforestation-free” → Final verdict: Deforestation-free
- Everything else → Review needed (mixed signals, investigate)
Rationale: Requiring agreement from two independent spectral measurements substantially reduces false positives from drought, seasonal phenology, and single-band sensor artefacts. A single-index anomaly (e.g., NDVI drops from drought but NDMI and NBR remain stable) no longer triggers a false alarm.
Special cases
- Non-forest baseline: If NDVI-based forest cover at baseline is below 10%, the plot is classified as “Deforestation-free” regardless of index agreement, because deforestation screening is not applicable to non-forest land.
- Inconclusive: If fewer than 50% of pixels are cloud-free across all three indices, the verdict is “Inconclusive” rather than issuing a potentially unreliable determination.
Note on thresholds: The 5pp and 15pp thresholds were selected to balance sensitivity (detecting real deforestation) against specificity (avoiding false alarms from seasonal changes, drought, or sensor noise). These thresholds are applied uniformly across all three indices. They may be revised in future methodology versions based on validation studies.
9. Known Limitations & Bias Direction
This section describes known limitations and the direction of potential errors.
Spatial resolution (10m): Sentinel-2 cannot detect clearing smaller than approximately 0.01 hectares (one pixel). Small-scale selective logging or narrow strip clearing may not trigger a verdict change. Bias direction: False negatives — real deforestation below detection threshold is missed.
NDVI as a proxy: NDVI measures vegetation greenness, not forest type. Conversion from natural forest to oil palm plantation or cocoa agroforestry may not produce a significant NDVI drop if the replacement crop has high canopy cover. Under EUDR Article 2, this conversion IS deforestation. Bias direction: False negatives — agroforestry replacement of natural forest may pass screening.
Seasonal phenology: Deciduous forests in dry seasons show lower NDVI. If the baseline scene was captured during the wet season and the current scene during the dry season, the NDVI drop may reflect seasonality, not deforestation. Bias direction: False positives — seasonal variation misidentified as clearing.
Cloud cover in tropical regions: Persistent cloud cover in equatorial regions (Côte d'Ivoire, Indonesia, DRC) may force the tool to use baseline scenes several weeks before or after the exact EUDR cutoff date of 31 December 2020. The actual baseline date is reported in every result. Impact: Temporal precision of the baseline is ±2 months in worst cases.
Single-date comparison: The methodology compares two dates rather than analysing a dense time series. This means transient events (temporary cloud shadow misclassification, sensor artefacts, temporary flooding) can influence individual index values. Mitigation (v1.1): Multi-index agreement across NDVI, NDMI, and NBR reduces the impact of single-index artefacts by requiring corroboration from two independent spectral measurements.
No ground-truth validation dataset (yet): This methodology has not yet been validated against a labelled dataset of known deforested/non-deforested plots. Reported verdicts should be treated as screening indicators, not definitive classifications. Planned: Validation against JRC Tropical Moist Forests product in a future methodology version.
10. Regulatory Context
This tool is designed to support due diligence under:
- Regulation (EU) 2023/1115 of the European Parliament and of the Council of 31 May 2023 on the making available on the Union market and the export from the Union of certain commodities and products associated with deforestation and forest degradation (the “EUDR”)
- EUDR cutoff date: 31 December 2020 (Article 2(14))
- Geolocation requirement: Article 9(1)(d) requires geolocation of all plots where commodities were produced. Plots under 4 hectares may use a single GPS point; larger plots require a polygon.
- In-scope commodities: Cattle, cocoa, coffee, oil palm, rubber, soya, wood — and products derived from them (Annex I)
- Application date: 30 December 2026 for large and medium operators; 30 June 2027 for micro and small operators
This tool does not generate a Due Diligence Statement (DDS) and does not interface with the EU TRACES Information System.
11. Output Formats
- On-screen verdict with baseline/current forest cover percentages and change value
- PDF screening report including methodology summary, scene references, limitations, and legal disclaimer. Report reference numbers are auto-generated (format: GT-EUDR-XXXX-R1) for audit trail purposes.
- CSV export with per-plot data including scene IDs, dates, forest cover values, and verdicts
12. Version History
| Version | Date | Changes |
|---|---|---|
| v1.0 | April 2026 | Initial methodology. NDVI-based forest cover change detection with SCL cloud masking. |
| v1.1 | April 2026 | Added NDMI and NBR indices. Verdicts now require 2-of-3 index agreement to reduce false positives from drought and seasonal variation. |
| v1.2 | Planned | Validation against JRC Tropical Moist Forests reference data. Published agreement rates. |
13. Contact
For questions about this methodology, data requests, or to report an issue:
Prosper Washaya, PhD Remote Sensing in Forestry
Email: prosper@geotown.io
Web: geotown.io/eudr