当前位置:文档之家› 地图符号系统的设计与实现

地图符号系统的设计与实现

本文由开到荼靡223贡献
pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
测绘信息与工程 Journal of Geomatics 2004 Dec. ; 29 (6) 文章编号 :100723817 (2004) 0620025203 以及 CorelDraw 等 等
[4~10 ] [1~3 ]
25
中图分类号 :P283. 1 文献标识码 :B
地图符号系统的设计与实现
( 武汉大学资源与环境科学学院 ,武汉珞喻路 129 号 ,430079)
张园玉 霖 毅 李 龙 尹章才 申 应 李志涛 菁 洋 黄 梅
摘 要 设计并实现了一套地图符号系统 ,提出了线状符号的附属属性设置实现 ,并采用了程序符号的思想实现 一些相对特殊的如沙丘 、 河流 、 沼泽等地图符号 ,成功地对国家标准系列地形图图式进行了设计 ,实现了各种比例 尺下的地图符号的绘制 ,完成了在 Visual C + + 平台上所研制的地图符号软件系统的设计与开发 。 关键词 地形图图式 ; 地图符号系统 ; 地图符号 ; 程序符号 部填充可通过点符号或线符号 ,以一定的方式如井字 、 品字 、 随机排列构成 。线状符号表达呈线状分布的地物 ,但有些符 号 ,如陡崖 、 沙砾滩符号等 , 同时又具有一定的分布范围 , 可 定义成半线半面状符号 。另外 ,线状符号和面状符号中都包 含了一些不能制作或不方便制作的需要单独的程序来绘制 的地图符号如新月型沙丘 、 河流 、 沼泽符号等 ,将其定义为程 序符号 。
1. 3 地图符号库系统的类结构
一般来说 ,地图符号的设计和实现方法分为两种 : 一是
在已有软件的基础上利用其二次开发语言及自身的图形编 辑功能进行自定义符号 ,如 ArcInfo ,AutoCAD ,MapInfo ,ArcView
; 二是利用程序语言自己开发符号设计
软件平台实现符号 , 目前最 流 行 的 就 是 OOP 或 COM 技 术 。针对目前符号库系统都是面向计算机而不是面向 地理信息的可视化 ,忽略了地图符号中一些计算机较难实现 的或比较复杂的特殊符号 ,如难以处理复杂的线 、 面符号 [4 ] , 不能绘制河流渐变线符号 [5 ] 等情况 ,选择对比了大中小比例 尺中如 1∶ 000 ,1∶ 000 ,1∶ 000 ,1∶ 000 000等比例尺下 5 100 250 1 的符号 ,包括普通地图符号和相对特殊的地图符号 , 设计了 一套地图符号系统 , 在 VC + + 6. 0 环境下开发并完成了该系 统。
根据上述分析 , 系统的类结构为多个点图元 、 线图元和 面图元对象聚合成一个符号基类对象 ,而一个符号基类对象 又包含于点状符号 、 线状符号对象中 , 多个点状符号和线状 符号对象聚合而成一个面状符号对象 。点 、 、 线 面状符号被 符号库类对象包含 , 其间没有复杂的继承关系 , 只是一种管 理

