摘要怎样有效地生产和管理空间数据是GIS行业一直在探讨的课题,本文通过对建立“空间数据库”的一些体会和认识,探讨CAD图形系统生产的矢量数据到GIS数据建库中的一些技术路线,并对这种路线进行分析,探索适合利用CAD系统生产的数据建库方法。

关键词:CAD 数据 GIS建库,无缝数据库 数据转换 质量控制

Discussion on the Project of CAD File to GIS DatabaseBuilding

Abstract: How to collect and manage spatial data effectively? Its been a hot topic in GIS industry for years. This paper aims to seek after some ways of database building by making use of CAD system based on certain realization and cognition of spatial database building and analysis of technology path of vector data generated from CAD graphic system to GIS database building.

Key Word: CAD, Database, GIS Database Building, Seamless Database,

Data Transformation, Quality Control

一、概述

随着科技的发展,计算机辅助设计(CAD)与地理信息系统(GIS)技术都已取得了长足的发展。同时,社会对空间信息的采集、动态更新的速度要求越来越快,特别是对城市建设中所需的大比例尺空间数据的获取、共享、建库和应用方面的要求越来越高。测绘行业在近十年来发生了巨大的变化,CADGIS的集成已是必然趋势,许多数字测图的后期工作都要求建立GIS数据库,尤其是与空间数据紧密相关的国土、水利、电力、房产、规划、地质等部门的管理信息系统,对CADGIS的互操作性和集成应用产生了越来越强烈的需求。数字化成图的重点也由原来单纯的图形编辑、打印出图转向为GIS提供精度高、信息完整、格式规范的前端数据。

数据建库是一个对各种空间地理信息、属性信息进行结构化、拓扑化、标准化重组与加工处理,建立支持各种GIS应用、数字城市建设的专项、综合数据库的过程。数据是GIS系统的基础,怎样有效地生产数据和管理数据是GIS行业一直在探讨的课题。

早期利用“数字化成图”方法也生产了不少电子地图数据,但这些数据主要功能是拿来打印出图,只有空间信息而没有编码属性信息,当然不能入库;后来的地图中图形实体加入了地物编码,虽然是一个进步,但仍远远不够,因为GIS的属性信息非常丰富,不是仅仅一个地物编码那么简单;随着时代的发展,很多新的电子地图也包含GIS需要的属性信息了,但这并不能代表完全达到要求,因为这些属性信息必须要与空间信息紧密地结合起来,而且要有条理地存放,以便达到易于检索、易于编辑的目的。同时,在入库前必须保证这些信息的正确性,老的面向成图的电子地图只是保证了出图打印的效果,但要进GIS就有诸多错误,常见的有:面状地物不封闭;同类线划断为多条,即伪结点、图形含有重复实体;复合线含有重复结点;线状实体自相交;等高线高程与注记不符合等,故基础空间数据入库前还需要一些加工和质量检查处理。

   

二、CAD文件到GIS数据入库的技术路线

空间数据建库中最重要的部分就是数据导入,而数据导入模块中最核心的部分又是DLG 数据的处理。现今数据采集通常使用Autodesk公司的AUTOCAD平台或Bentley 公司的MicroStation平台,数据的文件形式分别是DWGDGN

针对不同的数据采集方式,其数据入库的路线也有很大的差别。

通常的空间数据采集分为三种:一种是只考虑用以打印出图,不考虑数据入库管理的问题,这样生产出来的数据入库时,要由建库单位开发专门的数据接口程序,对数据进行大量的编辑和检查,长期以来就形成了用以打印出图的基本图和用以入库的入库图,而这些专用的数据接口“只管进不管出”,导致数据从数据库导出时发生很多错漏的情况,且建库单位竣工后置之不理,造成以后更新数据不对应的难题。

第二种数据采集方式是在图形系统外挂接一个属性库,将实体的图形信息和属性信息关联,CAD内的图形及其属性实时导入数据库中。这种技术思路非常好,但是一个不可忽视的问题是数据生产的用户不愿去用这个实时数据库,一方面因为数据生产单位通常不是数据管理应用单位,不愿意去维护一个外挂的属性数据库,造成图形属性信息同步困难;另一方面,空间数据库数据量庞大,就是ArcGis连空间数据库都要SDE引擎,普通的数据联动在小范围内可行,但在操作较大范围内的数据时效率太低。

第三种数据采集方式是利用图形扩展属性的方式。扩展数据可存储地物编码和大量的属性信息。并且这种方式下扩展属性与图形对象是紧密地结合在一起的,有利于图形和属性的一体化操作,维护数据逻辑一致性。CAD平台易于操作但不利于数据的管理,而GIS系统对数据的要求过于复杂又不利于直接作为野外数据采集的平台,所以现在的GIS前端数据,其空间数据都是以图形得方式存在,属性数据则作为图形实体的扩展属性来存储。

比较以上三种数据采集入库方式,不难看出,第三种方式不仅在前端数据采集中更容易受到用户的欢迎(图形属性数据紧密结合,直观、易操作),在数据入库时,其扩展属性数据也可以方便地进行导入和导出。

下面主要讨论AutoCADDWG格式数据入库的方式。首先要进行CADàGIS的数据相互转换,这也是数据建库的基础。按照转换方式的不同,可以分为直接的转换和间接转换两种方法。

数据直接转换要求CADGIS二者之间不通过特制的程序接口就能够互相的转换或者直接的读写,由于CADGIS 系统描述同一空间对象的数据模型与语义存在一定的差别,以上的方法虽然可以实现数据交换,但是在转换过程中容易导致信息丢失。例如,当数据从AutoCAD转换到ESRIshape文件或者Coverage时,就会丢失AutoCAD中定义的图形对象扩充属性。因此,直接转换难以顾及GIS中的属性数据,无法实现数据无缝转换。同时,在AutoCAD端直接利用ArcSDE数据访问API操作数据库虽可顾及GIS的属性数据,但是既不方便又不安全,让外业小组可以直接更新GIS数据库缺乏了必要的中间过程。

数据间接转换就是在CADGIS间定制专用的数据读写程序,以实现数据的无缝转换。实际应用中,常采用定制数据解译器的方法,它包括数据读写接口,语义解译器、数据字典、地理空间知识库,如下图:

                             
   
(CAD/GIS集成数据编译器)

    通过以上的方式将DWG格式转换为CoverageShapefile文件格式后,就可以使用空间数据引擎将这些数据方便的写入数据库中。

三、南方GIS建库专家――CASS数据入库方案

3.1 CASS软件实体组织

在南方数码科技有限公司的CASS7.0地形地籍成图系统中,可以将它们统一为一种图形,在这种图形里,既可以入库又可以出图打印。图形骨架线结构将入库需要的骨架线和出图需要的附属线划有机地结合在一起,保证了图形可同时达到入库和出图这两种要求。

CASS7.0软件采用骨架线(+编组)和实体扩展属性来组织实体的技术,既保证了图形编辑的灵活性,又保证了与GIS数据转换的完整性。骨架线是数字地图导入GIS的一种概念性数据结构和支撑技术。同时,也是CASS的一种底层数据结构。这种数据结构使得CASS的地图编辑可以直接针对骨架线进行。任何线状地物或面状地物,只要骨架线的数据(位置等)发生改变,与骨架线相关的所有符号也会发生相应的改变。编组选择功能则使得复杂地物(如斜坡、陡坎、填充地物等)在编辑时自动分解,输出是又是一个整体。

而实体扩展属性数据可存储地物编码和大量的属性信息。采用这种方式,扩展属性与图形对象能紧密地结合在一起,有利于图形和属性的一体化操作,维护数据逻辑一致性。AutoCAD中实体扩展属性的写入和读出可以通过对对象(Object)分别用SetXdataGetXData方法得到。

骨架线、编组、扩展属性关系如下图所示
  

图形

属性数据

(以扩展属性组织数据)

       

  
(骨架线、编组、扩展属性关系示意图)


CASS软件系统正是通过这种方式实现了属性数据和图形的紧密结合。

3.2、入库前数据处理

3.2.1数据的标准化

由于数据采集的过程中存在不规范或错误,比如房屋没有封闭,房屋与房屋中间有重复多余线,实体没有属性或者属性错误,以及存在没有属性的实体等等,这些问题对基于基础数据的GIS空间分析是必须避免和消除的,否则将影响到空间分析的可信度,甚至不能进行空间信息分析。一般需要提供了大批量修改和编辑实体的命令来进行数据标准化工作,通常称为数据质量监理。

现在的GIS数据采集的软件基本上是基于CAD平台,CAD平台易于操作但不利于数据的管理,而GIS系统对数据的要求过于复杂又不利于直接作为数据采集的平台,比如在生产单位,如果每一步都要考虑实体的拓扑特征,空间信息与属性信息的关联的话,势必会造成数据采集工作的效率大大降低,甚至连以外挂数据库存储属性内容这种看似完美的方式也因为图形与属性不能同步而遭到生产单位的诟病,国内的生产单位基本上都选择了基于CAD平台开发的成图软件,但这样得来得数据都是以图形得方式存在,属性数据则作为图形实体的扩展属性来存储。

