胡开全,张燕
(重庆市勘测院,重庆 400020)
随着地理信息技术和数字地图的应用越来越深入、广泛,迫切需要数字地图直接为地理信息系统提供基础空间数据,满足空间数据建库的要求。而数字地图软件由于侧重点不同,大多不能完全解决生产中制图效果与GIS数据的冲突问题。部分软件满足了地图图式要求,有较好的成图表达效果,但是忽略了空间数据的生产和利用,没有考虑到数字地图的进一步利用和向GIS数据的转换;而一些国外的软件如ArcGIS具有强大的地理属性管理能力,但是其重心不是地图生产,而是空间数据的分析应用,地图制图能力相对较弱。
系统平台基于美国BENTLEY SYSTEM公司的Microstation V8软件进行开发。该平台较多地应用在测绘、建筑、交通、电讯和市政等设计领域,是行业管理解决方案的基础平台。平台不仅有强大的绘图和设计功能,灵活的操作界面,同时还提供了各种界面定制和二次开发手段。而且还一个平台支持多种文件格式,可以直接对DGN和DWG文件进行编辑处理。
Microstation V8二次开发,选择Virsual C++6.0,结合Microstation MDL,可方便地调用所有操作系统级的功能,如COM、ADO、ActiveX等;利用MDL运行于Microstation内部的特点,实现与Microstation系统进行通信相关的功能,对于复杂的计算量大的程序,在性能上会有较大的提升;利用Visual Studio提供的直观而强大的调试程序功能对程序进行调试。
Microstation具有强大的符号制作功能,可以灵活方便地自定义各种单元、线型,支持面域填充,提供了用户建立符号库的工具,满足绘制地图上点状、线状、面状符号的要求。但由于其更倾向于绘图功能,并不能完全满足数据建库的要求。
利用其符号化定义功能,可以解决一部分要素既满足制图效果又满足GIS数据要求。对于不能满足GIS数据要求的其他要素,采用“骨架线+构造数据”的方式,由程序控制两种数据同步绘制和实现一体化管理。
以绘制依比例公路桥为例:
(1)对于线状要素的符号化,通过V8的线型库预定义来实现。线状符号可以通过自定义线型来设计绘制。线型的定义通过线型编辑器来完成,它的用户自定义线型功能很强,用户可以控制线型中点划线和间隔的长度、实现自动符号放置、进行线的偏移、线宽度和颜色设置等。这样,几乎可以设计出需要的任何线型,使得用一个单独的元素就可以表达一个复杂的地图线状符号,有利于线状符号的绘制、编辑和提取。自定义的线型存放在线型库文件中。在全要素配置库里,为线状要素设置‘线型名’属性,在绘制要素的时候,赋予此属性即可实现自动符号化效果。
(2)对于不依比例的单元符号,通过V8的单元库预定义来实现。Microstation中主要使用的是图形单元和点单元这两种类型。图形单元具有层独立性,即放置单元时,单元的组成元素所在的层是由设计制作单元时单元所在的层决定的。放置后单元的组成元素的属性与产生单元时元素属性相同,这种类型的单元在旋转视图时会跟着一起旋转。点单元放置时,单元的属性采用当前激活的属性(图层、颜色、线型、线宽),单元不随视图一起旋转。在全要素配置库里,每种要素都有自己指定的图层、颜色、线宽等属性,所以在制作单元库时,统一使用点单元的方式。在配置库里给要素指定单元名称的属性,并在绘制时调用,为单元指定该要素对应的层,色等基本属性。
(3)对于一点定位一点定向的符号,通过程序利用骨架线+符号要素的方式,对符号库的要素进行旋转绘制。在配置库里给要素指定单元名称的属性,并在绘制时调用该单元符号,锁定原始比例,根据两点构成的骨架线来确定该单元符号的旋转角度。
(4)对于一点定位一点定尺寸的符号,通过程序利用骨架线+符号要素的方式,对符号库的要素进行旋转和缩放绘制。在配置库里给要素指定单元名称的属性,并在绘制时调用该单元符号,根据两点构成的骨架线来确定该单元符号的旋转角度以及符号放大或缩小的尺寸。比如依比例的液体、气体储存设备的符号,如果符号定位点在中心的话,那么骨架线的长度就是绘制成图后设备符号的半径。
(5)对于面状,且有面中心注记的要素,通过编程,以面为骨架线+注记为构造要素的方式绘制。在配置库里给要素指定该要素自带注记的字体、字宽、字高等属性,采集该类要素时,采集界面会提示输入注记内容,可以选择输入或空内容。绘制成的文本注记将和面具有同样的层、色等属性,并且依附于面存在。
(6)对于面状,且面内有单个符号的要素,通过编程,以面为骨架线、符号为构造要素的方式绘制。在配置库里给要素指定单元符号名称,当该类要素的面边界采集结束后,会自动将指定的单元符号放置到面心的位置,该单元依附于面存在,但可以自由拖动。
(7)对于面状,且面内有多个符号填充的要素,通过编程,以面为骨架线、填充符号为构造要素的方式绘制。在配置库里给要素指定单元符号名称、填充行间距、列间距,当该类要素的面边界采集结束后,符号化模块会自动用指定的单元符号填充面,填充后的所有单元符号都依附于面存在,但可以各自自由拖动或者删除。
(8)对于四点定位或多点定位的面或闭合线要素,如人行桥、地下出入口等,对要素的符号化进行统一的编码,通过程序识别,进行构造数据的绘制,而以边界线为骨架数据。对于此类要素,在全要素配置库里定义了专门的符号编码表,在表中对自定义符号化方案利用解析语言进行表述。在要素属性表里有调用的ID号,由符号化模块进行分析绘制,实现拖动骨架线,要素自动重新绘制。
(9)对于一些相对复杂的特例要素,如依比例斜坡陡崖、台阶等。也是利用骨架线+构造数据的方式绘制。在配置库里定义了绘制参数,比如斜坡齿线间距,台阶间距等,在程序中定制绘制功能函数号调用。
根据压盖优先级的配置,自动处理对各类要素的压盖与被压盖关系,实现压盖中数据无损裁切;支持要素在图边的裁切,既保证制图效果,又保证数据的完整性;以配置数据库方式实现要素属性和扩展属性的管理,修改要素属性,要素自动将改动反映到图形表示上,实现图形与属性一致性。通过以上多项智能处理辅助技术,以更完美地实现制图效果与GIS数据要求的统一。
融合GIS数据的空间特征与CAD数据的形态特征,要素的图形表示自动跟随属性而变化,实现图形和属性一体化,保证了要素的完整性和GIS建库要求。解决了需要生产两套数据分别满足制图效果和GIS数据要求的难题,实现了“一套数据、两种用途”,为信息化测绘提供了良好的基础和支持。
[1]赵伟,张翔宇.MicroStation V8中文版实用手册[M].北京:清华大学出版社,2002
[2]宋关福,王尔琪.MicroStation开发语言(MDI)应用教程[M].北京:科学出版社,1996
[3]孙红春.基础地理信息系统的空间数据规范与组织结构[J].同济大学学报(自然科学版),2001(8)
[4]王殿坤,王峰.GIS建库与地图制图一体化解决方案的设计与实现[J].测绘与空间地理信息,2010(2)
[5]李云岭,靳奉祥,季民.数字测图与GIS建库的关系研究[J].测绘通报,2004(2)
[6]高俊.地理空间数据的可视化[J].测绘工程,2000(3)
[7]龙毅,沈婕,周卫.GIS空间数据的分析与制图一体化策略[J].测绘科学技术学报,2006(4)