专利名称:一种通用地图的制备方法
技术领域:
本发明属于计算机地图制图技术领域,特别涉及地图制图中地图符号的表达模型
和绘制技术。
背景技术:
数字地图及其产品已经成为空间信息可视化的主要方式,是联系空间数据与用户 的桥梁。地图以符号记录、转换和传递各种自然和社会现象的知识,而地图符号则直接承担 着空间信息的渲染和可视化表达,是联结空间信息和用户的纽带。地图符号是一种专用的 图解符号,它是采用便于空间定位的形式来表示各种物体与现象的性质和相互关系,在地 图上形成可观实际的空间形象。 —般来说,地图符号的设计和实现方法分为两种一是在已有软件的基础上利用 其二次开发语言及自身的图形编辑功能进行自定义符号;二是利用程序语言自己开发符号 设计软件平台实现符号。但以上技术对符号的设计均面向计算机的可视化而不是面向地理 信息,均是以符号为单位进行设计和绘制的,尽管可以将许多符号归纳成统一的处理方式, 但针对某些特殊的地图符号时需要进行特殊的单独处理,不同的系统采用不同的方式,不 具备规范性和通用性,这种做法不仅忽略了地图符号中一些计算机较难实现的或比较复杂 的特殊符号,更不能实现符号信息的传播和共享。
发明内容
本发明主要是解决现有技术所存在的针对某些特殊的地图符号时需要进行特殊
的单独处理,不同的系统采用不同的方式,不具备规范性和通用性,这种做法不仅忽略了地
图符号中一些计算机较难实现的或比较复杂的特殊符号,更不能实现符号信息的传播和共
享等的技术问题;提供了一种模型简明,易于理解又不失表达能力,能够表达出国家基本比
例地形示上的所有地图符号,实现了地图符号的传播和共享的通用地图的制备方法。 本发明的上述技术问题主要是通过下述技术方案得以解决的 —种通用地图的制备方法,包括以下步骤 点符号的配置步骤,点符号配置时,可以指定的参数为中心点坐标,方向即旋转角
度和縮放比例;中心点坐标决定了该点符号配置到地图上的位置;方向参数通过旋转角度
指定,用来表达该符号的方向;縮放比例是通过一个浮点数传入,表达了该符号在配置时縮
放的比例,比例值大于1. 0时,符号被放大,小于1. 0时,符号被縮小,具体操作如下 步骤1. l,读取地理数据中点状要素的分类代码GB,根据GB值获取对应的符号; 步骤1. 2,读取地理数据中点状要素的几何信息,即点的x, y坐标值。 步骤1. 3,读取地理数据中点状要素的属性信息中的旋转角度值RotateAngle ; 步骤1.4,计算得出,当前符号显示的縮放比例值ZoomScale ; 步骤1. 5,将上述x, y, RotateAngle, ZoomScale参数传给对应的点符号对象进行配置。
步骤1. 6,符号对象内部进行符号配置,具体步骤如下 步骤1. 61,遍历符号内部的图元,对每一个图元进行如下操作。 步骤1.62依据该图元的类型,柔性或刚性,获取其中心控制点,对柔性图元的控
制点按照比例ZoomScale进行縮放变换,然后进行旋转角度为RotateAngle的旋转变换,最
后进行偏移量为x, y的平移变换。对刚性图元而言,控制点为中心点,仅有一个,对它仅进
行上述的縮放和平移变换。将变换后的控制点传递给图元,进行绘制。 步骤1. 7,所有图元配置完成时,点符号配置过程结束。 线符号的配置步骤,线符号配置时,可以指定的参数为线状要素的几何信息,縮放 比例,几何信息决定了该点符号配置到地图上的位置和形态;縮放比例是通过一个浮点数 传入,表达了该符号在配置时縮放的比例,比例值大于1. 0时,符号被放大,小于1. 0时,符 号被縮小,具体操作如下 步骤2. l,读取地理数据中线状要素的分类代码GB,根据GB值获取对应的符号。 步骤2. 2,读取地理数据中线状要素的几何信息,即一串点列信息。 步骤2. 3,计算得出,当前符号显示的縮放比例值ZoomScale。 步骤2. 4,将上述点列信息,ZoomScale参数传给对应的线符号对象进行配置。 步骤2. 5,符号对象内部进行符号配置,具体步骤如下 步骤2. 5. l,对输入的点列信息进行化简处理,去掉重复点,抹去小的弯曲。 步骤2. 5. 2,获取线符号的宽度,乘上縮放比例ZoomScale,得到缓冲区宽度,以此
宽度求取输入点列的平行线,并记录中心线上的每个点和左右两条平行线上对应的点。 步骤2. 5. 3,遍历符号内部的图元,对每一个图元进行如下操作 步骤2. 5. 3. l,获取该图元的配置参数中的重复性参数,如果是重复配置,则把该
图元重复配置到输入的地理坐标点列上,如果是拉伸配置,则把该图元拉伸后,配置一个图
元到整个符地理坐标点列上。重复性决定了坐标变换的规则和方式。后续的配置的坐标变
换,均按此时的信息进行。 步骤2. 5. 3. 2,如果该图元为刚性图元。获取其控制中心点,对该点坐标进行变换, 根据它在符号单元中的相对位置以及重复性参数设定,来解算出它在地理坐标系统中的坐 标位置,然后将刚性图元配置到此位置上; 步骤2. 5. 3. 3,如果该图元为柔性图元,此时读取该图元剩下的配置参数变长 性,变形性,渐变性。依次进行判断,并做如下处理步骤2. 5. 3. 3. l,变长性也说明了该图 元需要兼顾拐弯,如果该符号具有x方向变长性参数,在配置过程中,碰到明显拐弯点,可 以对该图元进行适当的拉长或縮短,使得该图元跨过拐弯点; 步骤2. 5. 3. 3. 2,然后读取变形性,如果该图元允许发生变形性,则该图元可以沿 线的走向变形,配置时计算控制点坐标时,需要进行内插控制点来实现图形的变形;否则, 直接计算对每个控制点进行计算,得出变换后的图形; 步骤2. 5. 3. 3. 3,渐变性主要用于实现几个特殊的符号,如果该图元为渐变参数 时,读取渐变参数,根据每一段渐变参数,把该图元变换成一个新的图元,并在线地理要素 对应的每一段上分别配置新生成的图元,每一段的配置按图元拉伸配置方式进行;
步骤2. 6所有图元均配置完成时,线符号配置过程结束; 面符号的配置步骤,面符号配置时,传入参数为面状要素的轮廓线,一条首尾相接的折线段,具体操作如下 步骤3. 1,读取面符号中轮廓线符号,如果该符号为空,则直跳过步骤3. 1 ;否则, 获得该线符号实例,传入面的轮廓线作为参数,进行轮廓线的配置。 步骤3. 2,读取填充方式,可能的三种方式为颜色填充,晕线填充,点符号填充, 分别做如下处理 步骤3. 3. l,颜色填充。读取填充颜色信息,将该面域范围填充成指定颜色。
步骤3. 3. 2,晕线填充。读取晕线填充角度和晕线间距,根据角度和间距生成晕线, 并绘制晕线。 步骤3. 3. 3,点符号填充。读取参数边界处理方式,方向性,随机性,边界处理方 式有完全绘制,完全不绘制,裁减掉外部。
步骤3. 3,面符号配置过程结束。 本发明创造性地提出了一种通用基本地图符号的表达模型,具体技术方案是地 图符号库由地图符号构成,简单的说符号库是符号的集合,当然它也包含了一些属性信息, 如当前符号库的比例尺,符号库坐标系以及遵循的图示规范标准等信息;地图符号按照其 描述地理现象特征时是否依比例尺可以分为不依比例尺符号、半依比例尺符号和依比例尺 符号,分别称为点符号、线符号和面符号,三种符号均由图元组成,地图符号是图元的有序 集合,顺序决定了符号中图元的层次和压盖关系,可以通过调整图元间的相互顺序来实现 各种压盖效果,地图符号不仅包含了符号几何形态及其颜色样式的描述,还包含符号配置 方式等信息;图元是构成符号的最小单元,图元按照其在符号配置过程中是否变形分为刚 性图元和柔性图元,刚性图元在符号配置过程中不变形,柔性图元随着地理要素的形态变 化而变化。 在上述的通用地图的制备方法,所述的步骤3. 3. 3中,所述的边界处理方式具体 操作如下 如果为完全绘制,则直接进行点符号的配置;如果为完全不绘制,通过计算该点符
号的外接矩形与多边形面域是否相交来决定该点符号是否绘制,如果相交则不绘制,否则
绘制;如果裁减掉外部,则先绘制该点符号,然后抹去落在多边形之外的部分。 在上述的通用地图的制备方法,所述的步骤3. 3. 3中,所述的方向性处理方式具
体操作如下方向性有随机和固定方向。如果是随机方向,则每次配置一个点符号时,随机
的生成一个旋转角度进行配置;固定方向时,读取指定的旋转角度值,所有点符号均按此旋
转角度进行配置。 在上述的通用地图的制备方法,所述的步骤3. 3. 3中,所述的随机性处理方式具 体操作如下随机性分为随机分布和规则格网分布,如果是随机分布,则在面域范围内随机 生成一些点来进行点符号配置;如果是规则格网分布,进行规则格网点的计算,在生成的每 一个格网点上进行点符号配置。 在上述的通用地图的制备方法,所述的ZoomScale为用户的地理要素的几何信 息中坐标单位长度与米的比值,如果用户的几何坐标单位长度为米,则ZoomScale = 1. 0 ; 如果用户的几何坐标单位长度为厘米,则ZoomScale = 0. 01。 在上述的通用地图的制备方法,所述的步骤1. 62中,所述的刚性图元的控制点的 x, y坐标分别为其结构中的m—msGeoProp中的pntCentralPointX, pntCentralPointY ;所
7述的柔性图元的控制点为结构中的vecGeoProp成员。 在上述的通用地图的制备方法,所述的所述的步骤2.5.3.2中,所述的刚性
图元的控制点的x, y坐标分别为其结构中的m_msGeoProp中的pntCentralPointX,
pntCentralPointY ;所述的柔性图元的控制点为结构中的vecGeoProp成员。 因此,本发明具有如下优点模型简明,易于理解又不失表达能力,能够表达出国
家基本比例地形示上的所有地图符号,实现了地图符号的传播和共享。
附图1是本发明的符号、图元、配置参数及符号库之间的关系图; 附图2本发明中图元的组成结构图; 附图3本发明中图元在各种符号中的配置参数图; 附图4是按本发明方法制作的河流渐变符号; 附图5是按本发明方法制作的半线半面符号(1 : 5万基本地图上"石质崩崖"符号,旧图示); 附图6是按本发明方法制作的半线半面符号(1 : 5万基本地图上"石质崩崖"符号,新图示); 附图7是按本发明方法制作的点符号填充面符号(1 : 5万基本地图上的"新月型沙丘"符号); 附图8是按本发明方法制作的线状符号(1 : 5万基本地图上"国界","窄轨铁路(单线)"符号);
具体实施例方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例 首先解释一下刚性图元和柔性图元的定义 刚性图元,刚性也称为点图元,它在配置过程中不变形,故只需要一个定位点即可
对其进行定位,包括椭圆(含圆)、椭圆弧(含圆弧)、扇形、等腰三角形(含等边三角形)、
矩形(含正方形)、圆角矩形、菱形、正多边形、星形、箭头。点图元的选取是经过对基本比例
尺地形图符号的研究归纳得出的,基本包括了所有符号中会出现的规则形状,当然此集合
不是封闭的,可以扩展该集合,只需要该图形可以采用点图元类的结构所表达。 点图元类结构如下 Class MapSymbolPointGU 点图元的构成分成三个部分画笔,画刷和几何属性。 画笔表达了图元的轮廓线的颜色及样式。(对于封闭图元,如三角形,矩形等,画笔
MapSymbolPen m_msPen ;MapSymbolBrush m—msBrush ;MapSymbolGeometryProp m_msGeoProp ;表达了它的轮廓线的颜色及样式,不封闭的点图元,如圆弧,表示圆弧本身的颜色及样式)
画刷表达了封闭图元的内部填充颜色及填充方式。对于不封闭图元,画刷没有意义。
几何属性定义了点图元的几何形态。其结构如下
typedef struct{ long pntCentralPointX ;//Central Point' s X Coordinate
long pntCentralPointY ;//Central Point' s Y Coordinate
unsigned short nSideNum ;//Side Numbers
unsigned long nLongRadius ;//lxing Radius
unsigned long nShortRadius ;//Short Radius
long nStartAngle ;//Start Angle
long nEndAngle ;//End Angle
)MapSymbo lGeometryProp ; 柔性图元,柔性图元在配置过程中随着地理要素形态的变化而变化,柔性图元根据图元是否需要填充分为线图元和面图元。线图元表达线状的图形元素,可以是不封闭或封闭的,但它不填充内部;面图元表达面状的图形元素,它必须是封闭的且内部进行填充。
线图元表达了任意形态的线状几何对象。它由一个点列来表达其几何形状,由一个画笔来描述该线图元的颜色,样式等信息。其组成如下
省略了其它不重要的属性,下同Class MapSymbolLineGU
MapSymboIPen m_msPen ;Vector〈RefPoint>m_vecGeoProp ;
面图元表达了任意形状的面状几何对象。由一个多边形点列来表达其几何形态,一个画笔来表达它的外轮廓线颜色及样式,一个画刷来表达它的内部填充颜色或方式。其
组成如下 Class MapSymbolAreaGU
{
MapSymboIPen m_msPen ;MapSymboIBrush m—msBrush ;Vector〈RefPoint>m_vecGeoProp ;
接下来介绍一下地图中符号的组成
点符号、线符号和面符号均由图元组成,但它们不是简单的图元集合,同事还包含了配置参数,下面详细介绍每种符号中的配置参数。
点符号配置参数 点状符号具有明确的定位点和方向,形状一般比较规则,基本上都是各种图元的组合。点状符号的设计重点在组成各种图元的设计。点状符号中包含了一些有向点符号如
9独立大坟、烟囱等,对地物的方位有指示作用。因此点符号的配置参数有一个旋转角度。
线符号配置参数 线状符号表达呈线状分布的地物,它的配置信息最为复杂,因为线符号的配置方式繁多,不同的符号有不同的要求,有的符号需要重复配置(铁路),有的却是拉伸(桥,坝等),另一些即可以重复也可以拉伸(实线道路),另外线符号中还包括一些特殊符号,比如陡崖、沙砾滩符号等,这些符号不仅要沿线配置,同时又具有一定的分布范围,可以称为半线半面状符号。因此线符号的配置参数非常复杂。
线符号的配置参数包括了 方向性,重复性、变长性、变形性和渐变性。 方向性规定了线符号中的某些有向点图元的配置方向,分为不转向,垂直基线,沿
基线,用户指定方向配置。 方向性参数只对点图元有效,对线图元和面图元无效。不转向指点图元按其自身方向配置;基线方向指该图元沿基线的方向配置;基线法方向指图元沿垂直基线的方向配置;用户指定方向是按照用户所给定的角度来配置该图元。 重复性规定了图元是重复配置还是拉伸配置。具体分为沿x方向重复,沿y方向重复,沿x方向拉伸,沿y方向拉伸。 这里X方向即指线符号的基线方向,Y方向是垂直于基线的方向。重复配置是指,按照符号单元的长度沿基线重复的配置图元。拉伸配置指将一个符号单元长度映射到整个基线上,实现拉伸配置。 Y方向的重复或拉伸配置是实现半线半面符号的基础。 一个图元可以在Y方向重复,或者在Y方向拉伸,或者在Y方向既不重复也不拉伸,即不是半线半面符号。而一个图元在X方向 一定是重复或者拉伸的。 变长性用于这样一种情况,当某些线符号(如虚线道路)在碰到拐弯或交汇处时需要做一定特殊的处理(拐弯处需要出现实部),此时需要对图元做一定的拉长或縮短操作,此参数规定了在需要做出这类操作时,图元是否允许这类操作。
变形性是指当线符号配置到拐弯处时,图元的是否允许变形。 渐变参数是指当符号重复配置时,符号单元的长度和宽度是否发生变化(如河流的渐变),以及如何变化。 渐变参数是一个三元组的集合。该集合中元素的个数表明了配置时地理要素需要按照几段几行。每一段对应一个三元组进行配置。
三元组的结构如下typedef struct
比值。
double lengthRatio ;double xRatio ;double yRatio ;}PiecewiseParameter ;
三个域分别表示该段的长度,该段上线符号单元长度比值,该段上线符号的宽度即在配置长度为lengthRatio的这一段时,线符号单元的长度值为原来符号设计时的长度值AxRatio,线符号单元的宽度值为原来符号设计时的宽度*yRatio ; 此参数可以实现同一个线符号在地理要素的不同段上以不同的大小、但相同的结
构来配置。它用于实现河流渐变等符号效果。 面符号的组成 面符号不同于点符号和线符号,它不是简单由图元加配置参数构成,它包括一个线符号,用于面符号的外轮廓的绘制。 面符号按照填充方式可以分成三类颜色填充面符号,晕线填充面符号,点符号填充面符号。颜色填充面符号的配置参数仅仅是一个填充颜色。晕线填充面符号的配置参数包括晕线角度和晕线间距。点符号填充面符号的配置参数包括边界处理方式,方向性,随机性。边界处理方式表示当点符号压盖面符号边界时采取什么样的行为完全绘制,完全不绘制,裁减掉外部的。方向性用来指定面符号中的点符号的方向随机方向和固定角度方向。随机性指面符号中填充点符号时点符号的分布情况是随机分布,还是规则格网分布。
最后介绍本发明中的符号配置过程 点符号配置时,可以指定的参数为中心点坐标,方向即旋转角度和縮放比例。
中心点坐标决定了该点符号配置到地图上的位置;方向参数通过旋转角度指定,
用来表达该符号的方向;縮放比例是通过一个浮点数传入,表达了该符号在配置时縮放的
比例,比例值大于1. 0时,符号被放大,小于1. 0时,符号被縮小。 1.读取地理数据中点状要素的分类代码GB,根据GB值获取对应的符号。 2.读取地理数据中点状要素的几何信息,即点的x, y坐标值。 3.读取地理数据中点状要素的属性信息中的旋转角度值RotateAngle 4.计算得出,当前符号显示的縮放比例值ZoomScale。 5.将上述x, y, RotateAngle, ZoomScale参数传给对应的点符号对象进行配置。
6.符号对象内部进行符号配置,具体操作如下
遍历符号内部的图元,对每一个图元进行如下操作。 依据该图元的类型,柔性或刚性,获取其控制点信息。对柔性图元的控制点按照比
例ZoomScale进行縮放变换,然后进行旋转角度为RotateAngle的旋转变换,最后进行偏移
量为x, y的平移变换。对刚性图元而言,控制点为中心点,仅有一个,对它仅进行上述的縮
放和平移变换。将变换后的控制点传递给图元,进行绘制。 7.所有图元配置完成时,点符号配置过程结束。 线符号配置时,可以指定的参数为线状要素的几何信息,縮放比例。 几何信息决定了该点符号配置到地图上的位置和形态;縮放比例是通过一个浮点
数传入,表达了该符号在配置时縮放的比例,比例值大于1. 0时,符号被放大,小于1. 0时,
符号被縮小。 1.读取地理数据中线状要素的分类代码GB,根据GB值获取对应的符号。 2.读取地理数据中线状要素的几何信息,即一串点列信息。 3.计算得出,当前符号显示的縮放比例值ZoomScale。 4.将上述点列信息,ZoomScale参数传给对应的线符号对象进行配置。 5.符号对象内部进行符号配置 5. 1.对输入的点列信息进行化简处理,去掉重复点,抹去小的弯曲等。
获取线符号的宽度,乘上縮放比例ZoomScale,得到缓冲区宽度,以此宽度求取输
入点列的平行线,并记录中心线上的每个点和左右两条平行线上对应的点。 5.2.遍历符号内部的图元,对每一个图元进行如下操作。 5.2.1.获取该图元的配置参数中的重复性参数,如果是重复配置,则把该图元重复配置到输入的地理坐标点列上,如果是拉伸配置,则把该图元拉伸后,配置一个图元到整个符地理坐标点列上。重复性决定了坐标变换的规则和方式。后续的配置的坐标变换,均按此时的信息进行。 5.2.2.如果该图元为刚性图元。获取其控制中心点,对该点坐标进行变换,根据它在符号单元中的相对位置以及重复性参数设定,来解算出它在地理坐标系统中的坐标位置,然后将刚性图元配置到此位置上。 5.2.3.如果该图元为柔性图元,此时读取该图元剩下的配置参数变长性,变形性,渐变性。依次进行判断,并做如下处理变长性也说明了该图元需要兼顾拐弯,如果该符号具有x方向变长性参数,在配置过程中,碰到明显拐弯点,可以对该图元进行适当的拉长
或縮短,使得该图元跨过拐弯点。 然后读取变形性,如果该图元允许发生变形性,则该图元可以沿线的走向变形,配
置时计算控制点坐标时,需要进行内插控制点来实现图形的变形;否则,直接计算对每个控
制点进行计算,得出变换后的图形。渐变性主要用于实现几个特殊的符号,如果该图元为渐
变参数时,读取渐变参数,根据每一段渐变参数,把该图元变换成一个新的图元,并在线地
理要素对应的每一段上分别配置新生成的图元,每一段的配置按图元拉伸配置方式进行。 所有图元均配置完成时,线符号配置过程结束。 面符号配置时,传入参数为面状要素的轮廓线,一条首尾相接的折线段。
1.读取面符号中轮廓线符号,如果该符号为空,则直跳过①;否则,获得该线符号
实例,传入面的轮廓线作为参数,进行轮廓线的配置。 2.读取填充方式,可能的三种方式为颜色填充,晕线填充,点符号填充,分别做如下处理 2. l,颜色填充。读取填充颜色信息,将该面域范围填充成指定颜色。 2. 2,晕线填充。读取晕线填充角度和晕线间距,根据角度和间距生成晕线,并绘制晕线。 2.3,点符号填充。读取参数边界处理方式,方向性,随机性。边界处理方式有完全绘制,完全不绘制,裁减掉外部。如果为完全绘制,则直接进行点符号的配置;如果为完全不绘制,通过计算该点符号的外接矩形与多边形面域是否相交来决定该点符号是否绘制,如果相交则不绘制,否则绘制;如果裁减掉外部,则先绘制该点符号,然后抹去落在多边形之外的部分。 方向性有随机和固定方向。如果是随机方向,则每次配置一个点符号时,随机的生成一个旋转角度进行配置;固定方向时,读取指定的旋转角度值,所有点符号均按此旋转角度进行配置。 随机性分为随机分布和规则格网分布。如果是随机分布,则在面域范围内随机生成一些点来进行点符号配置;如果是规则格网分布,进行规则格网点的计算,在生成的每一个格网点上进行点符号配置。
12
3.面符号配置过程结束。 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
权利要求
一种通用地图的制备方法,其特征在于,包括以下步骤点符号的配置步骤,点符号配置时,可以指定的参数为中心点坐标,方向即旋转角度和缩放比例;中心点坐标决定了该点符号配置到地图上的位置;方向参数通过旋转角度指定,用来表达该符号的方向;缩放比例是通过一个浮点数传入,表达了该符号在配置时缩放的比例,比例值大于1.0时,符号被放大,小于1.0时,符号被缩小,具体操作如下步骤1.1,读取地理数据中点状要素的分类代码GB,根据GB值获取对应的符号;步骤1.2,读取地理数据中点状要素的几何信息,即点的x,y坐标值。步骤1.3,读取地理数据中点状要素的属性信息中的旋转角度值RotateAngle;步骤1.4,计算得出,当前符号显示的缩放比例值ZoomScale;步骤1.5,将上述x,y,RotateAngle,ZoomScale参数传给对应的点符号对象进行配置。步骤1.6,符号对象内部进行符号配置,具体步骤如下步骤1.61,遍历符号内部的图元,对每一个图元进行如下操作。步骤1.62依据该图元的类型,柔性或刚性,获取其中心控制点,对柔性图元的控制点按照比例ZoomScale进行缩放变换,然后进行旋转角度为RotateAngle的旋转变换,最后进行偏移量为x,y的平移变换。对刚性图元而言,控制点为中心点,仅有一个,对它仅进行上述的缩放和平移变换。将变换后的控制点传递给图元,进行绘制。步骤1.7,所有图元配置完成时,点符号配置过程结束。线符号的配置步骤,线符号配置时,可以指定的参数为线状要素的几何信息,缩放比例,几何信息决定了该点符号配置到地图上的位置和形态;缩放比例是通过一个浮点数传入,表达了该符号在配置时缩放的比例,比例值大于1.0时,符号被放大,小于1.0时,符号被缩小,具体操作如下步骤2.1,读取地理数据中线状要素的分类代码GB,根据GB值获取对应的符号。步骤2.2,读取地理数据中线状要素的几何信息,即一串点列信息。步骤2.3,计算得出,当前符号显示的缩放比例值ZoomScale。步骤2.4,将上述点列信息,ZoomScale参数传给对应的线符号对象进行配置。步骤2.5,符号对象内部进行符号配置,具体步骤如下步骤2.5.1,对输入的点列信息进行化简处理,去掉重复点,抹去小的弯曲。步骤2.5.2,获取线符号的宽度,乘上缩放比例ZoomScale,得到缓冲区宽度,以此宽度求取输入点列的平行线,并记录中心线上的每个点和左右两条平行线上对应的点。步骤2.5.3,遍历符号内部的图元,对每一个图元进行如下操作步骤2.5.3.1,获取该图元的配置参数中的重复性参数,如果是重复配置,则把该图元重复配置到输入的地理坐标点列上,如果是拉伸配置,则把该图元拉伸后,配置一个图元到整个符地理坐标点列上。重复性决定了坐标变换的规则和方式。后续的配置的坐标变换,均按此时的信息进行。步骤2.5.3.2,如果该图元为刚性图元。获取其控制中心点,对该点坐标进行变换,根据它在符号单元中的相对位置以及重复性参数设定,来解算出它在地理坐标系统中的坐标位置,然后将刚性图元配置到此位置上;步骤2.5.3.3,如果该图元为柔性图元,此时读取该图元剩下的配置参数变长性,变形性,渐变性。依次进行判断,并做如下处理步骤2.5.3.3.1,变长性也说明了该图元需要兼顾拐弯,如果该符号具有x方向变长性参数,在配置过程中,碰到明显拐弯点,可以对该图元进行适当的拉长或缩短,使得该图元跨过拐弯点;步骤2.5.3.3.2,然后读取变形性,如果该图元允许发生变形性,则该图元可以沿线的走向变形,配置时计算控制点坐标时,需要进行内插控制点来实现图形的变形;否则,直接计算对每个控制点进行计算,得出变换后的图形;步骤2.5.3.3.3,渐变性主要用于实现几个特殊的符号,如果该图元为渐变参数时,读取渐变参数,根据每一段渐变参数,把该图元变换成一个新的图元,并在线地理要素对应的每一段上分别配置新生成的图元,每一段的配置按图元拉伸配置方式进行;步骤2.6所有图元均配置完成时,线符号配置过程结束;面符号的配置步骤,面符号配置时,传入参数为面状要素的轮廓线,一条首尾相接的折线段,具体操作如下步骤3.1,读取面符号中轮廓线符号,如果该符号为空,则直跳过步骤3.1;否则,获得该线符号实例,传入面的轮廓线作为参数,进行轮廓线的配置。步骤3.2,读取填充方式,可能的三种方式为颜色填充,晕线填充,点符号填充,分别做如下处理步骤3.3.1,颜色填充。读取填充颜色信息,将该面域范围填充成指定颜色。步骤3.3.2,晕线填充。读取晕线填充角度和晕线间距,根据角度和间距生成晕线,并绘制晕线。步骤3.3.3,点符号填充。读取参数边界处理方式,方向性,随机性,边界处理方式有完全绘制,完全不绘制,裁减掉外部。步骤3.3,面符号配置过程结束。
2. 根据权利要求1所述的通用地图的制备方法,其特征在于,所述的步骤3. 3. 3中,所 述的边界处理方式具体操作如下如果为完全绘制,则直接进行点符号的配置;如果为完全不绘制,通过计算该点符号的 外接矩形与多边形面域是否相交来决定该点符号是否绘制,如果相交则不绘制,否则绘制; 如果裁减掉外部,则先绘制该点符号,然后抹去落在多边形之外的部分。
3. 根据权利要求1所述的通用地图的制备方法,其特征在于,所述的步骤3. 3. 3中,所 述的方向性处理方式具体操作如下方向性有随机和固定方向。如果是随机方向,则每次 配置一个点符号时,随机的生成一个旋转角度进行配置;固定方向时,读取指定的旋转角度 值,所有点符号均按此旋转角度进行配置。
4. 根据权利要求1所述的通用地图的制备方法,其特征在于,所述的步骤3. 3. 3中,所 述的随机性处理方式具体操作如下随机性分为随机分布和规则格网分布,如果是随机分 布,则在面域范围内随机生成一些点来进行点符号配置;如果是规则格网分布,进行规则格 网点的计算,在生成的每一个格网点上进行点符号配置。
5. 根据权利要求l所述的通用地图的制备方法,其特征在于,所述的ZoomScale为 用户的地理要素的几何信息中坐标单位长度与米的比值,如果用户的几何坐标单位长度为 米,则ZoomScale = 1. 0 ;如果用户的几何坐标单位长度为厘米,则ZoomScale = 0. 01。
6. 根据权利要求1所述的通用地图的制备方法,其特征在于,所述的步骤1. 62中,所述的刚性图元的控制点的x,y坐标分别为其结构中的m_msGeoProp中的pntCentralPointX, pntCentralPointY ;所述的柔性图元的控制点为结构中的vecGeoProp成员。
7.根据权利要求l所述的通用地图的制备方法,其特征在于,所述的所述的步骤 2. 5. 3.2中,所述的刚性图元的控制点的x, y坐标分别为其结构中的mjiisGeoProp中的 pntCentralPointX, pntCentralPointY ;所述的柔性图元的控制点为结构中的vecGeoProp 成员。
全文摘要
本发明属于计算机地图制图技术领域,特别涉及地图制图中地图符号的表达模型和绘制技术。本发明主要是解决现有技术所存在的针对某些特殊的地图符号时需要进行特殊的单独处理,不同的系统采用不同的方式,不具备规范性和通用性,这种做法不仅忽略了地图符号中一些计算机较难实现的或比较复杂的特殊符号,更不能实现符号信息的传播和共享等的技术问题;提供了一种模型简明,易于理解又不失表达能力,能够表达出国家基本比例地形示上的所有地图符号,实现了地图符号的传播和共享的通用地图的制备方法。
文档编号G06T11/00GK101751682SQ20091027351
公开日2010年6月23日 申请日期2009年12月31日 优先权日2009年12月31日
发明者于忠海, 应申, 张志军, 曹原, 朱海红, 李霖, 贺彪, 邱俊武 申请人:武汉大学