在数据搜集并将其数字化录入到数据库系统时,不可避免会产生这样那样的误差。空间数据误差主要来源于地图误差和数据采集误差。地图误差包括测量误差、绘图误差、图纸伸缩变形误差;数据采集误差(包括数字化误差、不一致性和不完整性误差)、格式转换和数据交换误差。在这些误差中,有粗差、系统误差和偶然误差。对于粗差,目前主要通过逻辑一致性检查和比较分析方法,由人机交互发现和修改,消除矛盾现象。由于系统误差和偶然误差是有规律可巡的,可以通过建立一定的条件对系统误差进行改正,对偶然误差进行合理的分配,从而保证空间数据的质量。除了数据生产过程中严格执行规范要求外,这里的质量控制的主要是要方便的对数据粗差进行检查,故需要一个方便实用的人机交互的数据监理平台。

3.2.2 数据无缝进入空间数据库

数据的无缝连接包含以下几个问题:投影,坐标系统,比例尺,数据精度等。对不同投影和坐标系统的空间数据在投影和坐标系统上统一采用相同的标淮,当空间数据具有多尺度时,无缝连接寻找数据集之间连续的表达方式,它表现为不同尺度数据之间的集成。建立无缝空间数据的关键在于在合适的空间信息框架上实现多源异构空间数据的融合,框架是基础,融合是手段。

GIS 的迅速发展和广泛应用导致了多源空间数据的产生。如何实现不同的GIS 软件共享并操作不同来源的地理数据,即GIS 多源空间数据的集成,成为GIS 发展的关键。目前GIS多源空间数据的集成主要朝着三个方向发展,一是通过建立统一的数据交换标准来约束并规范已有的各类地理信息系统,采用数据交换标准来进行空间数据交换;二是建立开放式地理数据互操作规范,进行地理信息系统互操作;三是GIS 数据中间件技术。

统一数据交换标准存在很多实现上的困难。互操作是一个重要发展趋势,是在异构分布式数据库中实现信息共享的途径,它需要将GIS 技术、分布处理技术、面向对象方法、数据库设计及实时信息获取方法更有效地结合起来。所谓GIS 数据中间件技术是指能够嵌人各类GIS 系统的软件,GIS 开发者通过中间件开发商提供的接口,访问和操作特定的数据源。

3.2.3 CASS7.0数据到ARC GIS转换方法

CAD文件转换到ArcGIS,通常包括两方面的内容:一是CADArcGIS数据的转换,二是CADArcGIS应用的转换。从CAD数据到ArcGIS的转换,比如AutoCADArcInfo两者之间的图形要素并不是一一对应的关系,AutoCAD中可以包括点、线、面、矩形、弧线等,但是ArcGIS Geodatabase模型只是建立在简单要素层基础之上的,所以在建立两者的图形要素的对应关系的时候CASS都进行了技术上的处理,CADGeodatabase数据的转换通常是先转为简单要素层,之后在按照Geodatabase模型的定义进行要素类组织合并,定义域,子类型,关系,几何网络等规则,使得空间数据在输入到GIS后能和属性数据正确的连接起来。在入库时,CASS7.0根据定义文件从各个图形实体的扩展数据中读出各种属性数据,并填写到SHP格式、MIF/MID格式、VCT格式的相应属性数据位置,由于空间数据和属性数据是一起输出的,所以保证了两者之间的关联性。

对于复杂的地籍数据,其设计原则是宗地与界址线紧密结合在一起,界址点脱离宗地在整个街坊公用。一个宗地内有多条界址线,各界址线的属性信息分别存储,每当宗地添加或删除界址点,界址线会自动发生增减。界址点脱离宗地单独存在,可在整个街坊内累加,相邻宗地共用界址点,在入库时,自动通过宗地搜索界址线,通过界址线搜索界址点,最终将三者之间的完整关系体现在GIS数据库中。

CADArcGIS应用的转换目前主要集中在数据的原始表现上,因此以前在CAD环境下的看到数据在ArcGIS环境下变了样子,这主要由于各自系统对数据表现方式和相关符号库的不同,数据本身并没有丢失。此问题的解决目前主要集中在两个方法,一种是程序实现不同系统符号库的自动转换,在数据转换时完成相应符号库的转入。另一种是对数据进行前期处理,就是先对CAD数据进行编码处理工作,使CAD符号能够根据编码进行区分,然后利用ArcGIS强大的符号编辑器重新制作CAD相关的符号,之后在ArcGIS应用中书写程序根据编码规则匹配相关的ArcGIS符号文件进行显示和编辑等,这种方法更具有现实性和易操作性一些。CASS7.0系统采用了第二种方法。

四、结束语

AUTOCAD作为一个易操作的图形平台,被广泛地应用到GIS前端的数据采集中去,由于历史原因,以前生产的很多数据并不利于在GIS数据建库,故当前GIS数据建库的核心问题时数据采集标准化的问题,在数据采集阶段就面向GIS应用,按照GIS对图形的要求(如面状地物封闭、孤岛处理等),则数据建库的工作将变得简单而高效。