3. 农业表格数据基础

在农业空间数据融合中,表格数据往往是最容易被低估的一环。遥感影像、地块矢量边界提供了“在哪里”,而表格数据回答的是“是什么、什么时候、多少”。一块耕地的权属、作物类型、土壤pH,一个传感器的逐时温湿度记录,一个乡镇逐年的产量统计,几乎都以表格形式存在。理解表格数据的结构、字段类型、主键与外键,以及它如何与空间对象建立关联,是后续做属性挂接、时空聚合与统计分析的前提。

一张表由什么构成:行、列与字段类型

关系型表格的基本单位是“行(记录)”和“列(字段)”。每一行代表一个观测实体,例如一个地块、一条传感器记录、一个统计单元;每一列代表该实体的一个属性,并带有明确的字段类型。字段类型决定了能存什么、能算什么,也直接影响与空间数据关联时的匹配质量。

农业表格中常见的字段类型可以归为几类:标识型(地块编号、传感器ID、行政区代码),通常是文本或定长字符串,用于唯一识别对象;数值型(面积、产量、温度、pH),又分整数与浮点,参与计算与分级;日期时间型(播种日期、观测时刻),是时序分析的关键;分类型(作物类型、土地利用类型、灌溉方式),常以编码或短文本存储,用于分组统计;几何/坐标型(经度、纬度、地块中心点),虽以数值存储,但语义上指向空间位置。字段类型选错会带来隐患:把地块编号存成整数会丢失前导零,把日期存成文本会导致无法按时间排序,把经纬度存成字符串则无法直接参与空间计算。

主键与外键:让表格之间“对得上”

主键(Primary Key)是能唯一标识一行记录的字段或字段组合。地块属性表的主键通常是地块编号,传感器记录表的主键可以是“传感器ID+观测时刻”的复合主键,产量统计表的主键可能是“行政区代码+年份+作物类型”。主键的核心约束是唯一且非空,它保证了每条记录可被精确引用。

外键(Foreign Key)则是本表中指向另一张表主键的字段,用来表达表间关系。例如传感器记录表中的“地块编号”字段,若引用地块属性表的主键,它就是外键,说明这条观测记录发生在哪个地块上;产量统计表中的“行政区代码”引用行政区划表,说明统计口径对应的空间单元。外键的价值在于把分散的表格连成可追溯的关系网络,也为与空间对象关联提供了“连接键”。

实践中常见的关联失败,多半不是空间数据的问题,而是键的问题:编号格式不一致(“A-01”与“A01”)、前后空格、编码体系不同(地块编号 vs 宗地代码)、大小写混用。关联前先做键的清洗与规范化,往往比反复调整空间叠加参数更有效。

三类常见农业表格及其与空间对象的关联方式

地块属性表是最贴近空间对象的一类,通常一行对应一个地块,字段包括地块编号、面积、权属人、作物类型、土壤类型等。它与地块矢量图层的关联方式最直接:以“地块编号”为连接键,把属性表挂接到矢量要素上,形成“几何+属性”的完整地块。若属性表本身带有中心点经纬度,也可通过坐标生成点要素再与面做空间连接,但这种方式会引入点位误差,通常只作为辅助校验。

传感器记录表是典型的长表结构:一行一条观测,字段包括传感器ID、观测时刻、温度、湿度、土壤含水率等。它本身不含几何,需要借助“传感器ID”关联到传感器布设表(含经纬度或所在小区),再由点位与地块做空间包含判断,才能把观测值归到具体地块。这类表数据量大、时间粒度细,关联后通常还要按时间窗口聚合,才能与地块级分析对接。

产量统计表是行政单元级的汇总表,一行对应“行政区+年份+作物”,字段包括统计面积、总产、单产。它关联的是行政区划矢量面,以行政区代码为键。需要注意统计单元与地块单元往往不一致,直接叠加会产生“面与面不重合”的问题,通常采用面域汇总或面积加权的方式把统计值分配到更细的空间单元。

表格数据与空间对象的关联结构 地块属性表 PK 地块编号 面积 / 权属人 作物类型 / 土壤类型 (一行 = 一个地块) 传感器记录表 PK 传感器ID + 时刻 FK 地块编号 温度 / 湿度 / 含水率 (一行 = 一条观测) 产量统计表 PK 区划代码+年份+作物 统计面积 / 总产 / 单产 (一行 = 一个统计单元) 地块编号 传感器ID 行政区代码 地块矢量图层(面) 几何:多边形边界 属性:地块编号(连接键) 关联方式:按编号属性挂接 传感器点位(点) 几何:经纬度坐标 属性:传感器ID、地块编号 关联方式:点落面空间包含 再按时间窗口聚合到地块 行政区划(面) 几何:行政边界 属性:行政区代码(连接键) 关联方式:按代码挂接 / 面域汇总 关联前先统一键格式:去空格、统一编码体系、校验唯一性

关联方式的选择:属性挂接、空间连接与聚合

从上面的结构可以看出,表格与空间对象的关联大致有三条路径。第一条是属性挂接,适用于表格与空间图层共享同一套标识键的情况,如地块属性表按地块编号挂到地块矢量上,行政区统计表按区划代码挂到行政区划面上。这是最稳妥、可追溯性最强的方式,前提是键唯一且格式一致。

第二条是空间连接,适用于表格本身不含标识键、只含坐标的情况,如传感器点位。做法是先由经纬度生成点要素,再用“点在面内”判断把点归入地块,从而把观测值带到地块上。这里要注意坐标系一致:若点位是WGS84经纬度,而地块是投影坐标,需先统一到同一坐标系再做空间判断,否则会出现点位偏移、落错地块。

第三条是聚合与分配,适用于统计单元与目标空间单元不一致的情况。例如乡镇级产量统计要落到地块级,常用面积加权:按地块在乡镇内的面积占比分摊总产。这类操作不是简单挂接,而是带有假设的估算,结果应标注为“分配值”而非实测值。

一个可操作的关联检查清单

在实际融合前,建议按以下顺序检查,能避免大部分返工:确认连接键字段名与类型在两张表中一致;检查键值是否有重复(主键唯一性)与空值;统一编码格式与大小写,去除首尾空格;确认坐标系与空间参考一致;抽样核对若干条记录的关联结果是否落在正确的地块或行政单元内;对聚合结果记录所用的分配方法与假设。把这些检查固化为流程,表格数据与空间对象的融合才能稳定复现,而不是每次靠人工比对。