组合机制 ,充分体现了面向对象管理的优势 , 提高了系统 的效率 。以符号数据库类为例 :
class CSymbolDataBase { public : ) ΠΠ调用点 、 、 void Symbolize ( CDC 3 pDC , long lSymCode , … ; ΠΠΠ 线 CAreaSymbol 3 arrayAsym ; ΠΠΠΠΠ ΠΠΠΠ面符号对象集合 CLineSymbol 3 arrayLsym ; ΠΠΠΠΠ ΠΠΠΠ线符号对象集合 CPointSymbol 3 arrayPsym ; ΠΠΠΠΠ ΠΠΠΠ点符号对象集合
1 地图符号库系统的结构
地图被看作空间符号模型 ,空间现象的特征均是通过地
图图形语言加以表达的 。通过对地图图形分解 , 可区分点 、 线、 面三种地图符号类型 ,根据符号的几何特征 ,点 、 、 线 面符 号又可分解成更小的基本几何图形单元 ,即图元 。图元是构 成符号的最小单位 。
1. 1 图元分析
面符号中 Symbolize () 符号化函数 … …ΠΠΠΠΠ方法 ΠΠΠΠΠ … … ; }
很多符号库系统都是采用以图元作为符号的基本单元
的思想制作的 [4~8 ,10 ] ,然而大多数把各种图元单独作为一个 类 ,就形成了多个图元类对象组成一个符号 , 如把点状符号 抽象成点 、 、 圆 圆弧 、 、 椭圆 矩形 、 多边形 、 线串 、 样条曲线等基 本图元类
[5 ]
等 , 分类较为繁杂 。本文将各种图元进行总结
后 ,只分成点图元 、 线图元和面图元三个图元类 ,各种基本图 形都在类中用方法实现 , 如点图元包括三角形 、 矩形 、 菱形 、 扇形 、 圆弧 、 椭圆 、 正多边形等 , 线图元包括折线 、 曲线 , 面图 元包括边界分别为折线和曲线的多边形两种 。结构相对简 单 ,可扩充性强 。
1. 2 符号的分类组织
2 地图符号的设计与实现
各种图元的编辑功能 ,从而减轻了点 、 、 线 面符号设计时的压
力 。在各种比例尺下 , 大部分符号都是规则的 , 可以在点状 号 ,以程序符号方式实现 。而且 , 一般中小比例尺的符号比 大比例尺符号更抽象 , 其特殊符号相对较多 , 如沼泽符号在
1∶ 000比例尺中要比 1∶ 000 ,1∶ 000 中复杂得多 。 250 1 2
符号 、 线状符号 、 面状符号分别实现 , 少部分相对特殊的符
采用面向对象的方法设计系统 ,通过对三类符号之间的 关系分析可知 : 每一个点 、 线状符号都是点 、 、 线 面图元的有 序集合 。面状符号是由轮廓线和内部填充方式决定的 ,其内
项目来源 : 国家 863 计划” “ 资助项目 (2002AA131030) 。
int nAsymNum ; ΠΠΠ面符号数 ΠΠΠ int nLsymNum ; ΠΠΠ线符号数 ΠΠΠ
int nPsymNum ; ΠΠΠΠ ΠΠΠ点符号数
在地图符号系统中 , 按点 、 、 线 面设计地图符号 , 强调了
26
测绘信息与工程 Journal of Geomatics 2004 Dec. ; 29 (6) 和图元 2 ( 竖短线 )

线图元组成 。陡坎横线图元属性可重复 、 不可变长 、 可变形 、 不渐变或不可重复 、 可变长 、 可变形 、 不渐 变 ; 竖线图元属性 : 可重复 、 不可变长 、 不可变形 、 不渐变 。图 元 1 的附加属性设置情况可以和图元 2 一样具有可重复性 , 但也可把它设置成可变长 ,在这两种附加属性设置都可满足 符号绘制要求时 , 选择可变长属性配置速度更快 , 因为可变 长属性决定配置方法是将图元单位长度拉长到地理目标实
[6 ]
2. 1 点状符号
点状符号具有明确的定位点和方向 , 形状一般比较规 则 ,基本上都是各种图元的组合 。点状符号的设计重点在组 成各种图元的设计 。点状符号中包含了一些有向点符号如 独立大坟 、 烟囱等 ,对地物的方位有指示作用 。为此 ,系统提 供了点状符号 0° 360° ~ 之间的旋转功能 。
2. 2 线状符号
线状符号的设计和实现在模板方法
的基础上进行了
际长度 ,一步到位 ; 而可重复性决定符号采用重复配置方法 , 即将线符号分解成基本线符号单元 ,然后沿线符号定位线连 续绘制线符号单元 。其特点是能够表达几乎任何的复杂线 符号 。但是由于每次绘制时都要将局部坐标系下的线符号 单元坐标映射到实际地理坐标系中 ,绘制效率受到定位线的 弯曲和线符号单元复杂程度的影响 。增加可变长属性的设 置选择就是对重复配置方法的改进 ,提高那些既可重复又可 变长符号的配置效率如双线路 、 电力线等 。对于半依比例的 天桥符号来说 ,中间的矩形图元只能是可变长的而不能是可 重复的 ,两侧的阶梯符号是不可重复也不变长的 , 如图 1 ( c ) 和图 1 ( d) 所示 。
改进 ,提出了线状符号附加属性设置 , 即先得到线状符号的 最小符号单元及其长度 , 这个单元就是符号配置的模板 , 然 后对组成模板的各种图元的附加属性进行设置 ,属性决定了 各图元在符号配置时的绘制方式 。 附加属性包含重复性 、 变长性 、 变形性和渐变性 。重复
(变长Π 渐变) 性又分为不可重复 (变长Π 渐变) 、 X ( 水平) 方向 沿
可重复 (变长Π 渐变) 、 Y (垂直) 方向可重复 (变长Π 沿 渐变) 。 线状符号图元附属属性设置实例如图 1 所示 。一个符 号变长与重复属性两种不可能兼得 。以陡坎为例 ,如图 1 ( a ) 和图 1 ( b) ,陡坎符号单元由单位长度的两个图元 1 ( 横短线 )
图1 线状符号图元附属属性设置实例
变形性主要是指在符号转弯处的图元形状变化情况 ,可 分为不可变形 、 折线变形 、 曲线变形三种 。 渐变性主要针对具有渐变元素的特殊符号 ,如河流的渐 变元素是宽度 ,渐变属性是沿 X 方向渐变的 ; 再如沙

