FME之于规划CAD数据质量检测
最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格,想着转换加个质量检测过程应该有利于数据交互。本来写成“发表论文”的形式,不发论文了直接贴出来。
一、引言
城市规划一般都是以CAD进行图形设计的,包括总规、控规、分规、修详、红线等内容,每个部分又可以保护多个细分的图层。随着目前城市规划应用深入展开,必须考虑到GIS空间分析的功能性,GIS对于城市规划辅助决策具有决定性效果。然而目前由于CAD数据与GIS结构和存储表达的不同,使得二者之间的转换出现很大障碍,为此寻求一种良好的争取尽量丢失信息的转换方式就是必须的。
FME作为一款ETL(Extraction-Transformation-Loading)产品,在数据转换中应用广泛,特别是GIS方面的数据转换应用。目前在CAD转GIS中,无外乎以下几种方式:使用FME本身的软件产品进行转换,如FME Quick Translator;使用ArcGIS内嵌的转换工具;使用FME WorkBench制作转换模板;使用FME Plugin-In开发专门的一种插件;使用FME Objects二次开发进行定制、快速、批量转换;还有生成脚本文件.bat和.tcl进行批量转换等。然而这些转换都没有具体的进行转换前质量检测,在一定程度上影响转换的准确率,本文于此提出FME《质量体系》,描述转换数据质量检测。
二、FME质量体系建模
一个良好的质量检测体系为数据转换准确率、效率、应用效果提供巨大支持。
1、规划CAD数据质量问题
规划数据以已经经过规划的CAD规划成果为数据源,然而由于人工操作、规划水平,难免会出现些图形数据属性数据方面的问题,图形方面表现在线交叉、重叠等拓扑错误、实体元素错误等,属性方面表现在属性名称不符合标准、属性为空、属性值无意义、属性超过限定值等,还有对于GIS而言一些文字、标注等多余的描述性东西。
2、GIS入库标准建立
进行质量检测必须有标准可依,CAD规划数据入库GIS必须符合GIS空间建库的一系列条件,以ArcGIS的GeodataBase为空间数据库,表现在以下几个方面:
(1)需符合国标规定,CAD数据入库需满足城市规划各项国标要求;
(2)空间参考、水准高程等数学元素需满足GIS在测绘方面要求;
(3)空间数据建库组织,以Geodatabase的各项要素进行分层组织,分层表达,规划成果总规、控规、分规、修详、红线等各组织为一要素数据集,要素数据集里面可以由多个要素类、关系、拓扑、网络等;
(4)要素命名规范,符合大类标准,细分到具体要素类,字母表达容易理解;
(5)数据结构建立,在CAD数据结构的基础上更改和扩展属性数据结构;
(6)CAD符号在GIS中表达,满足空间入库符号化制图表达要求;
(7)对应于相应的空间分析,有专项规划空间分析和三维分析,保证数据可以满足对应的空间分析条件,以发挥数据规划分析功能。
3、质量检测体系框架
在FME支撑下,针对CAD规划成果的数据问题提出满足GIS入库标准的质量体系框架,描述质量检测内容与流程,为数据GIS入库提供前提检测。
图1 质量体系
质量检测体系的每个检测内容都包含若干个需要检测的子项,而且检测内容之间也相互嵌套支持,其中核心检测内容为图形检测盒数据检测,上图中列出主要检测类别,更多细项需要根据需求而定。每个检测内容在FME中或单独或联合几个转换函数Transformer使用,配置需求的参数和选项以及设置工作流程。
1)整体性检测
整体性检测涵盖整个数据检测入库过程,要素组织可以从大类分小类,进行对应的要素组合和命名,ListBuilder和ListRenamer提供支持;空间参考从整个要素库到单个要素、属性都扮演着重要角色,不同的要素要想在一起使用需进行空间投影,可CoordinateSystemSetter 、ESRIReprojector 、Reprojector来进行设置;检测结果包括成功的、失败的,同时又需要输出为报告或图形,可StatisticsCalculator、Counter等。
2)完整性检测
完整性可有空间属性逻辑一致性,空间图形的拓扑一致性,文档表格的存在规范性,工作流程的设计合理性,记录描述的有效性,日志记录等。属性完整性检测属性是否正确对应,PointOnAreaOverlayer点面叠加操作判断注记是否在地块内,Tester属性条件判断;空间拓扑描述点、线、面已经复合要素的空间关联,TopologyBuilder建立拓扑,SpatialRelator确定要素间的拓扑关系;Logger记录详细的流程操作信息。
3)标准性检测
对内容符合一些规范、国家地区标准内容与否进行相关判定操作并作出对应的纠正,要素内容是否符合地区建设内容,要素结构是否满足实际需求,需要在逐步考察对比分析的基础上进行,Matcher内容匹配检测,Sampler抽样检测,Tester和TestFilter进行实际测试。
4)属性检测
表达要素基本信息的核心内容之一,CAD数据一般没有具体的属性结构,而且表达意义不迫切,但GIS中是必备的。不易识别的属性需改名AttributeRenamer,空值属性或修改或创建AttributeCreator,暴露出属性供其他要素选择所需AttributeExposer,过滤属性内容或选择一定的属性范围AttributeRangeFilter,组合其他要素的属性AttributeAccumulator,还有对属性进行裁剪、增加扩展、分隔、计数等,这些组成属性检测必备函数。
图2 常规属性处理过程
5)空间检测
表达要素空间关联的核心内容之二,基于CAD内容的各种空间关联问题,在入库GIS前,分别从CAD和GIS角度进行拓扑检测,包括一般的常规拓扑检测和空间分析拓扑检测。常规拓扑就是点、线、面、复杂聚合要素的空间关联,而空间分析拓扑则是在经过缓冲、叠置、网络甚至三维分析后进行的拓扑。
针对CAD是个多图层的综合体,需要进行图形要素分类检测,GeometryFilter分裂成GIS多种几何类型,使用FeatureFilter/AttributeFilter/ DuplicateRemover完成图形分类;
针对点、线、面、复合要素,有点点、点线、点面、线线、线面、面面、环(Donut)和岛(Hole)这些基本几何拓扑关系,具体描述方式依照GIS拓扑9-交拓扑模型和四叉树八叉树表达,这些关系主要有:点点叠加,点线叠加,点面叠加,线线叠加,线面叠加,面面叠加,在FME函数表达中为:【类型】On【类型】Overlayer;要素环建立DonutBuilder,岛提取,相交Intersect,自相交SelfIntersect,空间擦除Clipper,空间合并Dissolver/FeatureMerge等; 针对空间分析,可综合多个空间拓扑进行,有缓冲分析、叠置分析、网络临近、网络最优、网络选址,在三维方面表现在DEM和表面Surface。其中缓冲分析Bufferer函数,网络临近ShortestPathFinder,三维DEM创建DEMGenerator/ TINGenerator/ ContourGenerator等。
5)工作流程
质量检测对空间要素进行空间非空间的检测,以《质量体系》为检测引擎,在对数据进行预处理的基础上执行检测,对检测结果进行图形和报告输出,最终目的是GIS入库和数据更新,保证数据质量支撑GIS应用。工作流程作为质量体系建模的“外部”部分,建立FME WorkBench的WorkSpace为存储介质,图形化可拖动配置性界面来操作。
最后,传统转换都直接以实际例子来说明,没有具体描述整个过程,本文针对检测质量体系提出相关内容,当然内容是大体上,还有更多内容需要考虑,当做一种研究学习方法和推进思路,共勉。