Geolocation requirements
Art. 9(1)(d) plus the definition in Art. 2(28) set the geolocation rules. Every plot must be identified on the map. Most are polygons, with two specific exceptions.
The rule
Polygon by default. Every plot of land producing or contributing to the consignment is identified by a polygon in WGS84 (EPSG:4326) coordinates.
Point allowed in two cases:
- Cattle: a single point per establishment is always allowed, regardless of plot size. Cattle plots can be enormous and irregular; the regulation accepts a representative point.
- Other commodities, plots ≤ 4 hectares: a single point per plot is allowed instead of a polygon. Above 4 ha you must supply a polygon.
For everything else (oil palm, cocoa, coffee, rubber, soya, wood plots > 4 ha). Polygon required.
Coordinate precision
Coordinates use WGS84 (EPSG:4326), decimal degrees.
The Commission's guidance and TRACES NT v2 expect at least six decimal places of precision (roughly 11 cm at the equator). This is operator guidance from the Commission Q&A and the TRACES API contract, not a statutory wording in the regulation itself, but in practice it is the bar TRACES will accept.
eudr.dev validates this on input via crates/eudr-server/src/routes.rs::validate_polygon_coords and rejects sub-6-decimal coordinates with a clear error.
Acceptable transport formats
| Format | Accepted by TRACES NT v2 | Accepted by eudr.dev |
|---|---|---|
| GeoJSON (RFC 7946) | Yes (default) | Yes |
| Shapefile (.shp/.shx/.dbf) | Yes (zipped, ≤25 MB) | Via the connector pipeline (CSV / EPCIS / ERP) |
| KML | No | Yes — converted internally to GeoJSON |
| WKT / GML | No (not in TRACES API contract) | Not yet |
GeoJSON is the canonical format on the wire. The 25 MB limit is the TRACES upload cap.
Polygon shape rules
The polygon must be OGC-Simple. That is, the outer ring may not self-intersect. The engine checks this and surfaces a non_simple_polygon warning when it fails. You can still submit a non-simple polygon but TRACES will reject it at validation.
For polygons with holes (donut shapes), use GeoJSON's MultiPolygon or a Polygon with multiple linear rings (the first ring is the outer boundary; subsequent rings are holes).
Time of production
Art. 9(1)(d) requires a "production date or time-range." The DDS field is free-text (e.g. 2025-10/2025-12 for an October-to-December harvest window, or 2025-11-15 for a single date). The engine carries it verbatim into the receipt.
Cattle specifics
Cattle plots are usually pastures or feedlots covering tens to thousands of hectares with irregular boundaries. The regulation accepts a single point per establishment, so:
- A ranch with 2,000 ha of pasture → one point (the establishment).
- Multiple feedlots operated by one supplier → one point per feedlot.
You can also submit polygons for cattle if you have them. It's permitted, just not required.
How eudr.dev validates the geolocation
The intake form accepts any of:
- A GeoJSON polygon pasted into the textarea.
- A GeoJSON or KML file uploaded.
- A polygon drawn on the map (Leaflet draw plug-in).
- Raw
[lng, lat]coordinate pairs typed by hand.
The pipeline then:
- Validates the OGC-Simple property.
- Computes the polygon area in hectares (and warns if < 4 ha + point was used for a non-cattle commodity → that's allowed, not a warning; but the engine logs the choice).
- Computes the centroid for the emem cell lookup.
- Resolves to emem cells at the canonical resolution and samples deterministically.
See also
Authoritative sources
- Reg. (EU) 2023/1115 Art. 2(28) and Art. 9(1)(d).
- Commission Q&A. Traceability and geolocation.
- GeoJSON specification. RFC 7946.
This page last changed on . It describes the Regulation as it stood then; where a date or a code matters to a decision, check it against the EUR-Lex text it cites.