质崩崖 中的圆形沙粒符号的半径大小则是垂直于符号轴线方向逐 渐变小的 ,其渐变元素是半径 ,渐变属性是沿 Y 方向渐变的 。 另外 ,对于符号本身变形也随着数据采集方法不同而各有差 异 ,如果是折线采集 ,则符号本身是折线变形的 ,如果是曲线 采集 ,则符号本身是曲线变形的 。
2. 3 面状符号
采用了分层填充的思想 , 用户可设置不同的点 、 线状符号分 层填充一个面状符号 。
2. 4 程序符号
地图符号中有一部分符号是不能用上述一般规则来描 述的 ,如整个河系的粗细渐变一致性 、 小比例尺沼泽符号中 短线组合其形态随意中又带有一种曲线美的特性 、 垄状沙丘 中沙丘的随机性等 。虽然现在地图符号的发展趋向于抽象 化、 简洁化和规范化 [11 ] ,但是这些符号还是必须保留的 。首 先在视觉上 ,这些符号更接近于所表达的地理实体 , 更能表 达自然现象的规律 。如新月形沙丘就是地图设计人员根据 航片上拍下来的沙丘形状进行模拟抽象的 ,直观形象的表达 效果优于用规则图案组成的简单符号 ; 其次从艺术性看 , 地 图具有科学美和艺术美的双重性 ,符号设计时既要考虑到规 范简洁又要考虑到艺术性 ,所以有必要对这些符号进行设计 和实现 。 在地图符号系统中 ,把这些特殊的符号都定义为程序符 号来实现 。特殊符号的实现如图 2 所示 。图 2 ( a) 制作新月
面状符号由线状符号构成其轮廓线 , 点 、 线状符号的各 种不同排列方式构成其内部填充 ,面状符号的填充方式有规 则填充 、 随机填充 、 半随机规则填充 、 晕线填充和位图填充 5 种 。在不考虑点 、 线状符号的具体结构 ,只考虑点 、 线状符号 方向的情况下 ,先将各种配置方式制作成模板 , 用户选定后 再选择所需配置的点 、 线状符号 。针对当前某些符号库系统 不能处理含有多种点填充符号以不规则填充方式的情况
[4 ]
,
图2 特殊符号的实现
测绘信息与工程 Journal of Geomatics 2004 Dec. ; 29 (6)
27
在的特殊或复杂的符号 ,用程序符号实现并建立了相应的符 号库 ,可满足实际生产的需要 。目前这个软件正在完善之 中 ,在出图时各种符号的压盖关系处理 、 加强符号的编辑功 能等不足之处 ,正在解决之中 。 例 。图 2 ( b) 中点状符号是由函数生成的 , 其形态采用 y =
sin ( Ax + B ) 来控制 ,做法与图 2 ( a ) 类似 ; 图 2 ( c ) 沼泽符号和
参考文献
[1 ] 姚兴海 ,马秋云 . 基于 CorelDraw 的地图符号库建库 [J ] . 测绘通
图 2 ( d) 中整个河系的绘制相对前两者要复杂一些 ,因为其是 具有一定的规律性的 ,故采用瓦晕的方法
[12 ]
制作沼

