第06章 从 CAD 到 GIS:一段被严重低估的路

本章导读

多测合一的现实是:成果仍以 DWG 加 PDF 交付,于是实际技术路径变成“在 CAD 里画图,转成 GIS 数据入库”。本章要回答这条路难在哪、该由谁走。6.2 节先说明转换的本质不是格式转换,而是补回对象边界、对象类型、对象属性三种缺失信息的语义重建;6.3 节按图层规范化、几何清理、构面、属性挂接、拓扑检查、结构化输出六个环节逐一拆解技术动作与常见失败;6.4 节讨论转换该放在测绘单位、平台还是第三方,6.5 节把质量变成四个可写进合同的指标。容易做错的判断是:把转换收归平台以降低准入门槛,看似友好,实则让质量责任在转换环节断裂。读完你能为一个项目定转换位置、定验收指标,也能量出返工集中发生在哪一步——这是第 7 章逐项讨论六项事项作业方法的前提。

学习目标

读完本章,你应当能够:

  • 说出 6.2 节 CAD 图缺失的三类信息(对象边界、对象类型、对象属性),并解释为什么把 DWG 转成 GeoJSON 只是格式转换,而非语义重建;
  • 对照表 6-1 复述六个环节的目标、关键技术动作与常见失败,并指出图层规范化为什么决定后续工作量;
  • 拆解 6.3.1 节图层映射表的复用与可审计两项价值,说明“把人的经验变成可复用的配置”对一个单位意味着什么;
  • 判断 6.3.3 节构面容差的取值依据(精度 1.5–2 倍),分别说明容差过小与过大各会产生什么后果;
  • 区分表 6-3 三种属性挂接方式的可靠性差异,解释作业阶段分配唯一编号为什么能让挂接退化为一次表连接;
  • 复述 6.4 节对转换位置的判断及其责任理由,并用表 6-4 四个指标写出一组可写进合同与验收标准的条款。

6.1 现实:绝大多数成果仍然是 CAD

尽管“成果要进库”是共识,但目前的现实是:绝大多数测绘单位的交付物仍然是 DWG 加 PDF。 这不是因为测绘单位不会用 GIS,而是因为交付要求本身没有强制要求 GIS 数据,也因为 CAD 在绘图效率上的优势短期内难以替代。

于是多测合一的实际技术路径变成:在 CAD 里画图,转成 GIS 数据入库。 这条路看似简单,实际上是一个充满陷阱的过程。

本章逐层拆解这段路。

6.2 转换的本质:从“几何集合”到“要素集合”的语义重建

把 DWG 转成 GeoJSON,技术上是一个格式转换;把测绘成果从 CAD 变成 GIS 数据,本质上是一次语义重建。

原因在于,CAD 图里缺失三种信息:

缺失一:对象边界。 CAD 图里一栋楼可能是四条线段、可能是几段多段线、可能是一个闭合多段线、也可能是一个块参照。哪种情况表示“一栋楼”,取决于绘图习惯,没有机器可读的约定。

缺失二:对象类型。 一个闭合多段线,可能是建筑轮廓、可能是绿地边界、可能是宗地界线、可能是道路面。类型信息在哪?在图层名里、在图例里、在绘图者的脑子里。

缺失三:对象属性。 建筑面积、层数、结构类型这些属性在哪?在文字标注里、在 Excel 表里、在报告正文里。它们与几何之间没有机器可读的关联。

语义重建的工作,就是把这三种信息补回来。

6.3 六个环节的技术动作

表 6-1 CAD 到 GIS 转换的六个环节

环节 目标 关键技术动作 常见失败
图层规范化 建立图层与要素类的映射 图层命名规则、图层映射表 图层名随意、同类要素分散在多个图层
几何清理 得到干净的几何 删除重线、打断交叉、闭合线串、去除零长度 重线导致面积重复计算
构面 线串转多边形 拓扑构面、最小面积阈值、容差处理 微小缝隙导致构面失败
属性挂接 几何与属性关联 空间连接、关键字匹配、人工补录 属性与图形错位
拓扑检查 保证关系正确 规则库批量检查与修复 查出问题但无法自动修复
结构化输出 生成标准数据集 按数据字典组织、生成元数据 字段缺失、编码不符

下面逐一说明每个环节的技术细节。

6.3.1 图层规范化:一切的前提

图层映射是转换的第一步,也是决定后续工作量的关键。理想情况下,测绘单位在制图时就遵循统一的图层命名规则;现实中往往不是。

实用的做法是建立一张显式的“图层映射表”,把 CAD 图层名映射到 GIS 要素类:

表 6-2 图层映射表示例(示意)

