欢迎来到专业的宏发范文网平台! 心得体会 党建材料 工作总结 工作计划 思想汇报 事迹材料 发言讲话 述职报告
当前位置:首页 > 范文大全 > 公文范文 > 正文

基于MicroStation的地形图符号库设计与实现(王汉东,夏文芳,王喜春)

时间:2022-02-21 15:33:56 浏览量:
 

摘要: 地形图符号是数字地图和GIS不可缺少的重要组成部分,地图符号是地图的语言,是一种专用的图解符号,它采用便于空间定位的形式来表示各种地物与现象的性质与相互关系。详细介绍了在MicroStation平台下1∶500,1∶1000,1∶2000比例尺地形图点状、线状、面状符号的制作方法。采用MicroStation本身提供的图形编辑功能进行符号设计,同时针对少量、复杂、难以直接设计的地形图符号,结合MicroStation的二次开发语言,通过编程实现,能快速、灵活地设计各种地形图符号。

关 键 词: MicroStation;符号库;线型制作;单元库

中图分类号: P208 文献标识码: A

1 概述

地图符号是地图的语言,是一种专用的图解符号,它采用便于空间定位的形式来表示各种地物与现象的性质与相互关系。地图符号包括了形式各异、大小和颜色不同的图形符号以及表示名称的文字和表示数量的数字。综合目前的CAD软件和GIS软件,地图符号设计的实现途径主要有以下4种:①采用文本编辑器的方法,如AutoCAD的图形文件(shp)、线文件和阴影文件,以及ArcView的ODB文件(*.avp);②采用软件提供的二次开发语言编程实现,如Arc/Info的AML语言、MicroStation的MDL语言等,它提供了编程实现符号绘制的接口;③利用软件本身的图形编辑功能,如AutoCAD的块文件(block),MicroStation的单元库文件(CELL);④利用软件所提供的符号设计功能,如ArcView的Style Manager模块等。每种方法都有自身的优势,也存在一定的不足。本文介绍的地图符号库设计方法,采用MicroStation本身提供的图形编辑功能进行符号设计,同时针对少量、复杂、难以直接设计的地形图符号,结合MicroStation的二次开发语言,通过编程实现,能快速、灵活地设计各种地形图符号。

2 MicroStation介绍

MicroStation包含MicroStation和MicroStation Geographics两部分模块,MicroStation在国内外广泛应用于建筑设计、土木工程、交通、地理信息系统等领域,具有强大的符号制作功能,可以灵活方便地自定义各种单元、线型,支持面域填充,提供了用户建立符号库的工具,满足绘制地图上点状、线状、面状符号的要求。特别值得提到的是,MicroStation的用户自定义线型功能很强,用户可以控制线型中点划线和间隔的长度、实现自动符号放置、进行线的偏移、线宽度和颜色设置等。这样,几乎可以设计出我们需要的任何线型,使得MicroStation中用一个单独的元素就可以表达一个复杂的地图线状符号,有利于线状符号的绘制、编辑和提取。

3 基于MicroStation创建符号库的基本方法

根据制图学理论,可以将所有的地图符号划分为3类,即点状符号、线状符号和面状符号。点符号通常用来描述点状地物,可以通过指定一个坐标点位、长度、宽度以及方向角度来控制其绘制。线状符号可以分为两部分:①线主体符号;②在线符号上叠加的点符号。面状符号一般由3部分构成:边界部分、底色、矢量填充图形,其中边界符号可以用线符号描述,矢量填充图形可以用点符号或线符号描述。

3.1 建立符号库前的准备工作

3.1.1 MicroStation工作单位的设定

工作单位即长度单位,MicroStation的工作单位确定了测量的单位、符号的精度以及设计区域的大小,它由主单位、子单位以及位置单元构成,工作单位的设置应与工程的设计文件保持一致,可将主单位设为m,子单位设为cm,分辨率设为100。单元符号、线型符号、面状符号,它们本身就是一种图形文件,单元符号的制作和符号的线型定义都在图形系统中设计绘制,因此只要符号设计制作时所选的种子文件与工程设计的种子文件保持一致,就能保证符号库的工作单位正确。

3.1.2 选定比例尺

符号的尺寸与比例尺密切关联。地形图图式中符号的尺寸是图纸上表示的尺寸,符号库中符号的设计尺寸应为符号的图纸尺寸乘以比例尺,以比例尺1∶500为例。图纸上1mm的短线,实地为5m,在绘制时就以5m长度制作,因此,不同比例尺下的同一种地图符号,在设计制作时,其绘制尺寸是不同的,符号库中所有的符号在设计制作时,尺寸都遵循这一原则。

3.2 基于MicroStation的点状符号的创建

在MicroStation中,点状符号用单元(CELL)表示,一个单元实际上是一个小的绘图文件。MicroStation中的单元分为4种类型:分别是图形(GRAPHIC)单元、点(POINTS)单元、菜单(MENU)单元、指导(TUTORIAL)单元,其中主要使用的是图形单元和点单元这两种类型。图形单元具有层独立性,也就是放置单元时单元的组成元素所在的层是由设计制作单元时单元所在的层决定的。放置后单元的组成元素的属性与产生单元时元素属性相同,这种类型的单元在旋转视图时会跟着一起旋转。点单元放置时,单元的属性采用当前激活的属性(图层、颜色、线型、线宽),单元不随视图一起旋转。单元的类型在生成时确定,因此在生成单元之前要根据实际需要选择单元类型。

点状符号的创建步骤:

(1)指定点状符号设计绘制的种子文件。在种子文件中设定工作单位,比例尺,组成单元的各元素所在的图层,颜色,以及所使用的线型。

(2)选择单元库。可以创建一个新的单元库,也可以连接一个已有的单元库。通过菜单“元素→单元”,可以打开单元库对话框,再通过单元库对话框的菜单“文件→新建”,新建一个新的单元库,或通过菜单“文件→连接”,连接一个已有的单元库。

(3)绘制符号的形状。利用绘图工具,按符号的实际尺寸绘制。

(4)用选择功能或围栅功能选中所绘制的组成符号的所有元素。

(5)定义单元原点。原点的定义是通过CELLS工具中的CELL ORIGIN来设定原点。

(6)选择单元类型,生成单元。打开“Cell Library”对话框,点击“Create…”按钮,在弹出的“Create New Cell”对话框中指定单元的名称和对单元的注释,选择单元的类型,再点击“Create”按钮完成单元的创建。

3.3 基于MicroStation的线状符号库的创建

线状符号可以通过MicroStation的自定义线型来设计绘制。线型的定义通过线型编辑器(Line Style Editor)来完成,自定义的线型存放在线型库文件中。构成线型的基本单元是基本组件(component),基本组件分为3种:线组件、点组件、复合组件。

(1)线组件。线组件由一串线元构成,每一线元可以是一段线划,也可以是一段间隔,每个线元有以下几个属性需要设置:①线元类型,即线元是线划还是间隔;②线元长度,分固定长度与可变长度两种;③线元的起始宽度和终止宽度;④线划结束端封盖的类型;⑤确定线元是否被反转;⑥线元是否在顶点处被打断。

设置完各线元的属性后,对于整个线组件还有几个属性需要设置:①确定组件的偏移量;②确定组件的周期安排;③组件的循环次数。

(2)点组件。点组件由一个或多个点符号(point symbol)按照一定规律排列所构成,点符号制作方法同单元制作方法类似,但不是存储在单元库内,而是存储在线型库内。点符号的安排非常灵活,既可以被布置在线的关键点上,如起点、终点、转折点,又可以在整条线上按一定规律周期性布置。点符号相对于基准线的纵向偏移量、横向偏移量、旋转角度、对齐方式都需要在制作线型时设定,但是点符号的颜色、线宽可以由点符号固有的颜色、线宽决定。也可以采用绘线时的设置。

(3)复合组件。复合组件由点组件和线组件复合而成,复合组件自身还可以嵌套,构成新的复合组件。复合组件中成员组件以定位线为基准,可以根据需要设置偏移量,默认的偏移量为零,表示成员组件与定位线重合,偏移量的正负表示成员组件在定位线的左侧或者右侧。

一般的线状符号制作过程如下:

(1)分析该线状符号的组成结构,确定由哪些基本组件表示;

(2)在线型编辑器中打开或新建线型库;

(3)建立并定制基本组件,如果是复合组件,应先定制组成复合组件的线组件和点组件,然后组成复合组件;

(4)在线型库中建立线状符号的名称并与表示符号的线型成员链接;

(5)保存制作的线型。

在1∶500,1∶1000,1∶2000的地形图图式上,有些线状符号具有宽度,其边界由两种边界线型组成,线状符号的宽度是依比例尺绘制的,如大车路等。对于这类线状符号的制作,有两种方法,第1种方法是,利用MicroStation的线型编辑器制作出线状符号的通用模版,组成线状符号的两个线组件的间距暂不考虑,符号化时,先打开线型编辑器,根据线状地物的实际宽度,调整复合组件的两个线组件的间距,这种方法简洁,直观,完全利用MicroStation的线型制作功能,符号化速度快。其缺点是每次符号化不同的线状地物时,原则上都要重新调整线状符号的两条边界的间距,缺乏一定的灵活性。对于出现较多的这类线状地物时,符号化时的设置的工作量相应地会增加。且容易出错。若同一地形图上的同一线状地物存在不同的宽度时,还需要重复制做多个对应的线状符号,对这类符号的管理显得效率不高。第2种方法是,采用分层设计的思想,将组成线状符号的两个边界,分别制作成两个独立的线状符号,通过二次开发的方式,编写一个简单的符号化程序,在符号化时根据线状地物的实际宽度来设定两个线状符号的间距。这种方式通过程序解决了人工设置符号宽度的问题,大大增强了符号设置的灵活性,符号的使用和管理更加高效、方便、快捷。

通过MicroStation的二次开发语言VBA编程实现对该地物的符号化,符号化时,只需通过程序调用制作好的线型,通过交互的方式,实现对该地物要素的符号化。

这种线型制作与编程相结合的方式,尽可能地利用了MicroStation强大的线型制作功能,又将程序设计的难度和工作量降到了最低,大大提高了符号的设计能力和绘制效率。

3.4 基于MicroStation的面状符号库的创建

在MicroStation中没有专门的面状符号库,但MicroStation提供了方便的面状符号绘制和编辑工具,晕线填充(hatch)功能可以绘制街区内的平行斜线,对于需要用点状符号填充的,如大片的植被符号,可以用绘制好的点状符号填充配置,为了使点状符号按规定的间距均匀分布在不规则的区域内,可以利用Microstaion提供的二次开发工具编写程序来实现点状符号的布置问题。本文采用MicroStation VBA的开发方式,针对具体的面状符号,编写相应的程序,实现地形图上面状符号边界线型的指定以及边界内的晕线填充和指定点符号的填充。

4 结语

基于MicroStation的地形图符号库,充分利用MicroStation的自身功能,能设计绘制1∶500,1∶1000,1∶2000大比例尺系列的所有点状符号和绝大部分线状符号、面状符号,只有少量的线状符号、面状符号需要通过一定的编程来实现。符号库的创建速度快,使用方便。对符号库的编辑、修改、维护非常方便,能大大提高符号化的效率。

参考文献:

[1] 谈晓军,边馥苓,何忠焕.地图符号可视化系统的面向对象设计与实现.测绘通报,2003,(1).

[2] 熊伟,武舫,范建永.GIS种地图符号化研究与实践.测绘与空间地理信息,2006,29(5).

[3] 毋丽红,邓曙光.基于.NET的GIS地图符号库的设计和实现.工程地球物理学报,2005,2(6).

[4] 胡晋山,康建荣,刘鹏程.普通地图符号库的设计与实现.测绘与空间地理信息,2006,29(6).

[5] 赵江洪,殷赣华.通用地图符号库的算法设计及其实现.测绘通报,2002,(4).

[6] 王伟,张波,殷赣华等.基于COM技术的地图符号库结构设计与实现.武汉大学学报(信息科学版),2002,27(3).

[7] 蔡忠亮,李霖.普通地图符号的全开放式设计.武汉测绘科技大学学报,1999,24(3).

[8] 陈业夫.地理信息系统点状符号库的设计与实现,见:哈尔滨工程大学硕士学位论文.2004.

[9] 吴丽春,胡鹏.基于信息块法的矢量符号库的建立和符号化实现.武汉大学学报(信息科学版),2003,28(5).

[10] 熊伟,王家耀,武舫等.地图符号化中的几个关键问题研究.测绘科学技术学报,2006,23(1).

[11] 刘海砚,肖强.MicroStation环境下地图矢量数据全要素符号化研究.测绘学院学报,2000,17(2).

[12] 国家技术监督局.1∶500,1∶1000,1∶2000地形图图式(GB/T7929-1995).

作者简介: 王汉东,男,长江勘测规划设计研究院空间公司遥感数字工程院,助理工程师。

来源:《人民长江》2008年第10期

    

推荐访问:地形图 设计 符号库 MicroStation 夏文芳