EUDR guides

EUDR GeoJSON: the plot file format for TRACES, with example

By Juan Cantón (Francodesystems) ·

TRACES accepts a GeoJSON file (RFC 7946) in WGS84: a FeatureCollection of points or closed polygons, with coordinates in longitude, latitude order and six decimal places, plus the optional properties ProducerName, ProducerCountry, ProductionPlace and Area. The geolocation of one DDS cannot exceed 25 MB in total.

What the file looks like

The EUDR information system (TRACES) only accepts GeoJSON, the format defined in RFC 7946. The usual shape is a FeatureCollection with one Feature per plot of land: each Feature has a geometry and, optionally, properties for the producer, the country, the name of the plot and its area. The same rules apply to the import screen and to the API.

Valid geometries: Point, MultiPoint, Polygon and MultiPolygon. LineString and MultiLineString do not describe a plot and TRACES rejects them. If you are unsure whether a plot needs a point or a polygon, the 4-hectare rule and the cattle case are in the guide on geolocation: point or polygon. This guide is about the file itself.

You can download an example file with two fictional coffee farms in Huila, Colombia: one of 1.8 ha as a point and one of about 6.7 ha as a polygon. Open it in geojson.io or QGIS and use it as a template.

Coordinates: WGS84, longitude first, six decimals

GeoJSON allows a single reference system: WGS84 (EPSG:4326), in decimal degrees. If your supplier sends UTM coordinates, degrees, minutes and seconds, or a national grid, convert them first. TRACES will not do it for you.

Each position is written [longitude, latitude], in that order. That is the reverse of how people say them and of how Google Maps shows them, and it is the most common mistake: the example farm, with the order swapped, ends up in Antarctica. A latitude outside -90 to 90 or a longitude outside -180 to 180 is rejected.

The Regulation requires at least six decimal places (Art. 2(28)). TRACES truncates to six before storing, so sending more adds nothing and, in extreme cases, two different vertices become the same point and the polygon turns invalid. Exactly six decimals is right. Watch out for Excel: it rounds without telling you.

Which properties does TRACES read?

TRACES reads four optional properties on each Feature and ignores any others. Names are case-sensitive: productionplace does not count as ProductionPlace.

PropertyRequired?ExampleWhat it is
ProducerNameNoMaría Ejemplo RojasName of the producer
ProducerCountryYes in a multi-producer file (Type II)COCountry of production, ISO two-letter code
ProductionPlaceNo, but recommendedFinca La EsperanzaName of the plot or place
AreaNo; used for points1.8Area in hectares
  • Area is a number: write 1.8, not "1.8". In quotes TRACES does not read it as a number and the area becomes 0.
  • If a point has no Area, TRACES sets it to 4 ha. A point with more than 4 ha is an error, except for cattle. The minimum is 0.0001 ha.
  • A country code that does not exist gets the file rejected.
  • There are two variants with the same structure. Type I: a single producer, for the API and for imports at producer level. Type II: several producers grouped by ProducerName and ProducerCountry, for imports on screen at commodity level.

Polygons TRACES accepts

Most rejections come from the geometry. A valid polygon meets all of these:

  • It is closed: the last coordinate pair is the same as the first.
  • It has at least four positions, counting the closing one, and they are not all on a straight line.
  • Its sides do not cross (no figure-of-eight shapes) or fold inwards.
  • It has no holes. If the plot surrounds an enclave, for example a patch of woodland that is not farmed, split it into two half-moon polygons.
  • No two vertices coincide once truncated to six decimals.

Several separate plots of one producer can go as single polygons or as one MultiPolygon. What does not work is swapping a polygon of more than 4 ha for a point to get past an error.

Size limits

The geolocation of one DDS, adding up all its files, cannot exceed 25 MB. On top of that, one commodity can have up to 1,000 producers and one DDS up to 10,000. These are system limits that the Commission publishes in its validation rules and may change.

If you go over, the Commission recommends two things: use only two points for a straight stretch instead of a vertex every 5 or 10 metres, as track-logging GPS devices produce, and use a point rather than a polygon for plots under 4 ha. If you simplify in QGIS, check afterwards that the area has barely changed.

How to check and fix the file

Before uploading, open the file in geojson.io: within seconds you see whether the plots land where they should or whether one has ended up at sea. It is the quickest check for swapped coordinates. To fix problems, QGIS is free:

  • Reproject Layer to EPSG:4326 if the original is in UTM or another system.
  • Check Validity to find self-intersections and Fix Geometries to repair them. Review the result: it sometimes splits a polygon in two.
  • On export: GeoJSON format, CRS EPSG:4326, coordinate precision 6 and the RFC7946 option switched on.
  • Rename the fields to ProducerName, ProducerCountry, ProductionPlace and Area, with that capitalisation, and store Area as a decimal number.
  • A Google Earth KML or a shapefile opens in QGIS and exports the same way. TRACES does not accept other formats or password-protected files.

When a supplier or importer uploads a GeoJSON file to Sourevo, the reference system, the coordinate ranges, polygon closure, the 4-hectare rule and the validity of each geometry (with PostGIS) are checked before the plot can go into a DDS. ProducerName, ProducerCountry, ProductionPlace and Area are read, and a polygon identical to one already uploaded is skipped.

With the plots in order, the next steps are to check them by satellite and to submit the DDS.

Frequently asked questions

Can I upload a KML, a shapefile or a spreadsheet of coordinates?
Not directly: TRACES only accepts GeoJSON. Convert it first with QGIS or another tool and check that it ends up in WGS84 with six decimals.
What happens if a point has no Area property?
TRACES sets it to 4 ha by default. If the plot is smaller, give its real area. If it is larger than 4 ha and not cattle, you need a polygon.
Is it a problem to give more than six decimals?
It is not an error, but it is pointless: TRACES truncates to six. In very detailed polygons this can merge vertices and make a good geometry invalid.
One file per producer or one file for everyone?
For the API and for imports at producer level, one file per producer (Type I). On screen you can import at commodity level one file with several producers (Type II), with ProducerName and ProducerCountry on every Feature.
How do I declare a plot with a hole in it?
TRACES does not accept polygons with holes. Split the plot into two polygons that go round the hole, one on each side.

Want to see it with your own shipments?

Sourevo collects your suppliers’ plots, validates the geolocation and submits the DDS in TRACES. If it fits, we try it with one of your shipments.

Check a CN codeTalk to us

Sources: Regulation (EU) 2023/1115, Art. 2(28) and 9(1)(d) (EUR-Lex) · European Commission: EUDR GeoJSON File Description (EUDR information system) · European Commission: DDS validation rules (EUDR information system) · IETF RFC 7946: the GeoJSON format. This is general information; for a specific case, follow your adviser or the competent authority.