CAD 图层名(示例) 映射到要素类 几何类型 处理说明
JMD-A-轮廓 建筑基底 面 若为多段线需闭合
JMD-A-标注 注记 注记 转为注记要素或属性
LDDL 绿地地块 面 需与绿地分类表关联
ZD-JZX 界址线 线 需与界址点建立关系
ZD-JZD 界址点 点 点号从属性或注记提取
YHX 用地红线 线 作为约束线,不参与构面
0 / Defpoints 忽略 — 不转换

这张表的价值在于:它把“人的经验”变成了“可复用的配置”。 一旦建成,后续所有同类项目都可以复用,转换时间从小时级降到分钟级。更重要的是,它使转换过程可审计——出了问题可以查是哪条映射规则错了。

6.3.2 几何清理:脏数据的代价

CAD 图在经过多次编辑后,几乎必然积累脏数据:

  • 重线(duplicate):同一条线画了两次。后果是构面时可能生成重复面,面积翻倍。
  • 悬挂线(dangling):线的一端没有连接到任何东西。后果是构面失败。
  • 未闭合(unclosed):看似闭合的多段线,实际首尾点不重合。后果是构面时被判为不闭合。
  • 自相交(self-intersection):一条多段线自己穿过自己。后果是生成非法多边形(“蝴蝶结”)。
  • 零长度线:起点与终点重合。后果是干扰拓扑运算。
  • 微小面(sliver):构面时产生的碎小多边形。后果是要素数量虚高、统计失真。

每种问题都有对应的自动清理手段(删除重复、延长到相交、吸附闭合、打断自相交、删除零长度、按阈值合并碎面),但没有一种手段可以无脑全自动——清理力度过大会误删真实要素,过小会留下问题。

实用的策略是“分级清理”:先做无损清理(删重复、删零长度),再做有条件清理(按容差闭合、按阈值消除了碎面),最后把无法自动处理的问题输出成清单,交人工处理。人工处理的结果应当回写到源图,而不是只改转换结果——否则下次转换还会重现。

6.3.3 构面:从线到面的拓扑运算

构面(polygonize / build topology)是把线串集合转换成面集合的运算:把相互连接的线视为多边形的边,找出所有闭合环,生成面。

技术上,这是平面图(planar graph)的面提取问题。常见的实现算法基于半边数据结构或平面扫描。

工程上的关键参数是容差(tolerance):

  • 容差太小,微小的端点不重合会导致构面失败(本该闭合的地方被判断为断开);
  • 容差太大,相邻但不应连接的线会被错误合并,产生错误的面。

容差的选择应当与实际测绘精度匹配,而不是随意设定。 如果点位精度是 5 厘米,容差设成 1 毫米就会大量失败,设成 1 米就会大量误合。合理的做法是以精度的 1.5–2 倍作为初始值,再根据实际构面结果调整。

构面后必须做两件事:

  1. 面积合理性检查:与预期面积对比,发现数量级异常(比如一个“建筑”面积是 2 平方米,很可能是碎面);

  2. 面的语义赋值:构面得到的是纯几何面,必须按位置(落在哪个图层范围内)或按来源线段的图层来赋予要素类型。

6.3.4 属性挂接:最容易出错的一步

属性挂接把业务数据(Excel 表格、外业记录、报告数据)关联到几何上。常见方式有三种:

表 6-3 属性挂接的三种方式与适用场景

方式 原理 优点 缺点 适用
关键字匹配 用共同字段(如建筑编号)连接 精确、可验证 依赖双方都有唯一编号 首选方式
空间连接 按位置关系(点在面内、面与面重合)关联 无需共同字段 位置误差会导致错关联 无编号时使用
人工指派 逐条选择 灵活 效率低、易错 数量少、重要性高

实践中最可靠的是“关键字匹配”,因为它的错误是可检测的(匹配不上的会留下未匹配记录)。空间连接的隐蔽性更强——它总能给出一个结果,即使结果是错的。

因此,一个重要的设计原则是:在测绘作业阶段就为每个要素分配唯一编号,并把编号写入图形属性(CAD 中用扩展数据 XData 或块属性)。这样属性挂接就退化为一次表连接,可靠性大幅提升。

6.3.5 拓扑检查:把标准变成代码

拓扑检查在第 5 章已讨论过规则类型,这里补充工程实现要点。

拓扑检查的性能是一个实际问题:一个项目中若有数千个建筑角点、数百个绿地多边形,全组合的两两检查复杂度是 O(n²)。实际实现需要空间索引(R 树、四叉树、网格索引)来降低复杂度。

检查结果的处理方式决定了它是否有用:

  • 只报告不修复:检查报告很漂亮,但没人处理,问题依旧;
  • 自动修复:速度快,但修错了没人知道;
  • 半自动:自动修复明确的问题(如重复点),对需要判断的问题生成待办任务,人工处理后回写。

推荐半自动。判断“这个 3 厘米的缝隙是测量误差还是真实的界线”需要业务知识,不能交给算法。

