图4 线状符号转折
所谓衔接区域,是指在线段转折处不能用线符直接绘制的部分。由此,线状实体符号化,就分解为衔接区域和非衔接区域。如图4中所示,阴影部分为衔接区域,L所指示的空白区域是直接配置线状符号的非衔接区域。
转折区的绘制是一种填补性的绘制,是前一绘制单元的延续。不管截止到非转折区时,前一符号单元是绘制完整的,还是不完整的,都需要将其线划数据坐标(如N0)进行延长,结合转折角度大小和转折方向增加中转点N1,然后对称地计算实体下一线段(即
(Xi+1,Yi+1)-(Xi+2,Yi+2))
中转折区的终止坐标N2。依此类推,直到所有的符号单元线划中需要延长的线划都计算完毕,转折区的绘制就完成了。
符号绘制时,尽管通过插值加密,可以达到光滑的目的,但仍不可避免地会出现符号重叠、压盖以及交叉的情况。最明显的例子就是平行线符号,在绘制时很容易出现自交现象。在这个时候就需要在计算转折角的时候,根据所得出的转折角度,以及线状符号的宽度,计算出现重叠、压盖和交叉现象的长度范围,以转折角的角平分线为基准,重新界定该长度范围内的绘制符号线划数据的截止坐标。从而实现符号绘制的重叠现象的优化。
3、面状符号的绘制
面状符号一般由三个部分构成:边界部分、底色、矢量填充图形。其中边界符号可用线状符号描述,矢量填充图形可以用点符号或晕线符号描述。因此面状符号的绘制,可以分为晕线填充和点符号填充两种。
一、晕线填充
所谓晕线填充是指用一组线符号按照一定的方向,以固定的间距以及随 机属性在要填充的面域内部进行绘制。而该组线符号就是晕线。
晕线是一种极具表现力的符号。通过晕线的疏密,组成不同密度等级的晕线符来表示制图对象的数量差异。晕线填充都是通过计算在填充区域轮廓边上晕线通过的位置来
实现的。首先要确定轮廓单元的哪些边上有晕线通过,以及具体通过的首尾两条晕线的索引编号,并根据确定的索引编号,求出晕线端点坐标;然后按照晕线编号和纵坐标Y值的大小,逐条输出所有晕线。
二、点符号填充
点符号填充可以看作是面状符号单元(即点符)在特定面域范围内,依据一定的行距、倾角、排列方式,重复配置的结果。所以面域的填充,只需计算所要填充的面域内需要配置的面状符号单元(点状符号)的数目和定位点坐标,然后在多个定位点上,重复面状符号单元(点状符号)的绘制过程就可以实现。
因此面状符号的绘制,重要的是确定定位点坐标,同时为了图形绘制的美观,必须要保证每一个计算出的定位点上所绘制的面状符号单元(点状符号)必须完全位于面域内。这个过程可以通过以下步骤实现:
1. 读取面状符号信息块
2. 确定填充面域范围,从上至下,从左至右,依据面状符号单元的高
度、长度以及面状符号的行距、倾角、排列方式,循环计算定位点坐标数组。依据这种方式计算定位点坐标,容易使面域内符号配置的右边界、下边界由于不满足绘制符号单元的范围大小而出现较大空白,从而是的面域符号配置上下、左右不对称,这时就需要将所有的定位点坐标进行统一的位移,移位后仍然能够保证点符号单元位于面域内的定位点坐标就保留,否则放弃。
3. 依据状符号绘制流程,循环在2中计算出的定位点上配置符号单元。 以上详细介绍了点线面状符号的绘制算法。在满足用统一通用的绘制算法最大限度地实现多种符号绘制的同时,尽量采用优化配置思想对符号绘制进行一定程度的处理加工。
图5 所示,是采用数据进行符号化的示意图。
图5 符号化示意
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库地图符号优化配置的探讨(2)在线全文阅读。
相关推荐: