【技术实现步骤摘要】
顾及线宽一致性的矢量地图圆形虚线符号绘制方法
本专利技术涉及数字地图制图领域和地理信息系统领域的矢量线要素绘制方法,尤其涉及一种顾及线宽一致性的矢量地图圆形虚线符号绘制方法。
技术介绍
地图是将真实地理世界中各种空间实体信息传递给读图者的有效媒介,地图符号化既是对空间实体的抽象,也是将空间实体进行视觉表达的绘制手段。数字地图制图是通过计算机来进行地图的可视化表达,点、线和面要素的符号化绘制是生成数字地图的基础。其中,矢量线要素的符号化表达既要考虑线宽、颜色、线型等绘图要素,还需要考虑随着地图缩放线宽是否保持一致的问题。圆形虚线符号是表达矢量线要素的重要方法,通常用于表达铁路线、领海基线、未确定边界等。根据地图配图的需求,圆形虚线地图符号在诸多情况下都需要随地图缩放保持线宽。针对这种线宽一致性的绘图需求,现有的研究主要有两大类:(1)基于纯软件绘制的方法。例如,论文《面向GIS的矢量线状符号填充算法研究》(张海泉,潘懋,吴焕萍,等.《地理与地理信息科学》,2004,20(04):11-14.),给出了一种基于G ...
【技术保护点】
1.一种顾及线宽一致性的矢量地图圆形虚线符号绘制方法,其特征在于,包括下列步骤:/n步骤1、对矢量线要素的坐标序列进行初始化,设置以像素为单位的屏幕线宽,设置圆形虚线的虚实比例值;/n步骤2、构建矢量线要素的世界坐标系和屏幕坐标系之间的转换规则,通过此规则将屏幕线宽转换为世界坐标系的线宽,根据此世界坐标系线宽:顺序遍历矢量线要素的每个坐标,以半个世界坐标系的线宽为单位,垂直于线走向分别向两侧进行扩张,连接相邻的扩张点生成三角形集合,其中每个三角形:每个顶点都具有沿线走向的U值和垂直线走向的V值,每个顶点都具有所属线段的正向标记P值和反向标记N值,每个顶点都具有一个缩放方向D ...
【技术特征摘要】
1.一种顾及线宽一致性的矢量地图圆形虚线符号绘制方法,其特征在于,包括下列步骤:
步骤1、对矢量线要素的坐标序列进行初始化,设置以像素为单位的屏幕线宽,设置圆形虚线的虚实比例值;
步骤2、构建矢量线要素的世界坐标系和屏幕坐标系之间的转换规则,通过此规则将屏幕线宽转换为世界坐标系的线宽,根据此世界坐标系线宽:顺序遍历矢量线要素的每个坐标,以半个世界坐标系的线宽为单位,垂直于线走向分别向两侧进行扩张,连接相邻的扩张点生成三角形集合,其中每个三角形:每个顶点都具有沿线走向的U值和垂直线走向的V值,每个顶点都具有所属线段的正向标记P值和反向标记N值,每个顶点都具有一个缩放方向D值;在矢量线要素的所有拐角处进行对称三角化处理,通过四个点的P-N值来表达拐角;
步骤3、组装GPU着色器的状态协议:该状态协议包括两个层次,一个是顶点层,包括U值、V值、正向标记P值、反向标记N值、缩放方向D值,另一个是结构层,包括最大线宽M值、地图比例缩放S值、实部比例P1值、虚部比例P2值;
步骤4、在CPU中获取初始的世界坐标系线宽、地图比例尺缩放系数、虚实比例值,并分别按照状态协议中的M值、S值、P1值、P2值传递到GPU中,由此在GPU着色器中解析状态协议中的U值、V值、P值、N值、D值、M值、S值、P1值、P2值,动态计算当前线宽在屏幕上需要绘制的像素位置,并完成绘制:
A.在GPU中根据状态协议U-V-D四维向量、P-N二维向量、M-S-P1-P2四维向量获取相应的信息,解析正向标记P值和反向标记N值;当P值大于等于0时,则处于绘制线段阶段,当P值小于0时,则处于绘制拐角阶段;
B.根据U值、P1值、P2值来判断实部和虚部:
SegU=U-[U/(P1+P2)]*(P1+P2);
其中,U表示当前位置的U值,P1+P2表示实部加上虚部的总长,[U/(P1+P2)]表示U值除以总长得到的值再取整,SegU是指当前位置在P1+P2总长中的距离;如果SegU小于等于P1则处于实部,需要绘制,如果SegU大于P1则处于虚部,不需要绘制;
C.利用P值N值组合来判断是否处于拐角边界,根据状态协议:当P值大于0,N值等于0时,待绘制位置处于拐角的起始边界;当P值等于0,N值大于0时,待绘制位置处于拐角的终止边界;当P值小于0,N值小于0时:待绘制位置处于拐角的内部;
D.待绘制位置处于拐角的起始或者终止边界:如果通过U值、P1值、P2值判断该边界处于实部,则在GPU中调整U值;如果SegU小于等于0.5,则调整U为U=U-SegU+0.5;如果SegU大于0.5,则调整U为U=U+(P1-SegU)-0.5;根据状态协议,实部P1值为大于等于1.0,所以0.5是圆形的最小半径;通过调整U值,将拐角边界调整到处于圆形的中心;
E.待绘制位置处于拐角的内部:利用拐角处V值、拐角处P值,计算以0.5为圆心的距离;距离小于等于0.5则绘制,反之不绘制;由此在拐角处绘制一个扇形,从而与拐角起始边界、终止边界融合成一个完整的圆。
2.根据权利要求1所述的顾及线宽一致性的矢量地图圆形虚线符号绘制方法,其特征在于,所述步骤2中:
A.沿线走向的U值根据每个顶点沿着线要素的距离计算获得,其中起点扩张出来的两个顶点U值均为0,终点扩张出来的两个顶点U值均为整条线的长度除以线宽,其它点扩张出来的两个顶点U值均为长度累积值除以线宽;
B.垂直线走向的V值根据每个顶点向两侧扩张的距离计算获得,线要素上的每个点,其扩张出来的两个顶点位于线走向左侧的V值为1,位于右侧的V值为0;
C.缩放方向D值是一个二维向量,二维向量的长...
【专利技术属性】
技术研发人员:乐松山,温永宁,陈旻,闾国年,
申请(专利权)人:南京师范大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。