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

更新时间:2023-06-03 10:27:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

  本文由开到荼靡223贡献

  pdf1。

  测绘信息与工程   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

本文来源:https://www.bwwdw.com/article/yus1.html

Top