农经权数据整合到省包:字典兜底、字段归一与不能代填的边界

源是 SHP + 农经 MDB,交件是省标矢量与汇交库;空值、农田码和面积单位怎么处理

农经权汇交现场常见的输入是两套东西:地块矢量(多为 Shapefile)和权属库(农经 MDB)。省里要的却是另一套形态——列名按省标、字典按省码、面积用平方米,再外加一份按模板生成的汇交 MDB。中间若靠人工改字段名、手填空字典,错一次就是整县返工。

我在农经权数据整合工具里,把目标收成一句话:先把源数据转化成列名已对齐省标的中间结果,再同名透传导出矢量,最后按配置挂接生成汇交 MDB;能配置的兜底可以做,不能合法代填的身份字段绝不做。

说明:文中按通用流程写,不出现具体乡镇与内部路径;字段码以当时省汇交要求为准,换地区需重对字典与模板。

流水线一览

步骤做什么产出
导入地块 SHP + 农经 MDB作业工程
(建议)标识码回写权属编码写回矢量侧后续挂接更稳
可视化配置字典、字段映射、MDB 源列可改的 XML 配置
① 数据转化源 → 中间 Result(列名=省标)Result_ZD_* 等
② 省汇交矢量绑定 Result,同名透传 + 系统补全省标矢量包
③ 省汇交 MDBResult 属性 + 农经表 → 模板库{区县码}…mdb + 报告

交件时通常是:矢量数据 + 汇交 MDB + 报告。中间 Result 不是多余一层——它把「乱七八糟的源列名」和「省标准列名」隔开,后面两步才敢做同名透传。

一、为什么要先转化成 Result

早期若直接「源 SHP → 省矢量」,映射表会同时承担:

  • 源字段叫什么;
  • 省字段叫什么;
  • 缺了怎么补;
  • 单位怎么换。

换一个县,源字段名一变,整张映射一起抖。更稳的拆法是:

  1. 转化:只负责把源变成「列名已经是省标」的 Result;
  2. 矢量导出:Result 上同名列自动透传,程序只补区县码、ID、界址地码等系统项;
  3. MDB 生成:按「省表要哪些列、从 Result 还是农经表读」另配一张表。

界址点/线在县级 SHP 上常缺地籍编码类字段时,导出阶段可以自动按规则补全,避免逼作业员手工改几千条界址表。补全规则要写进报告,不能静默到无人知晓。

二、字典空值兜底:省质检要码,源表经常是空的

省质检对权属人、农用地所有权等表有一批字典必填项。源数据里却经常空着,例如:

  • 共有情况、性别;
  • 土地所有权性质;
  • 水域滩涂类型、养殖业方式(耕地场景下本就常空)。

若程序什么都不做,汇交报告会刷几百条「字典为空」。若程序写死「男 / 单独所有」又无法改,换项目口径就不适用。

做法是:字典默认值进配置文件,界面可改,空值时才落入默认,并在报告中可追溯。

默认值本身带业务假设(例如共有情况取「单独所有」、性别取某一码),必须允许甲方改成符合当地填写习惯的省码。程序提供的是「可配置的过检策略」,不是替人做权属认定。

三、基本农田:多源字段名,写入时归一成省码

「是否永久基本农田」在不同来源里可能叫一串相近名字。导出若只认某一个字段名,换县就会大面积空值,省侧又常把该字段当强校验。

更稳的约定:

  1. 配置里维护候选源字段列表,按实际图层勾选或指定;
  2. 读到的值再归一成省标码(例如 1=是 / 2=否),兼容「是/否、Y/N、1/2」等写法;
  3. 挂接失败时明确报「未读到农田字段」,不要静默留空却声称已处理。

这和监测里「国标字段 / 省标字段」是同一类问题:名字民主,码值专制——读的时候容忍多名,写的时候只出一种省码。

四、面积单位:亩和平米不能靠猜

省标面积只要平方米。源矢量有的县用亩,有的已经是平米。混用是面积类汇交错误的经典来源。

配置上应显式二选一(或按图层声明):

  • 源是亩 → 乘换算系数再写入;
  • 源是平米 → 直通。

不要做「看数值大小猜单位」。猜错一次,整县面积系统性偏移,比空字段更难发现。

五、程序不能代填的边界

有一类字段程序绝不脑补:合法证件号等身份关键项。源表为空或位数不合法时,应在报告里列清单,由甲方补全后再生成,而不是生成「看似完整」的假号。

说明书里写清「仍须甲方补全」,比上线后被质疑篡改身份数据安全。工具的信用,有时来自明确拒绝做什么。

同理,省模板里某些表根本不该从权属人表硬塞字段(例如模板结构变更后,某证号列已改挂到其它表)。映射要跟着模板走,过时映射应删掉,而不是继续 INSERT 导致整库失败。

六、配置两步化与可视化工作台

对业务人员,侧栏里至少要分得开:

配置页管什么
字段映射 / 字典权利类型、登记机关、共有情况、所有权性质等
省汇交矢量地块 / 界址点 / 界址线字段对应;系统补全项
省汇交 MDB各汇交表从农经表或 Result 读哪些列

改配置应反写 XML,下次打开仍在。把项目值写死在程序里,换县就要发版——汇交工具最忌讳这件事。

生成 MDB 前做一次模板列宽 / 结构自检,把「模板与当前程序假设不一致」提前打在报告上,比跑到一半 OLE 报错友好。

七、和质检、结构类工具怎么分工

类型农经权汇交里管什么
整合转化 / 省包导出字典、映射、单位、中间 Result、交件形态
图数或结构质检交件前内容体检(另文)
国标省标结构工具监测类库结构(另一业务线)

整合工具不必假装能做完整省质检;质检工具也不必懂「Result 列名策略」。职责切开,现场培训才训得会。

可带走的原则

  1. 先对齐列名,再透传导出。 中间 Result 是隔舱,不是浪费。
  2. 字典空值可配置兜底,默认值必须可改、可追溯。
  3. 基本农田:多名读入,一码写出。
  4. 面积单位显式声明,禁止数值猜单位。
  5. 证件号等身份字段不代填;报告列清单。
  6. 映射跟着省模板走,过时映射宁可删掉。

农经权汇交看起来全是表格,骨子里仍是 GIS 数据工程:主键与挂接、编码体系、单位制、以及「机器可以补到哪一步、人必须签到哪一步」。把这几条边界写进工具和说明书,比再堆一个导出按钮更值钱。