基于Microstation的DLG数据入库关键技术研究
2014-03-27李正云刘艳伟王海星
李正云,刘艳伟, 王海星
(1. 陕西宝岳测绘有限公司,陕西 西安 710054)
在数字测图中,最常见的产品就是数字线划图(DLG)[1,2]。但是由于历史原因,先期建设主要采用Microstation/J和Geographics为基础平台[3],数据库平台采用Oracle9i。在GIS建库时,由于软件平台不一样,需要进行数据格式转换才能入库。由DLG数据到GIS数据库的转换过程中[4],涉及很多关键环节,如数据提取、格式转换、数据分类、数据编码、数据建库、符号匹配等,容易造成数据信息的丢失[5]。本文探讨了由Microstation 地形图数据到SuperMap GIS数据库过程中数据转换的关键环节、流程、遇到的问题及其解决办法,提出一条程序化、自动化、智能化的利用DLG数据进行GIS数据建库的途径。
1 数据源和数据库分析
本文所讨论的数据源由两部分组成:已入库的DLG数据源和基于Microsattion文件格式的DLG数据源,如图1。输入接口中要充分分析用户需求,分析已有数据源的特征、需要做的预处理工作以及可能遇到的问题及相应解决办案,如数据分类是否符合要求、数据属性是否完整、数据分类编码等。
GIS地理信息数据建模是建立该系统的关键一环,主要涉及有什么数据、向客户提供什么数据、如何组织这些数据等基础问题。输出接口分析如图2。
图2 输出接口
图3 数据处理流程
2 数据转换流程分析
从DLG数据到SuperMap数据库,主要有DLG数据专题要素提取、数据格式转换、GIS数据编辑处理、属性匹配和基础GIS数据编码、地图符号化和专题地图配置等环节[6,7]。考虑到传统数据生产中数据不标准以及SuperMap转换Microstation V8中数据不完善,中间环节会遇到许多问题。为此,提出图3所示处理流程和基于C/S架构的数据处理程序。
图3 数据处理流程
考虑到数据的安全性,将Microstation数据源放在服务器端,编写基于C/S架构的数据处理程序,其功能主要包括数据提取、数据分类、数据检查、属性转换、专题地图配置文件生成、文本/符号数据转换等[8]。
图4 C/S架构的处理程序设计
2.1 DLG数据专题要素提取
数据库中的GIS数据无论概念还是要求,完全不同于传统的DLG数据。传统的DLG数据主要采用多比例尺“分幅”的点线面数据混合形式,而GIS数据要求相同图形要素分类,并以点数据集、线数据集、面数据集的方式呈现,如交通数据、水系、居民地及其附属、工矿设施及其附属、管线数据、农业设施及其附属、公共设施及其附属、植被数据、地貌数据、行政区划数据、垣栅数据等。本文编写相应程序,进行数据的分类提取、综合等。
2.2 数据格式转换
SuperMap转换到Microstation V8时,对存在的一些问题的处理方法如下:
1)数据类型复杂的线、面数据在转换时容易丢失内容。Microstation V8 DGN文件中可能包含大量的复杂链、复杂面甚至更加复杂的类型,这种类型的转换效果不是很理想。可以采取2种方式进行处理:
第一种,先将Microstation V8 DGN数据通过ArcGIS或者FME转换为shp格式,然后通过SuperMap将shp文件转换为相应的点线面数据集。这种转换方式中,内容基本上不丢失,但容易产生数据冗余。转换为ArcGIS shp格式后,相应的面要素产生了冗余的边界线要素,而且对汉字图层名不支持,导致图层字段属性乱码。对这种情况的处理方式是:在ArcGIS属性表中,通过SQL语句查询,然后删除。语句如下:
"Entity" LIKE 'Complex Shape' OR "Entity" LIKE'Closed Shape'
第二种,编写相应程序,在Microstation V8 DGN数据文件中把各种复杂数据处理成为简单数据类型。这种处理过程衔接更加流畅,但是需要进行相应的编码。
2)类型复杂的文字转换中,容易丢失内容或者无法转换。由于生产的数据不是很规范,Microstation V8 DGN数据中包含的文本存在单文本、多文本、单元文本等形式。SuperMap不支持汉字+数字(英文字母)+汉字的文本形式,因此基于Microstation V8平台和SuperMap Object+C#,分别开发了相衔接的文本转换程序,实现文本的自动转换。首先定义需要的文本要素的名称、字体、大小、颜色、角度等,通过Microstation V8转换到Access数据库,然后通过SuperMapObject+C#程序转换为SuperMap文本数据集。这种转换很彻底,效率很高,并可保持文本的原图颜色配置。
3)单元符号转换。SuperMap对V7的点符号转换很好,但是对V8的转换存在问题。作业中,采取和文本处理相同的方式,生成相应的点数据集,通过定义符号库比对文件,利用编写的专题图配置程序自动生成点数据集,见表1。
表1 SuperMap数据字段说明
2.3 GIS数据编辑处理
GIS数据编辑处理中,包含很多检查和编辑,如属性要素完整性检查、拓扑检查、接边检查、图层分级、图形要素编辑等。
2.4 属性匹配和基础GIS数据编码
Microstation/J和Geographics平台的DLG 数据主要采取图形要素+属性数据库的管理方式,因此转换中需要考虑属性数据的链接转换,并生成与原数据要素编码相对应的基础地理信息要素编码,见表2。本文编写了程序进行批处理。
表2 属性数据字段说明
由于数据不标准等因素,属性数据的分类编码单靠过去的mslink(用A表示)不能够很好地区分,必须根据图层名称(用B表示)进行分类编码,数据分类编码=A OR B。根据这种逻辑设计,编写数据编码处理程序,自动分类编码。
Microstation数据的图形数据和属性是分开存储的,而我们给用户提供的GIS数据库要求图属一体化管理。因此,设计了专门程序来进行图形要素的属性更新。
2.5 地图符号化和专题地图配置
SuperMap地图是由数据集对应的图层数据组成的,只有配置相应的地图风格,才能形成美观、科学、满足用户要求的地图。GIS数据图层中可能包含若干同类但不同性的多种要素,如管线的点数据集中包含了上水、下水、燃气、工业、通信、电力等各种数据。经过先期数据处理,使每个点要素、线要素中都包含符号名称或线型名称。然后根据这些属性,编写自动批处理程序,生成GIS图层的专题图,自动配置地图符号。
3 结 语
数据生产是测绘工作中最基础、也是问题最多的一环。本文探讨了从Microstation数据到SuperMap GIS数据库的数据生产、数据建库的流程和遇到的实际问题,总结了一套基于C/S架构的数据处理程序,实现了此类数据的自动化、智能化处理,提高了数据的生产效率。
[1]郑建功,许有田.城市工程测量工作流系统设计[J].城市勘测,2008(6):36-38
[2]吴信才.地理信息系统原理与方法[M].北京:电子工业出版社,2002
[3]郑建功,高红心.基于SuperMap IS.NET的城市投资项目管理系统设计与实现[J].城市勘测,2009(4):19-22
[4]戴相喜,周卫,高磊.DLG数据任意范围接边算法及实现[J].测绘通报,2008(7):32-35
[5]刘锋,曹凯滨.城市基础测绘DLG数据入库的实现[J].测绘与空间地理信息,2010,4(2):165-168
[6]刘玉春,高德荃,彭良勇,等.基于ArcGIS Engine的城市DLG要素符号化[J].城市勘测,2008(2):14-16
[7]赵泉华,宋伟东,孙国华. 基于梯形评语云及虚拟云理论的DLG 质量评价方法研究[J].测绘科学,2011,5(3):47-49
[8]范玉茹,隋立芬,马莉.基于模糊集重心的DLG 产品质量的模糊综合评判[J].测绘科学,2011,9(5):155-156