泽 , 能基
报 ,2003 (2) :36~38
[2 ] 罗庆洲 ,张卫民 ,李先华 . 在常用 GIS 软件中实现自定义地图符
本实现符号 ,但是由于太规则 , 失去了随意性 。本系统制作 沼泽符号的算法是 , 先将面按竖直方向分割成几个块 , 然后 在各块内填充短线 , 再对每个块内的每一条短线段两个端 点 ,产生 2 个随机数决定其缩进或拉伸变化及变化的大小 。 当然 ,这个变化的大小也要经过计算以规定其变化的范围 , 如考虑其最短不能小于多少和最长不能和邻接块中同一行 的短线产生重叠等 。如此制作出的符号既有随意性 ,又保持 了其曲线的形态 。图 2 ( d) 中要对整个河系中主流和支流粗 度进行控制 ,要保持一致性 , 输入整个河系基线定位数据后 结构可以自动判断 , 符号化一步完成 , 形成一个结构化的完 整符号 。
2. 5 符号设计环境
号 [J ] . 测绘通报 ,2003 (1) :44~45
[3 ] 程朋根 . GeoStar 地图符号的实现方法 [J ] . 地矿测绘 ,1999 (3) :3
~6
[4 ] 谈晓军 ,边馥苓 , 何忠焕 . 地图符号可视化系统的面向对象设
计与实现 [J ] . 测绘通报 ,2003 (1) :11~13
[5 ] 杨春成 , 宋志刚 , 吴文会 . 基于 OOP 技术的地图符号制作工具
的设计与实现 [J ] . 测绘科学 , 2002 ,27 (1) :50~53
[6 ] 蔡忠亮 ,李 . 普通地图符号的全开放式设计 [J ] . 武汉测绘 霖
科技大学学报 ,1999 ,24 (3) :259~261
[7 ] 吴立新 ,刘纯波 ,陈桂茹 ,等 . 地图符号库的面向对象技术和引
用接口 [J ] . 矿山测量 ,1999 (1) :32~35
[8 ] 程朋根 ,龚健雅 ,眭海刚 . GIS 中地图符号设计系统的设计与实
为方便符号设计和制作 , 编写一个稳定 、 编辑功能强大 且使用方便的符号设计环境是很重要的 。CartoSymbol 系统 的符号设计程序系统界面如图 3 所示 ,图 3 ( a ) 是符号设计界 面 ,图 3 ( b) 是符号测试界面 。普通符号单元在符号设计界面 进行设计入库 ,部分难以提取出符号单元的特殊符号 , 则由 程序设计完成直接入库 ,所有符号均可在符号测试界面中测 试 ,单元设计精度控制在 0. 1 mm 内 ,而且设计界面网格具有 自动咬合功能 ,符号的设计 、 编辑都十分方便 。
现 [J ] . 中国图形图象学报 ,2002 ,5 (A) (12) :1006~1011
[9 ] Frank A U , Engenhofer M J . Computer Cartography for GIS , An Ob2 sciences ,1992 ,18 (8) :975~987 [10 ] 王 ,张 ,殷赣华 . 基于 COM 技术的地图符号库结构设 伟 波 [ 11 ] 凌善金 . 论地图符号的发展趋势 [J ] . 地图 ,1997 (1) :3~4 ject2oriented View on Display Transformation [J ] . Computer and Geo2
计与实现 [J ] . 武汉大学学报? 信息科学版 ,2002 ,27 (3) :296~300
[12 ] 鲍秀芝 ,达汉桥 ,张祖勋

. 矢量式地图符号的数字表达 [J ] . 武测
科技 ,1996 (1) :9~12 大学出版社 ,1993
[ 13 ] 徐庆荣 ,杜道生 . 计算机地图制图原理 [M] . 武汉 : 武汉测绘科技 [14 ] Richard J P ,Noyes L. An Investigation of Visual Clutter in the T 2 opo graphic Base of a Geological Map [J ] . The Carto Graphic Journal , 1982 , 19 (2) :122~132 [ 15 ] Cheng P G, G J Y. Research of Map Symbols Organization Method in ong matics’ C] . Wuhan ,1996 96[
图3 系统界面
3 结束语
分析了当前符号库系统的特点 ,提出了解决的方案 。把 地图符号分成点 、 、 线 面状符号 ,以点 、 、 线 面图元作为基本图 元 ,提出了各种符号的一般绘制方法 ,并分析了各种符号中存
DESIGN AND IMPL EMENTATION OF MAP SYMBOL SYSTEM
ZHAN G Yuanyu Lin LI LON G Y YIN Zhangcai YIN G Shen Zhitao i LI HUAN G J ing MEI Yang
( School of Re source and Environment Science , Wuhan University , 129 Luoyu Road ,Wuhan , 430079 China )
tem , CartoSymbol system , which is developed on the Visual C to design the map symbols by an object2oriented approach. symbols
ABSTRACT This paper presents the structure and the classification of map symbols in a map symbol sys2
+ +
6. 0 platform , and describes in detail how
KEY WORDS specification for cartographical symbols ; map symbols system ; map symbols ;programming
收稿日期 :2004202227. Π 修回日期 :2004204216. 息系统的可视化 。
E mail :yuanyu-zhang @163. com 2
第一作者简介 :张园玉 ,硕士研究生 ,现主要研究地图符号 、 地理信
Object2oriented GIS[ A ] . In : GeoInformatics Proceeding of GeoInfor2

相关主题
文本预览
相关文档 最新文档