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.
| Property | Required? | Example | What it is |
|---|---|---|---|
| ProducerName | No | María Ejemplo Rojas | Name of the producer |
| ProducerCountry | Yes in a multi-producer file (Type II) | CO | Country of production, ISO two-letter code |
| ProductionPlace | No, but recommended | Finca La Esperanza | Name of the plot or place |
| Area | No; used for points | 1.8 | Area 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.