基于MSD标准的图库一体化方法研究

2013-04-07 07:46:48陈正富
测绘通报 2013年8期
关键词:二次开发制图图形

陈正富

(江苏易图地理信息工程有限公司,江苏扬州 225002)

一、引 言

随着数字城市建设的进一步深入,地理数据建库入库的需求及数据变更维护的需求将日益频繁,同时测绘产品要满足国民经济建设的常规制图的需要。一般的生产方式是先按制图要求完成常规的制图数据生产,然后按GIS数据要求进行建库入库。这种方式存在大量的重复和交差工作,降低了生产效率,如何解决该矛盾是测绘工作者要解决的现实问题。

一般的制图数据大部分生产是在AutoCAD二次开发的环境下,按《地形图图式》要求,标准分幅分工生产,具有美观、易读、规范的特点,重在表达;GIS数据一般是在ArcGIS等类似的GIS平台下生产整理,GIS数据具规范、严谨、易管理的特点,重在分析。本文就这两种数据的特点探索一种有效的方式来同时满足两种数据的要求。

二、关键技术

由于众多原因,目前制图环境中使用最多的是AutoCAD平台,通过二次开发完成各种制图工作。为了降低技术门槛,笔者选择了依托于AutoCAD平台,采用Mapping Specification for DWG(MSD)的数据编码标准,在该标准下利用相关的API进行二次开发,实现了AutoCAD平台下生产的DLG数据同时满足制图数据的要求和GIS数据的要求。

AutoCAD for ArcGIS API是Esri公司为了在更好地保持原有AutoCAD工作流程的同时更好地分享和使用AutoCAD文件中的地理信息内容而提供的一套开发组件。该组件提供了使用户可以按照标准的AutoCAD文件格式去创建和编辑GIS要素类的接口,并为任意AutoCAD实体添加属性,以及搭建基于CAD的GIS应用程序;同时,利用该组件进行开发可以将AutoCAD作为GIS方案编辑器,用来将CAD数据组织为可供GIS使用的要素类;此外,利用该组件进行开发无需转换底层的GIS数据,可在AutoCAD的环境中直接调用ArcGIS Server发布的企业级数据和影像,同时也能够在AutoCAD中访问ArcGIS Server所发布的地图,并可以把地图服务的内容自动导入到AutoCAD中,它还支持ArcGIS Server的缓存地图服务和有安全机制的地图服务。

该组件的核心在于Esri公司最新开发的一套Mapping Specification for DWG(MSD)的数据编码标准,MSD标准的制定是基于DWG/DXF文件格式下的完全开放的资源框架,框架定义了DWG/DXF格式数据挂接GIS的非几何要素属性和地理空间坐标系统的编码方法。MSD数据编码标准在遵循现有的CAD标准的同时,可以让用户像操作GIS数据一样对CAD数据的组织和归属进行创建、操作和定义。用MSD编码方式实现的AutoCAD文件能够直接以GIS内容的形式用于ArcGIS Desktop及定制的AutoCAD应用程序中。

该编码规则规定的DWG格式数据和ArcGIS格式数据的非空间要素属性关联的关系结构示意图如图1所示。从图1中可以看出,DWG数据中块表(Block Table)的实体扩展数据字典(Named Oblect Dictionary)和ArcGIS数据中的要素属性(Feature Class)能够进行有效的关联,因此两者间的数据能够很好地进行互访问。

图1 DWG和ArcGIS数据之间图形的属性关联方式

三、方案设计

1.制定数据标准

(1)数据分类标准

根据AutoCAD的特点和MSD标准,把DWG图形数据依据其作用划分为三大类,分别为G(纯GIS数据,需要附着GIS属性表)、X(GIS和制图共有数据,需要附着GIS属性表)、Z(纯制图数据,不需要附着GIS属性表的图形),具体见表1。

同时为了方便后期数据应用和分析,必须对每个要素分类码进行标准化,分类码从以下4个方面进行规范:

1)按照G、X、Z三大类进行分类;

2)按照图形的几何类型进行分类,主要是面、线、点、注记四大类;

3)《图式》要素的分类码;

