MicroStation图形数据到ArcGIS数据转换方法的研究
2015-07-04张燕唐相桢重庆市勘测院重庆400020
张燕,唐相桢(重庆市勘测院,重庆 400020)
MicroStation图形数据到ArcGIS数据转换方法的研究
张燕∗,唐相桢
(重庆市勘测院,重庆 400020)
摘 要:针对在GIS项目建设过程中,ArcGIS软件应用广泛,很多用户都有将自有图形数据转到ArcGIS数据的需求,分析了MicroStation到ArcGIS数据转换过程中存在的问题,提出通过研发程序,借助中间数据格式的方法,实现了MicroStation数据向ArcGIS Geodatabase的自动化无损转换。
关键词:MicroStation;DGN文件;ArcGIS;数据转换
1 引 言
近年来,GIS应用已经逐步深入到各行各业,数据建库和地理制图作为应用中两大方向,也使得测绘行业软件各有侧重。实际应用中,ArcGIS因其大而全的功能,成为行业通用的GIS软件,数据格式也日渐成为行业中的通用格式,与计算机辅助制图软件相比,Arc-GIS软件在空间数据管理、分析统计等方面功能强大,但其制图编辑效率低,操控性等较难满足测绘单位需求[1]。相对来说,测绘单位更偏好于使用具备友好的交互界面的专业制图软件,它们囊括了大量快捷灵活的数据采编功能,有强大的图形表达能力,能快速实现制图的目的,但其缺陷在于强调图面的表达,在空间数据的管理和分析利用上较弱。综合考虑之下,很多用户选择使用如MicroStation、CAD、CASS等专业制图软件采编制作地图,然后再转换到ArcGIS的作业方式。
笔者工作单位多年来一直采用MicroStation做前期数据采集和地形图生产,积累了大量的MicroStation DGN文件数据,在应用中不可避免需要转换到ArcGIS Geodatabase。由于DGN文件数据的特殊性以及不同项目需求带来的自定义扩展属性的多样性,使得简单地借助ArcGIS自带工具无法保证转换的完整性。因此,通过考虑研发转换工具,利用中间数据格式作为衔接,来实现DGN数据到Geodatabase数据的批量自动转换,目前该方法和转换软件已成功应用于生产项目。
2 转换方法
转换方法上,若直接利用ArcGIS的数据导入,难以实现DGN文件数据转入到指定的图层,人工工作量大。DGN文件数据中,要素结构经过MicroStation二次开发后实现了扩展,支持要素自定义属性字段。这种自定义扩展属性无法被ArcGIS识别,同时也难以被FME这样的转换软件识别,无法导入,会造成许多重要的数据信息丢失。因而,需要自行编写软件以满足转换需求。
MDL是MicroStation的二次开发工具,提供了在MicroStation里数据存取、操作等功能,开放性好;Arc-GIS Engine是ArcGIS的软件开发产品,它提供了空间数据存取,空间分析等数据操作功能。
本文选择MDL在MicroStation里进行开发,输出中间交换数据,然后利用C# 2005结合ArcGIS Engine开发,完成从中间交换数据到ArcGIS Geodatabase数据的转换。通过自定义开发,实现按照指定的数据结构对数据进行存储,并实现大量DGN数据的批量自动转换。
3 技术流程
数据转换之前,先利用质检工具对DGN文件数据进行质量检查,对存在的属性和拓扑错误进行修改;质检合格后,依据DGN要素层名、颜色到ArcGIS要素编码之间的对照方案,用MDL研发的导出工具从DGN文件输出中间数据交换文件,逐一记录要素的编码、层名、及其他扩展属性,最后用ArcEngine研发的转换工具读取中间数据交换文件,输出ArcGIS Geodatabase数据。转换流程如图1所示。
图1 转换流程图
3.1要素对照
MicroStation DGN文件主要存储要素的层、色、线型、单元名及注记内容大小等。文件以图层组织数据。要素以图层和颜色作为唯一标识,共分了70个图层,对测量控制点、水系、居民地及设施、交通、管线、境界、地貌、植被与土质等要素进行表述。一个图层下可以包含多种几何类型。点类型由单元Cell、点Point表示;线类型由线串LineString、复杂线Complex LineString、曲线Curve、弧段Arc表示;面类型由简单面Shape,复杂面Complex Shape,圆Circle,椭圆Ellipse表示。
在ArcGIS中按照要素大类分,大类下再按要素类型(点、线、面、注记)进行分层,共分为CPTP,CPTL, HYDP,HYDL,HYDA,RESP,RESL,RESA等40多个数据层,一个数据层代表唯一的数据几何类型,层名末字母代表要素的类型:P代表点,L代表线,A代表面。属性字段在每个数据类中单独定义。
MicroStation地形图侧重于制图数据,在数据属性字段的设置上大多根据当时的项目需求制定的,无论在几何类型或者属性上,与ArcGIS成果要求的数据结构和需求都存在很大的差异,需要对两种数据进行对照,建立两套数据间的关联。编码对照表结构如表1所示。
编码对照表结构 表1
在对照过程中,需要注意在MicroStation中要素的类型是否与要转换的目标数据类型一致,如果有冲突,就需要进行额外的程序处理或人工处理。如DGN的注记要素需要转换为点类型,就需要转换程序对文本进行自动提取点的操作,并提取注记文本内容写入属性。如岛要素在MicroStation中是单元,转入到ArcGIS是面要素,这在转换中也同样需要额外处理。类似的情况需要在做对照时进行记录,以利于在下一步编程时进行额外的编程处理。需要程序处理的类型转换如表2所示。
类型对照表 表2
在属性对照时,将DGN里已有的属性尽可能对照到ArcGIS属性字段,缺失的属性通过DGN文件在输出中间交换文件时进行自动提取,无法提取的属性通过值默认或者由人工交互的方式进行填补。最终要求对照后的属性与成果要求一致。属性对照表结构如表3所示。
属性对照表结构 表3
3.2中间数据格式转换
在对DGN数据进行转换之前需要运用程序对原始数据进行质量检查,预防数据错漏等问题,确保成果合格。主要包括以下几个方面:
①分类编码检查:依据编码对照表,对DGN数据的层色合法性(是否在对照关系里有对应的编码存在),和要素类型进行检查。
②数据的拓扑检查:笔者在MicroStation里自行研发了拓扑检查小工具,对重复地物、极短线、极小面、自相交线、线交叉,面重叠、悬挂点等进行检查和修复处理。
③扩展属性检查:结合属性对照表,对扩展属性字段类型,内容进行规范性检查。
待质量检查通过后,运用MicroStation MDL研发程序,输出中间数据交换文件。程序逐一访问DGN文件中的要素,获取要素的图层和颜色信息,然后到编码对照表中,找到对应层色的表项,获取相应的编码、GIS图层名。然后按属性对照表获取要素的自定义属性,依据定义的格式写入中间数据交换文件。
(1)点要素
在DGN中,点要素主要对应于单元Cell,包含普通单元、旋转单元、缩放单元。实际操作中要求提取单元的层、色基本属性,单元的定位点、旋转角度、缩放比例等图形信息,填写到对应的扩展属性中;并将各项扩展属性,用以特殊字符分割的字符串输出。
点要素中间格式如下:
POINTBEGIN
ID,GB编码,要素分层
X,Y,Z
属性1^#属性2^#属性3^#
POINTEND
(2)线要素
在DGN中,线要素主要对应于简单线串、复杂线、弧段、曲线、多线等。实际操作中需要针对不同的类型进行线结点坐标的读取。对于弧段、曲线,需要将其折线化,进行输出,以保证线转入ArcGIS变形较小;复杂线需要遍历其下的子线串,将其连接成为一条整线;对于多线,需要分别对其边线分别拆分为单一的线串要素进行输出;同时提取要素的层、色基本属性,及各项扩展属性。
线要素中间格式如下:
POLYLINEBEGIN
ID,GB编码,要素分层
0,X1,Y1,Z1
1,X2,Y2,Z2
...
属性1^#属性2^#属性3^#...
POLYLINEEND
(3)面要素
在DGN中,面要素主要对应于多边形、复杂面、圆、椭圆、岛单元等。实际操作中需要针对不同的面类型进行线结点坐标的读取。对于圆、椭圆,需要将其边缘线折线化,进行输出,以保证线转入ArcGIS变形较小;复杂面需要遍历其下的构造线要素,将其连接成为一条闭合的坐标序列;对于岛单元,需要遍历结构下的子面,先读取实体面,再读取空心面,在中间交换文件中按照索引顺序输出各子面的坐标序列,以用于在ArcGIS中重构。在DGN中面的坐标序列,起点和终点是重复的,在输出需要将终点重复点清理掉,最后提取要素的层、色基本属性,及各项扩展属性。
对于比较特殊的面要素,如依比例的斜坡坎崖、台阶等,均作为MicroStation的用户自定义数据结构,在转换程序中,过滤掉其制图的图形数据,提取骨架面线进行输出。以陡坎为例,在DGN中,陡坎要素的上缘线和投影线均放在同一图层,以不同颜色区分。上缘线可以直接通过层色提取得到,下缘线无法直接获得,需要程序从陡坎投影线提取。首先,以上缘线的指定缓冲距离和层色限制为搜索条件得到陡坎投影线,将各投影线与上缘线的交点依次排序,然后将排好序的投影线的另一边端点连接起来,就构成了陡坎的下缘线,最后将上下缘线连接闭合就构成了陡坎范围面。
面要素中间格式如下:
POLYGONBEGIN
ID,GB编码,要素分层
0
0,X1,Y1,Z1
1,X2,Y2,Z2
…
1
0,X1,Y1,Z1
1,X2,Y2,Z2
…
2
0,X1,Y1,Z1
1,X2,Y2,Z2
…
属性1^#属性2^#属性3^#…
POLYGONEND
(4)注记要素
注记要素最终在ArcGIS中以点要素表示,所以中间数据交换文件中主要提取注记的点位坐标和注记文本内容。在DGN中,线要素主要对应于文本、文本节点等。同样需要分别针对两种类型进行提取,文本节点在DGN中通常应用于拉线注记、曲线注记,用以兼顾制图的效果以及整体性。文本节点通常以第一个字的定位点作为整个注记的坐标点位。
注记要素中间格式如下:
ANNOTATIONBEGIN
ID,GB编码,要素分层
X,Y,Z
属性1^#属性2^#属性3^#...
ANNOTATIONEND
在输出中间数据交换文件的过程中,未能转换的数据或者无需转换的制图图形数据,会自动生成转换过程图形文件,以备检查。
3.3中间数据转Personal Geodatabase
在进行Geodatabase转换之前,需要先制作数据模板.方法是在ArcCatalog工作目录中,新建“personal geodatabase”,数据格式为MDB。按照成果要求,对为每一个ArcGIS图层新建要素类,设置要素名称、数据类型、坐标系,并设置属性字段。
利用ArcEngine研发程序,利用数据模板新建Geodatabase成果文件,读取中间数据交换文件,识别点、线、面、注记要素,获取要素的坐标位置、转换图层名、属性,重构ARCGIS要素写入Geodatabase成果文件,最后删除空的图层。
4 实验结果
使用笔者的转换方法,能够自动完成绝大部分的转换工作。用户只需在输出中间交换数据环节,对转换过程文件进行检查,对输出的错漏数据进行查看和处理,处理完成后再重新转换即可。在执行过程中针对大批量转换,通常是先批量转中间交换数据,再批量转Geodatabase,平均一幅1∶5 000地形图约耗时2 min。图2为DGN数据转换前后对比图。
图2 DGN数据转换前后对比图
5 结 论
本文提出的方法解决了DGN制图数据到ArcGIS数据的自动转换问题,转换内容完整,较好地保留了数据的几何信息和属性信息,不存在数据变形或属性信息丢失的情况。开发的程序经过项目实际生产的检验,运行稳定,提高了工作效率。转换根据需求对对照表进行配置,适用于各种比例尺MicroStation地形图的自动批量转换处理,具有较好的实用性和扩展性。
参考文献
[1] 杨晓超.MapGIS向ArcGIS数据转换过程中若干问题[J].地理空间信息,2012(10):121~123.
[2] 杨帆,薄成.基于FME的DWG数据到ArcGIS转换的应用研究[J].测绘科学,2012,37(2):143~145.
[3] 苟浩远,胡元亮.ArcGIS中数字化地形图快速入库的方法与技巧[J].地理空间信息,2012,10(3):62~64.
[4] 丁俊杰,薄伟伟,张戈兰.GIS数据建库与地图制图一体化方案研究与实现[J].华北水利水电学院学报,2013, 34(6):69~72.
[5] 毕云华,马霖,罗明.基于ArcEngine的清华山维与Arc-GIS数据转换的设计[J].地理空间信息,2013,11(2): 62~65.
[6] 王波,张亮,孙霞.CAD向GIS数据的转换入库[J].地理空间信息,2011,9(3):24~26.
[7] 郑伟,黄明,朱曙光等.排水管网CAD数据导入ArcGIS的方法研究[J].安徽建筑工业学院学报,2012,20(5): 63~67.
[8] 张省,戚文来,范维锋.DLG建库数据到制图数据自动转换程序的研究与实现[J].测绘与空间地理信息,2013, 36(1):91~93.
Research on the Data Conversion From MicroStation to ArcGIS
Zhang Yan,Tang Xiangzhen
(Chongqing Survey Institute,Chongqing 400020,China)
Abstract:In the process of GIS project,ArcGIS software is widely used.There is strong demand for converting the other format data to ArcGIS data.This paper analyzes the problems in MicroStation to GIS data conversion process,put forward the method of using the intermediate data and program development,to realize automatic translation from MicroStation data to Geodatabase data in ArcGIS.
Key words:MicroStation;DGN file;ArcGIS;data conversion
文章编号:1672-8262(2015)01-26-04中图分类号:P208.1
文献标识码:A
收稿日期:∗2014—07—18
作者简介:张燕(1979—),女,高级工程师,从事GIS系统应用与开发工作。
基金项目:住房和城乡建设部科研开发项目(2014-K8-038)