基于二元要素类映射池的空间数据转换技术研究
2019-09-18齐菊梅侯清波裴丽娜
齐菊梅, 侯清波, 裴丽娜
(黄河勘测规划设计研究院有限公司,河南 郑州 450003)
在工程勘察设计行业,勘察专业的上下游专业所使用的图件大部分是AutoCAD格式的矢量化地形图。随着数字化采集技术的普及,在工程勘察现场需要利用便携移动设备的GPS定位功能,来实现定位与地形图的实时关联,在采集空间信息的同时录入相关的属性信息。CAD不能建立完整的地理坐标系统和完成地理坐标的投影变换,也不具备地理意义上的查询和分析功能;GIS中的所有数据都具有严格的地理参照,数据通过坐标系统与地球表面的特定位置发生联系,利用GIS格式的空间数据架构实现空间数据和属性数据的有机联系。随着CAD与GIS数据共享需求的日益增加,部分GIS软件提供了对CAD文件的直接加载功能;基于FME数据转换平台可实现多种空间数据格式的转换问题[1];申胜利、李华分析了AutoCAD图元与ArcGIS图元的异同,通过建立点对照表、线对照表、注记对照表实现CAD、DXF数据与ArcGIS数据相互转换的方法[2];陈年松利用FME通过建立语义映射实现CAD数据与GIS数据的语义转换[3]。但由于缺乏对空间对象的统一描述,不同数据格式描述空间对象时采用的数据模型不同,空间数据转换后不能完全准确地表达原数据的信息,经常性地造成一些信息丢失和错漏,并且数据处理流程繁琐,转换效率比较低,不能满足实际生产中的需要。由此结合工程勘察数字采集系统的研发实践,提出基于二元要素类映射池的空间数据转换解决方案,该方法实现了空间数据的平顺无损转换,数据转换效果和效率都能满足生产需要,效果良好。
1 CAD与GIS空间数据特征
CAD是按图层组织空间图形数据,由多种绘图实体组成,其实体采用三维坐标描述,只具备几何位置、形状、大小及描述元素的一些基本性质(如层名、颜色、线型等),图形编辑功能很强,所处理的基本图形元素有点、线、注记等。而“块”是一种特殊的图形元素,一般由多个基本图形元素构成。CAD中的符号为图形的一个部分,不同的符号可能具有不同的性质。AutoCAD的图形数据输出基于一个界面,其图形元素之间没有拓扑关系,因而CAD不具备地理分析功能。
GIS的操作对象是空间数据,它具体描述地理实体的空间特征和属性特征[4]。空间特征是指地理实体的空间位置、拓扑关系和几何特征;属性特征表示地理实体的名称、类型和数量等。根据地理实体的空间图形表示形式,可将空间数据抽象为点、线、面三类元素,它们的数据表达可以采用矢量和栅格两种组织形式。GIS空间数据主要采用空间分区、专题分层的数据组织方法,一般可分为图形、属性、注记、符号数据,其中图形数据指地理实体的空间位置和形状,可用几何对象来描述,包括点、折线、圆、圆弧、椭圆、椭圆弧、Bezier曲线、样条曲线等。
CAD与GIS数据在底层数据组织、结构等方面具有很大的不同,只有解决了CAD与GIS数据的便捷转换问题,才能实现外业勘察数据采集与内业资料整理的一致性和共享性。
2 基于二元要素类映射池的数据转换思路
要保证空间数据格式转换的质量,首先要确定基本图形要素之间的映射关系,提出二元要素类映射池技术(图1),用以解决CAD与GIS格式数据互相转换的问题。
图1 二元要素类映射池技术Fig.1 Mapping pool technology for binary factor classes
二元要素类映射池是存储CAD要素与GIS要素对照关系的数据库文件[5]。
CAD图层中的线要素进入到GIS后转换为GIS线图层。数据格式转换时,逐个读取CAD文件的图层,依据CAD图层、GIS图层命名规则,设定两者之间的名称对照;依据CAD、GIS中的线型定义,设定两者之间对应的线型对照关系。
CAD文件中的块要素进入到GIS后转换为点图层。数据格式转换时,逐个读取CAD文件中的块,将块名称提取出来,依据块定义的内容和GIS中的符号系统,设定两者之间的符号对照关系。
将经过图层比对产生的相应的线、点等空间数据要素的对照关系存放到相应的数据库文件中,在格式转换时,从数据库中调用相应的映射关系,达到格式转换的目的。
根据遇到的CAD图的类型不同,每一类图形的格式转换都会建立相应的映射关系,将新增加的映射关系增量存放到数据库文件中,实现对应元素智能增量化记忆。随着转换应用的广泛增多,映射池内映射关系愈丰富,数据的转换会更加智能便捷。
二元要素类映射池包括点要素映射池、线要素映射池、面要素映射池、注记要素类映射池、颜色映射池等内容,见表1-表4。
表1 点要素映射池Table 1 Mapping pool of point element
表2 线要素映射池Table 2 Mapping pool of line element
表3 颜色映射池Table 3 Mapping pool for colors
3 二元要素类映射池转换技术的功能实现
表4 图层映射池Table 4 Layer mapping pool
采用二元要素类映射池技术进行空间数据转换主要包括:打开源汇数据、解析源数据、建立维护转换映射池、转换数据(图形数据的转换、属性数据的转换、图层颜色转换、文字和注记的转换等内容),见图2。转换步骤如下:
图2 空间数据转换流程Fig.2 Conversion process of spatial data
(1) 设置源汇数据格式。开始转换之前要指定待转换的源文件,明确其格式、版本等内容,还要明确要转成的目标数据格式。
(2) 解析源数据。对数据描述的事物对象实例进行要素分类,如CAD数据,对每一个图层以及每一个图层内的点、线、面、块要素解析,包括颜色、图层等信息等。
对于每一类的点要素,图层不同,块名不同,代表的意义就不同,要单独列出,明确其实际意义;对于每一类的线要素,图层不同,线型不同,颜色不同,代表的物理意义不相同,需要单独列出明确其实际意义;对于每一类面要素,图层不同,底色花纹边界不同,代表的物理意义不同,遍历列出明确其实际意义。
(3) 建立二元要素类映射池。根据解析的要素类成果,在映射池中进行逐一注册,对每个注册项编辑其完整的映射关系,也就是源数据和目标数据之间的接口,如图3所示,其中:“Type_CAD”指的是CAD格式的数据类型,有块(Block)和图层(Layer)两种类型,CAD中的一种块对应ArcGIS中的一个图层,CAD中的一个图层对应ArcGIS中的一个图层;“Name_CAD”指的是CAD格式数据的块名或图层名称;“LayerType_ArcGIS”指的是ArcGIS格式数据的图层类型,“LayerName_ArcGIS”指的是ArcGIS格式数据的图层名称;“SymbolCode”指的是ArcGIS符号样式编号;“SymbolColor”指的是ArcGIS符号颜色;“SymbolSize”指的是ArcGIS符号大小或线宽;“SymbolAngle”指的是ArcGIS符号旋转角度;“SymbolOutline”指的是ArcGIS符号边框颜色;“Category”指的是ArcGIS符号所属范围分类。
图3 空间数据转换接口Fig.3 Conversion interface of spatial data
利用图3中的关系,把CAD中的块或块参考与ArcGIS中点、点符号库进行映射;CAD中的线型与ArcGIS中的线型库进行映射;CAD中的填充图案和线的组合与ArcGIS中的面进行映射。并对其在目标格式中的数据格式以及符号化进行取舍和设定。
(4) 实施数据格式转换。对源数据的每一个图层、每一个要素进行遍历,到映射池中查询其映射规则,向目标数据文件中写入其相应的数据和属性,从而完成数据无损转换。
(5) 映射池维护。映射池中的映射规则数据增量保存,即自动维护扩充,不需要人机交互维护,下次转换再遇上同样的数据即可直接使用,不必重复往映射池中设定映射关系,既节省了时间,又提高了效率。程序实现流程如图4所示,首先获取dxf文件中的所有图层和块,遍历这些图层和块,根据图层或块的名称和类型,利用sql语句去映射池中执行查询比对,查出数据,说明是已存在的映射关系,则遍历下一个图层或块,若查不出数据,则说明是不存在的映射关系,将当前对象的映射关系添加进映射池,然后再遍历下一个图层或块,如此循环直至遍历完所有的图层和块。
图4 自动维护扩充流程Fig.4 Extension process of automatic maintenance
4 二元要素类映射池技术的应用
工程勘察数字采集信息系统是综合利用GIS、GPS、RS、数据库、计算机等技术研发的一套适用于工程勘察数据的数字化采集、管理及应用的系统。
二元要素类映射池技术作为该系统的关键技术之一,顺利实现了CAD与GIS的空间数据转换,见图5。转换后的数据在工程勘察数字采集信息系统环境下图层、线型、颜色显示完好,且运转流畅。图6为某工程地图CAD与GIS转换前后的对比效果,左侧为原地图数据在AutoCAD中的显示效果,右侧为转换为GIS数据后在工程勘察数字采集信息系统中的显示效果。
图5 二元要素类映射池Fig.5 Mapping pool for binary factor classes
图6 某工程地图CAD与GIS转换前后的对比效果Fig.6 Contrast effect between CAD and GIS in a project map
5 结语
二元要素类映射池技术针对不同的要素类建立从源到汇的具备智能记忆功能的GIS与CAD空间数据转换的映射池,提出了完善的分层比对接口处理方法,实现了不同格式的图形和空间数据的双向导通。该技术已在生产实践中成功应用,实现了GIS空间数据与上、下游专业间CAD格式空间数据的便捷转换。
二元要素类映射池具有智能记忆、增量式扩充等功能,随着应用的增加,映射池会自我完善,要素类逐渐增加,处理方案丰富多样,积累的越丰富应用效果也越好。相比其他转换方法,操作简便,且有较强的人机交互功能。
对于收集到的其它格式的数据,如MapGIS、SuperMap、Mapinfo、MicroStation等格式的数据,映射池都可以依据此思路自动进行模块拓展,建立相应的映射池模块,从而实现相关格式的数据转换,且具有智能扩充的功能。