EUDR 地块 GeoJSON 检查器
一份尽职调查声明(DDS)被驳回,因为几何问题的次数远多于任何法律问题:多边形没闭合、一对坐标写反了顺序、一次 GPS 读数被复制给了一组农场。趁 TRACES 之前先把文件检查一遍。
🔒 你的地块数据不会离开浏览器 —— 那是一份 DDS 里最敏感的文件。
欧委会自己列出的那些错误
EUDR GeoJSON File Description 的最后一章列的就是常见文件错误 —— 边界线交叉、甜甜圈形状、多边形没闭合、LineString、共线点、四舍五入到六位小数后变成重复的坐标、Area 里带引号的数字、无效的 ISO2 国家代码,以及 25 MB 的提交上限。本工具逐条检查,并写明它套用的是哪一条规则。
点只用来代表小地块
4 公顷以内的地块可以用单个点给出;更大的就需要一条边界。一个没有 Area 的点,会被系统记为 4 公顷 —— 那是上限,不是测量值 —— 所以不写它,本身就是一种表述。
申报面积与实测面积
这里的每个多边形都由它自己的坐标实测面积,并摆在申报的 Area 旁边。两者相差超过四分之一时,常见成因是单位搞混 —— 把平方米或英亩写进了一个存放公顷的字段 —— 而它能在没人察觉的情况下,把一块地挪到 4 公顷线的另一侧。
本工具不做的事
它不会告诉你某块地是否毁林,也不核实坐标是否落在你申报的那个国家里:这两件事都需要地图数据,而本工具有意不携带。对特别大的边界(超过 2000 个顶点),自交检测会跳过,而且结果里会写明这一点 —— 而不是暗示它通过了。
本工具执行的全部检查(共 24 条规则)
文件结构与语法
EUDR-S01 这个文件不是合法的 JSON
少一个括号、多一个尾逗号,整份申报就读不出来。欧委会把文件语法错误列为地理坐标文件被驳回最常见的原因之一,而驳回信息不会告诉你是哪一行坏了。
修复: 从你的 GIS 工具重新导出,不要手工改;并检查本工具报出的那个位置。
EUDR-S02 这不是一个 GeoJSON FeatureCollection
EUDR 信息系统读的是 FeatureCollection(或者单个 Feature)。一个裸的几何、一个数组,或者一份存成 .json 扩展名的表格,都能当作 JSON 解析成功,却一个生产地都不带。
修复: 把各要素包进 {"type":"FeatureCollection","features":[…]}。
EUDR-S03 不接受这种几何类型
只有 Point、MultiPoint、Polygon 与 MultiPolygon 能描述一个生产地。规范点名 LineString 与 MultiLineString 是不会被接受也不会被处理的类型,而 GeometryCollection 同样不是一个生产地。
修复: 把线转成它围出的多边形,或者转成代表该地块的那个点。
EUDR-S04 属性名拼错了,或者大小写不对
属性名区分大小写:「productionplace」不是「ProductionPlace」,「geomerty」不是「geometry」。规范把这一条列进常见错误,恰恰是因为文件仍然是合法的 JSON —— 那个值只是被静静地忽略了。
修复: 严格写成 ProducerName、ProducerCountry、ProductionPlace、Area。
EUDR-S05 Point 的坐标写成了数组套数组
一个 Point 只取一个位置 —— [经度, 纬度] —— 不是一串位置。规范直接点了这一条:这样写的文件能上传成功,却一个坐标都渲染不出来。
修复: Point 要写成 "coordinates": [12.345678, -1.234567]。
EUDR-S06 Area 写成了字符串而不是数字
"Area": "3" 不等于 "Area": 3。规范写明带引号的值不会被识别为数字,面积于是变成 0 —— 而这又让一个点去代表一块系统认为没有面积的地。
修复: 把引号去掉,让它成为一个 JSON 数字。
EUDR-S07 文件超过了 25 MB 的提交上限
系统把单份 DDS 提交(含其 GeoJSON)限制在 25 MB。文件超限多半是因为边界采样过密:一条笔直的围栏线上每隔几米就取一个坐标。
修复: 把直线段简化成两个点,4 公顷以内的地块用单点。规范也允许拆成多份 DDS 再按引用合并。
几何
EUDR-G01 多边形的环没有闭合
每个多边形都必须回到它出发的地方:第一个和最后一个坐标对必须完全相同。环没闭合是被点名的常见错误之一,而一个丢掉了闭合点的 GIS 导出,在屏幕上看起来完全正常。
修复: 把第一个坐标对再重复一遍作为最后一个。
EUDR-G02 多边形的位置数不足四个
一个多边形至少要有四个坐标对 —— 三个角,加上把形状闭合的那次重复。三个或更少,在扣掉闭合点之后围不出任何面积。
修复: 把缺的角补上;地块在 4 公顷以内的话,改用一个 Point。
EUDR-G03 多边形的边彼此交叉
「8 字形」和「蝴蝶结」形被列为不予处理。它们通常来自边界中间某个坐标输入顺序写反 —— 这在一张数字表格里看不出来,在地图上一眼就能看见。
修复: 把边界画到地图上,改掉那个跳出顺序的点。
EUDR-G04 多边形有孔洞
EUDR-G05 这些坐标连成一条直线,不是一片面积
EUDR-G06 坐标超出有效范围
经度的范围是 -180 到 180,纬度是 -90 到 90。超出这个范围的值,通常是某个投影坐标系(UTM、Lambert)里的米数,而它从来没被转换到 WGS 84。
修复: 导出前先把数据转成 WGS 84 / EPSG:4326 的十进制度。
EUDR-G07 经度和纬度看起来写反了
GeoJSON 的位置是 [经度, 纬度] —— 与人们念坐标的习惯顺序相反,也与多数地图应用显示的顺序相反。当第一个数是一个说得通的纬度、而第二个数超过 ±90 时,这一对必定是反的;地块于是落到了世界上的另一处。
修复: 把这一对调过来。如果你的源数据是「纬度, 经度」,整份文件都要调。
EUDR-G08 坐标四舍五入到六位小数后变成了重复点
系统会四舍五入到六位小数,所以两个只在第七位小数上不同的点会并成一个。规范给的正是这个例子 —— 而一条因此丢点的边界,可能变成一个非法形状。
修复: 让边界上的点彼此相距超过约 0.1 m,那正是第六位小数所代表的量级。
EUDR-G09 坐标精度太粗,描述不了一块地
一度的四位小数大约是 11 米,两位小数大约是 1.1 公里。以这个分辨率记录的边界,围出的面积基本是四舍五入出来的,而且不会与任何针对同一地块的卫星核查对得上。
修复: 导出时保留六位小数,那正是系统会留下的位数。
来源: yaktool 工程阈值,不是规范里的数字:欧盟委员会的文件说系统会把坐标四舍五入到小数点后六位;我们在少于五位时发出警告,因为四位小数在赤道上已经约 11 米,两位约 1.1 公里 —— 这种精度下的地块边界,算不上地块边界。
EUDR-G10 坐标正好落在 0, 0
经度 0、纬度 0 是加纳外海大西洋上的一个点。它是表格把空值变成零之后的产物,而且能通过每一项范围检查。
修复: 把这块地真实的坐标补回来 —— 这个值是缺失,不是零。
来源: yaktool 工程规则,不是欧盟委员会文件里点名的错误:落在 (0, 0) 的「Null Island」坐标,是数值字段留空时众所周知的副产物。
EUDR-G11 好几块地用了同一组坐标
多个要素几何完全相同,意味着一次 GPS 读数被复制给了一组农场。提交会被接受,地块之间却区分不开,而这份声明所主张的可追溯性并不存在。
修复: 每块地各采一次读数。若确有几块地共用一条边界,就把它们作为一个生产地来申报。
来源: yaktool 工程规则,不是欧盟委员会文件里点名的错误:它来自 EUDR 数据收集中报告过的坐标复用现象。
面积与 4 公顷规则
EUDR-A01 大于 4 公顷的地块被写成了点
点用来代表 4 公顷以内的地块;更大的必须是多边形。一个点上带着超过阈值的申报面积,是「几何类型用错了」这件事最清楚不过的表述。
修复: 把这块地的边界以多边形形式给出。
EUDR-A02 点上没有 Area,会被按 4 公顷处理
规范写明:点上缺 Area 时,系统把它设为 4 公顷。那是一个默认值,不是测量值 —— 而且它是一个点被允许代表的最大面积。
修复: 实际更小就把真实面积写出来,让这份声明说的是你知道的事,而不是系统假设的事。
EUDR-A03 申报面积与几何对不上
由多边形算出的面积与 Area 属性差得很多。常见成因是单位搞混 —— 把平方米或英亩写进了一个存放公顷的字段 —— 而它会改变这块地落在 4 公顷线的哪一侧。
修复: 检查 Area 值的单位:系统读的是公顷。
属性
EUDR-P01 缺 ProducerCountry
在按商品分的文件形态下,规范要求每个要素都有 ProducerCountry。没有它,这块地有坐标,却没有申报的生产国。
修复: 加上 "ProducerCountry",填生产国的 ISO2 代码。
EUDR-P02 ProducerCountry 不是合法的 ISO2 代码
一个无效的 ISO 3166-1 alpha-2 代码是被点名的常见错误。「UK」是最经典的一个 —— 英国的注册代码是 GB —— 而 BRA 这类三字母代码同样会被拒。
修复: 用 ISO 3166-1 的两字母代码。
EUDR-P03 缺 ProductionPlace
规范建议提供 ProductionPlace 来给生产地命名。没有它,一块被驳回或被质询的地,只能靠它在文件里的位置来指认。
修复: 起一个半年后你自己也认得出来的名字。
各条规则引用的是欧盟委员会的《EUDR GeoJSON File Description》v1.5(2025 年 5 月 5 日)。我们上次核查时,欧委会自己那份文档的页面打不开,所以链接指向某国主管机关发布的同一份文档;我们每季度复核一次。
关于这些规则。 每一条都有编号、严重级别和通俗解释。每个来源链接都已登记在案,并对线上页面实际复验过,而不是凭印象写上去的. 规则如何编写、测试与保持更新 →