4)分类码要预留扩充空间。

表1

以上标准经过细化、规范后,即为数据生产环境的总标准,数据导入导出、数据编辑、二次开发等所有环节都要遵循这个标准。

(2)数据属性表

利用MSD标准的Feature Classes功能直接定义各类图形的属性表,同时对DWG数据进行筛选,属性表具体的字段要求要依据工程的需求进行细化,为了提高效率和标准化,一般是从现有的模板导入到本工程。

数据属性表也可从GIS数据直接导入到Auto-CAD环境下,这样保证了两种数据的一致性。

2.开发数据处理工具

(1)图形数据处理功能

主要是完成GIS数据到制图数据的符号化功能和编辑功能,许多Z类数据是由G类和X类数据符号化形成的,它们之间具有一定的空间约束关系,如简易房和简易房符号、斜坡和斜坡符号线、房屋面和房屋属性注记等。提供符号化工具生成制图需要的数据,同时挂接分类码。

其他的图形处理功能直接可以利用现有的AutoCAD编辑功能或二次开发功能来完成。

(2)属性数据处理功能

为了在AutoCAD环境下完成对图形属性表的操作,需要二次开发完成对MSD标准的属性表的处理功能,主要是属性表的定义、查询、赋值、拷贝、计算等功能。

3.和ArcGIS数据交换

由于DWG数据是按照MSD标准生产的,在ArcGIS 9.3之后的版本直接可以无损读取该DWG数据,如图2所示。从ArcGIS功能Export to CAD导出的DWG文件也符合MSD标准,在AutoCAD环境下直接利用编辑,不仅可以编辑图形数据,还可以编辑GIS的属性数据,如图3所示。

图2 AutoCAD下完整的GIS数据

从AutoCAD导入到AcrGIS时只需屏蔽Z类数据,把G类和X类数据导出,同时把完整的GIS属性数据一起导出;需要制图输出时只需屏蔽G类数据即可。

图3 ArcGIS下无损的AutoCAD数据

四、功能实现

由于MSD只支持AutoCAD 2007和ArcGIS 9.3之后版本,基于方便开发和效率的考虑,在该功能实现过程选取了AutoCAD.NET API(基于C#)开发平台。AutoCAD.NET API提供了一系列托管的外包类(Managed Wrapper Class),使开发人员可在.NET框架下,通过编程的方法直接对AutoCAD的图形和字典(GIS属性)进行操纵。开发完成后的界面如图4~图7所示。

图4 图形符号化工具

图5 属性赋值工具

图6 属性拷贝功能界面

图7 属性计算功能界面

以下代码为连接AutoCAD的代码,连接成功后,可以直接访问AutoCAD图形和扩展字典。

五、结束语

本文详细介绍了基于MSD标准实现AutoCAD环境下制图数据和GIS数据一体化生产的技术原理、功能设计实现。该方法已经应用在数个数字城市的数据加工工程中,效益明显。在原有的Auto-CAD操作习惯上增加了图形的GIS属性操作,实现了图库一体化编辑,既满足了制图数据的要求,同时也生产了一套满足GIS要求的数据。本方法所有的标准和功能全部是在AutoCAD环境下实施,对习惯于AutoCAD的测绘人上手容易,具有一定的实用价值。

[1] 秦洪现,崔惠岚,孙剑,等.Autodesk系列产品开发培训教程[M].北京:化学工业出版社,2007.

[2] 张超,陈丙咸,邬伦.地理信息系统[M].北京:高等教育出版社,1995.

[3] 李云岭,靳奉祥,季民.数字测图与GIS建库的关系研究[J]. 测绘通报,2004(2),31-33.

猜你喜欢
二次开发制图图形
无声手枪如何消音?
浅谈基于Revit平台的二次开发
甘肃科技(2020年20期)2020-04-13 00:30:02
浅谈Mastercam后处理器的二次开发
模具制造(2019年3期)2019-06-06 02:11:02
西门子Easy Screen对倒棱机床界面二次开发
二向反射模型在土地覆被制图中的应用
分图形
找图形
图形变变变
工程制图课程教学改革探析
图形配对