6.3.6 结构化输出:成果的“最后一公里”

转换的最后一步是按数据字典组织成果:

  • 每个要素类对应一个图层/表;
  • 字段名、类型、长度、必填性、取值范围符合数据字典;
  • 编码值符合分类代码表;
  • 坐标参考系正确声明;
  • 生成元数据文件;
  • 打包成规定的成果目录结构。

这一步经常出问题的地方是编码值。数据字典规定了“结构类型”的取值只能是某几个代码,但转换时从 CAD 属性里读出来的是中文文字(“框架”、“砖混”)。需要一张值映射表把这些文字映射到代码——而这张表往往需要人工整理,因为同一结构在不同项目里的写法不同。

6.4 一个绕不开的成本判断:转换该由谁做

技术上,转换可以在三个位置发生:

位置一:测绘单位在提交前转换。 优点是数据源掌握者最了解数据,转换质量相对可控;缺点是增加了测绘单位的工作量,需要配套的计价与培训。

位置二:平台在接收时转换。 优点是对测绘单位友好,降低了准入门槛;缺点是平台要承担巨大的适配工作量,而且不同单位的 CAD 习惯千差万别,适配几乎无法穷尽。

位置三:第三方服务机构转换。 优点是专业化;缺点是增加了一道环节,责任链条变长。

本报告判断:以位置一为主、位置二为辅。 理由是多测合一要求成果质量责任由测绘单位承担(1729 号文明确“落实成果质量责任”),如果转换由平台做,那么数据质量问题的责任就模糊了——测绘单位说“我交的图是对的,是你转错了”,平台说“你交的图本身就不规范”。责任必须在转换之前就明确。

平台侧应当提供的是转换工具与校验服务,而不是替测绘单位转换。工具可以免费提供、可以强制使用,但转换动作必须由测绘单位完成并承担结果责任。

6.5 转换质量的量化:可测量的四个指标

“转换做得好不好”不应该靠感觉。以下四个指标可以用来量化:

表 6-4 转换质量的四个可量化指标

指标 定义 目标值(建议) 测量方式
要素类型正确率 类型判定正确的要素数 ÷ 总要素数 ≥ 99.5% 抽样人工核对
几何有效率 通过拓扑检查的要素数 ÷ 总要素数 ≥ 99% 自动检查
属性完整率 必填字段非空的要素数 ÷ 总要素数 100% 自动检查
属性正确率 属性值正确的要素数 ÷ 抽样要素数 ≥ 99% 抽样人工核对

这四个指标的价值在于,它们可以被写进合同、写进验收标准,从而使“数据质量”从一个模糊的要求变成可以验收的条款。

本章小结

从 CAD 到 GIS 不是格式转换,而是语义重建。六个环节中,图层规范化决定了后续工作量,几何清理与构面决定了数据可用性,属性挂接与拓扑检查决定了数据可信度,结构化输出决定了数据能否入库。

关键工程判断:转换动作应当由测绘单位完成并承担责任,平台提供工具与校验,而不是代替转换。 否则质量责任会在转换环节断裂。

转换质量可以用四个指标量化,它们可以写进合同与验收标准。

思考与练习

  1. 某测绘项目的一张图里,同一栋楼被画成四段线段、一段闭合多段线和一个块参照三种形态。请按表 6-1 的六个环节推演:在哪一环会出现“对象边界”缺失带来的问题,各用什么技术动作补回,又该如何验证补回后的类型正确。
  2. 某图的构面容差先设为 1 毫米,大量本该闭合的线被判为断开;改为 1 米后,相邻但不该相连的线被错误合并。请按 6.3.3 节的取值依据,说明初始容差应当怎么定,并列出构面后必须做的两件事。
  3. 某项目用空间连接把 Excel 里的属性挂到房屋面上,有几个分户的面积与图形明显错位,作业组打算逐个人工修正。请按 6.3.4 节说明空间连接为什么“总能给出一个结果”,指出更可靠的做法,并说明该在下一次作业的哪一步提前避免。
  4. 取本单位一份 CAD 成果(或公开的成果样例),按表 6-2 的格式试做一张图层映射表:列出图中图层名、拟映射的要素类、几何类型与处理说明,并标出无法确定归属的图层、写明原因;再对照 6.5 节的四个指标,判断这张表还需补什么才能支撑验收。
  5. 今天就动手:在表 6-4 的四个指标里挑一个(建议先做属性完整率),为你手上一份成果写出可执行的检查步骤或查询条件,跑出当前数值,记录测量方式、抽样范围与责任人,作为下一版成果的对比基线。

上一章:第05章 数据模型:把“图”变成“数据”   返回目录:多测合一业务全景教程   下一章:第07章 六项测绘事项的 GIS 作业方法