基于Teigha.NET 的CASS 数据向GIS 数据转换
2020-05-20张习阚
张习阚
(南京莱斯信息技术股份有限公司,南京 210000)
1 地形图数据转换
目前,各地正在进行数字城市地理空间框架的探索和建设,框架建设的重要数据来源则是现有的数字地形图,但地形图数据主要还是以DWG 文件的形式来存储和管理,降低了地理数据的利用效率,同时也不利于了数据的共享和交换。由于CAD 数据模型与GIS 空间数据模型的不同,并没有按照GIS 数据标准生成,所以现有的GIS 软件不能直接对CAD 文件进行如空间查询、空间分析等操作,而以往单纯依靠ArcEngine 提供的接口转换又会丢失CASS 数据中的扩展属性,所以亟需通过编程方式来重新组织和存储CAD 数据,关联各元素的空间信息和属性信息,最终实现CAD 数据到GIS 空间数据的无损转换[1]。
2 Teigha.NET 与ArcEngine
2.1 CASS 文件与Teigha.NET
GIS 数据来源有很大一部分是AutoCAD 传统制图格式,而在某些行业比较普及的软件—南方CASS 又占据相当的数量。南方CASS 实际就是是通过对AutoCAD 二次开发,将图形属性存放在相应要素的扩展数据中。
Teigha.NET 是由开放设计联盟设计开发的一套面向对象的支持多平台、多版本、多格式的DWG 文件的类库,可脱离AutoCAD 环境实现DWG 文件的读写操作、绘制渲染和转换输出等,具有较高的读写效率和安全性。支持在微软.NET 开发平台下使用,功能强大[2]。
2.2 Shapefile 文件和ArcEngine 组件
Shapefile 文件是ArcGIS 软件的数据文件之一,该文件格式已成为地理信息软件界的一个开放标准,ArcGIS 软件、SuperMap、QGIS 等软件均将其当作基本的数据文件。同时,Shapefile 也是一种重要的数据交换格式,它能够在其他GIS 平台与ESRI 产品之间进行数据的共享和互操作。
ArcEngine 是 建 立 在ESRI 的ArcObjects 组 件 之 上 的,ArcObjects 是ArcGIS 整个软件体系的核心功能库,由独立的COM 组件构成。ArcEngine 在ArcObjects 组件上又进行了一次封装和优化,可用来快速方便地开发自定义GIS 应用程序。
3 系统设计
3.1 设计思路
编程实现将DWG 格式转换成SHP 格式其实就是使用ArcEngine 的接口读取DWG 格式再写SHP 文件。在DWG 中同一图层可以包括文字、点、线和面,而在SHP 文件中分点、线、面、注记图层分别存放。为了便于数据的细化和管理,利用Teigha.NET 可以读取CASS 数据中的XDATA 扩展属性的特性,读出每个实体的编码和地理要素类型,再根据不同CASS 编码和要素类型再存放到对应的图层文件中。CASS 数据与SHP 数据转换的对应关系如图1所示。
3.2 转换流程
图1 CASS数据与SHP数据转换的对应关系
如图2 所示,首先分析CASS 数据各种地物的表达方式及其在ArcGIS 中对应的各种地物的表达方式,将图形数据转换到ArcGIS 下。对几何图形要素直接进行读取并转入ArcGIS 图形数据,属性数据根据CASS 编码以及数据的图层、颜色、线型等进行编码转入ArcGIS 属性数据。数据中的扩展属性在ArcEngine中无法获取的,所以通过引入Teigha.NET 来实现扩展属性的读取。数据转换完成后,ArcGIS 通过调用包括各类地类的符号库,根据要素属性内容中的地类编码实现数据的符号化显示。
图2 CASS向ArcGIS数据转换及显示实现思路
4 功能实现
4.1 系统实现与功能
整个功能基于VS.NET2012实现,采用C#语言编程,利用Teigha.NET 和ArcEngine10.2组件库,实现了对CASS 数据的读取、SHP 格式空间数据的生成和浏览。整个程序实现过程完全脱离AutoCAD 平台,轻量简洁,并结合了具体项目需求进行各种适用功能的量身定制,提高了CASS 数据到GIS 数据的转换及显示效率。
4.2 系统界面及结果显示
图3是功能主界面图,采用C#语言和ArcEngine10.2开发实现,视图中显示的是转换后的高程点、水系设施、居民点等专题图层。
5 结束语
基于Teigha.NET 与ArcEngine 的CASS 数据转换系统利用Teigha.NET 对DWG 文件的强大的读写功能,直接读取DWG 中的文字、图形、实体扩展信息等,从而真正脱离了对AutoCAD 平台的依赖。同时,结合ArcEngine强大的数据转换和显示接口,实现了CASS 数据到Shapefile 数据的无损转换,解决了以往单纯依靠ArcEngine 进行转换丢失扩展属性的问题,且提高了数据转换的效率,在GIS 建库项目中具有广泛的应用前景。
图3 功能主界面