规划审批数据在AutoCAD与ArcSDE间互操作的实现

2014-12-07 邹艳红 中南大学有色金属成矿预测教育部

  针对规划审批数据处理后入库和入库后再调用过程中AutoCAD 与ArcSDE 数据频繁转换的问题,基于C#. Net和ObjectArx SDK 工具对AutoCAD 进行二次开发,研究了二者实时数据转换互操作功能的开发实现过程。数据互操作功能包括取图和上图两个模块,前者将数据从ArcSDE 中加载到AutoCAD 中并编辑,后者将AutoCAD 数据通过ArcSDE 保存到关系数据库中。作为实例研究,两模块已经整合到岳阳市规划审批数据处理与辅助入库系统中,有效地提高了规划审批数据入库和查询调用的效率。

1、引言

  AutoCAD 具有强大的绘图功能和矢量图形处理能力,广泛应用于测绘、规划、国土资源等领域,尤其在规划行业,基本地形图、业务审批等图形都是运用Auto-CAD 绘制。但是在规划行业中,规划人员在进行业务审批时,常需要调用历史规划审批数据进行对比,虽然CAD 格式数据作为空间信息的主要数据源,但它在空间数据信息的描述和分析功能方面却存在诸多不足。而规划审批及其相关数据具有海量数据的特

  征,如果规划人员挨个文件去找,将耗费很多的时间,降低了规划人员的工作效率。ArcSDE 是ArcGIS与商用关系型数据库( 如Oracle,Microsoft Sql Server等) 之间专门用于存储、读取和检索空间数据的GIS 通道,它采用统一的DBMS 存储空间数据和属性数据,在标准的关系数据库上增加一个空间数据管理层,它的基本任务是作为存储在RDBMS 中的空间数据的GIS 网关。这种模型省去了空间数据库和属性数据库之间繁琐的连接,空间数据存取速度较快,同时也有利于保证空间数据与属性数据间的完整性。如将规划审批数据通过ArcSDE 存储在DBMS 里,而在对数据的修改与编辑等方面运用AutoCAD,既可以解决海量规划审批数据的存储问题,又可以充分利用AutoCAD便捷的绘图功能。

  目前CAD 与ArcSDE 数据交换的实现方式主要有两种,一种是借助于中间软件如FME( Feature Manipulate Engine,空间数据操作引擎) 实现转换; 另一种是通过二次开发实现,如基于ArcEngine 的ArcGIS 二次开发,或对CAD 做二次开发,如基于C#. Net 和ObjectARX 开发包的二次开发来实现数据间的转换。第一种方法可以实现空间数据以及属性数据的批量无损转换,但操作复杂,需要利用第三方软件,适用于专业数据处理人员的使用。第二种方法可以根据需要灵活定制友好的界面,能更高效、安全地管理空间数据,方便数据的查询、统计以及空间分析。但是随着规划数据管理一站式平台的开发与应用,规划人员对CAD 使用更为频繁,如何实现实时快捷地从数据库中获取数据,同时将处理过的CAD 数据通过ArcSDE 存储在关系数据库中,对界面功能开发提出了更高的要求。为此,本文结合岳阳市规划审批数据管理实例,选用ArcSDE+SQL Server2008 存储空间数据和属性数据,基于AutoCAD 进行二次开发,研究了AutoCAD 与ArcSDE间规划审批数据实时互操作转换的实现过程。

2、AutoCAD 与ArcSDE 数据模型的映射关系

  2.1、AutoCAD 的数据模型

  AutoCAD 以图层( Layer) 来组织图形数据,不同类型的图素,如点、线、多边形等可以共层,一个dwg 或dxf 文件可以包含多个图层。它所有实体都存放在块表中,与实体对应的图层、线型、文字样式等信息分别存放在层表、线型表、文字样式表中,属性数据以扩展属性方式存储在AutoCAD 的图元对象中。其数据模型相对简单,是以二进制方式存储点线面地理数据,但只能存储少量的属性数据。后来的CAD 数据模型支持扩展属性功能,但还是不能跨越其存储量为16 k的限制,而且其存储模式还是文件存储模式,这远远不能满足当前海量数据存储的要求。

  2.2、ArcSDE 数据模型

  ArcSDE 用X、Y 坐标来表示点、线、面、注记。其用单一的坐标表示点,一组有序的坐标串表示线,一组起始结点和终止结点相同的坐标串表示面。它以层的方式来管理地理数据,具有共同属性项的一类要素放于一层,每个数据库记录对应一个实际要素。ArcSDE为数据库中每层( Layer) 建立了空间索引( cell) ,它是将层从逻辑上分成一个个小块。层中的要素则分解到各cell 中加以描述,并将此描述信息写到索引表中。落到多个cell 上的要素,将在每个cell 对应的索引记录中加以描述。没有数据的cell 不包括在索引表中。其利用将空间数据类型加到关系数据库中的方法来存储和组织数据库中的空间要素,但不改变和影响现有的数据库或应用。

  2.3、二者数据模型的映射关系

  文中通过建立AutoCAD 与ArcSDE 间的映射关系,如表1 所示,来实现数据间的互转换从而达到数据间的互操作。

AutoCAD 与ArcSDE 数据模型的映射关系

表1 AutoCAD 与ArcSDE 数据模型的映射关系

5、结语

  本文通过对AutoCAD 的二次开发,实现了规划审批数据在AutoCAD 与ArcSDE 间的互操作,促进了CAD 与GIS 在应用中的交融,方便了数据的存储和编辑以及用户操作的习惯,不但减少了用户因数据转换带来的编辑工作,使用户提高了工作效率,还提高了数据质量与应用价值。有待进一步提高的是优化数据结构,减少数据存储时间。同时,为了提高数据互操作效率,良好的数据预处理工作必不可少。