本发明涉及地理信息显示和图形标绘,尤其涉及一种支持横向柱面漫游的图形标绘显示方法及系统。
背景技术:
1、地理信息显示是利用计算机技术将地图内容展现在屏幕上的过程,随着计算机图形学的快速发展,战场可视化在信息化战争中的作用越来越明显,作为战场可视化的重要组成部分,图形标绘技术形象反映战场自然地理环境、目标和行动等详细信息,是参谋人员掌握战场态势的重要依据。
2、如图1所示,现有技术中的第一种地图显示和图形标绘方法采用经度为-180度到180度范围地图进行显示,图形标绘也仅能在此范围内进行标绘,无法处理跨180边界左右的问题;如图2所示,现有技术中的第二种地图显示和图形标绘方法采用将地图数据整体向右偏移150度,采用经度范围为-30度到330度范围的地图进行显示,这种技术手段一定程度上解决了跨180度边界显示问题,但同样存在着另外的330度的边界问题,且坐标空间变成了-30度到330度,和传统的坐标空间值范围不一致,会引起理解上的偏差。
技术实现思路
1、本发明意在提供一种支持横向柱面漫游的图形标绘显示方法及系统,以解决现有技术中存在的不足,本发明要解决的技术问题通过以下技术方案来实现。
2、本发明提供的支持横向柱面漫游的图形标绘显示方法,包括:
3、步骤s1:将具有点状符号和线面状符号的地图完全显示在显示屏幕上,获取地图上经度方向-180度到180度对应的显示屏幕宽度,根据获取的显示屏幕宽度建立显示屏幕坐标系;
4、步骤s2:分别获取地图上经度方向-180度和180度在显示屏幕坐标系x轴的坐标值,并分别记为left1和right1;
5、步骤s3:获取地图上各个点状符号的定位点在显示屏幕坐标系x轴的坐标值iorgx,对其与显示屏幕宽度进行相关运算,并根据运算结果与left1或ri ght1的大小关系获取地图上各个点状符号需要重复的副本数量;
6、步骤s4:对各个点状符号在显示屏幕坐标系x轴进行复制平移,将地图上各个点状符号需要重复的副本绘制在显示屏幕坐标系中;
7、步骤s5:获取地图上各个线面状符号的外接矩形的最左边和最右边在显示屏幕坐标系x轴的坐标值,分别记为left2和right2;
8、步骤s6:获取地图上各个线面状符号在显示屏幕坐标系x轴对应的最大坐标值imaxx和最小坐标值imi nx,对其与显示屏幕宽度进行相关运算,并根据运算结果与left2或right2的大小关系获取地图上各个线面状符号需要重复的副本数量;
9、步骤s7:对各个线面状符号在显示屏幕坐标系x轴进行复制平移,将地图上各个线面状符号需要重复的副本绘制在显示屏幕坐标系中;
10、步骤s8:使用鼠标拾取线面状符号,并对线面状符号对应的各个副本进行拾取,在拾取成功时,记录拾取的副本偏移像素值或线面状符号偏移像素值,以及以拾取的副本偏移像素值或线面状符号偏移像素值作为基础进行相应编辑。
11、在上述方案中,步骤s3包括:
12、计算坐标值iorgx与显示屏幕宽度的差值;
13、在该差值大于left1时,对应的点状符号需要重复的左边副本数量增加1,并对该差值减去显示屏幕宽度获取当前差值,将当前差值与left1进行再次比较,在当前差值大于left1时,对应的点状符号需要重复的左边副本数量再次增加1;
14、重复以上步骤,直至获取的最终差值小于等于left1时,获取总共增加的左边副本数量;
15、计算坐标值iorgx与显示屏幕宽度的和值;
16、在该和值小于right1时,对应的点状符号需要重复的右边副本数量增加1,并对该和值加上显示屏幕宽度获取当前和值,将当前和值与right1进行再次比较,在当前和值小于right1时,对应的点状符号需要重复的右边副本数量再次增加1;
17、重复以上步骤,直至获取的最终和值大于等于right1时,获取总共增加的右边副本数量。
18、在上述方案中,步骤s4包括:
19、在需要重复的左边副本数量大于0时,将对应的点状符号的坐标值在显示屏幕坐标系x轴的负方向上进行数量为平移显示屏幕宽度的平移计算,并在计算得到的位置上进行点状符号绘制,得到该点状符号的第一左边副本;
20、将对应的点状符号的坐标值在显示屏幕坐标系x轴的负方向上进行数量为2倍平移显示屏幕宽度的平移计算,并在计算得到的位置上进行点状符号绘制,得到该点状符号的第二左边副本;
21、重复以上步骤,直至对应的点状符号需要重复的左边副本绘制完成。
22、在上述方案中,步骤s4还包括:
23、在需要重复的右边副本数量大于0时,将对应的点状符号的坐标值在显示屏幕坐标系x轴的正方向上进行数量为平移显示屏幕宽度的平移计算,并在计算得到的位置上进行点状符号绘制,得到该点状符号的第一右边副本;
24、将对应的点状符号的坐标值在显示屏幕坐标系x轴的正方向上进行数量为2倍平移显示屏幕宽度的平移计算,并在计算得到的位置上进行点状符号绘制,得到该点状符号的第二右边副本;
25、重复以上步骤,直至对应的点状符号需要重复的右边副本绘制完成。
26、在上述方案中,步骤s6包括:
27、计算最大坐标值imaxx与显示屏幕宽度的差值;
28、在该差值大于left2时,对应的线面状符号需要重复的左边副本数量增加1,并对该差值减去显示屏幕宽度获取当前差值,将当前差值与left2进行再次比较,在当前差值大于left2时,对应的线面状符号需要重复的左边副本数量再次增加1;
29、重复以上步骤,直至获取的最终差值小于等于left2时,获取总共增加的左边副本数量。
30、在上述方案中,步骤s6还包括:
31、计算最小坐标值imi nx与显示屏幕宽度的和值;
32、在该和值小于right2时,对应的线面状符号需要重复的右边副本数量增加1,并对该和值加上显示屏幕宽度获取当前和值,将当前和值与right2进行再次比较,在当前和值小于right2时,对应的线面状符号需要重复的右边副本数量再次增加1;
33、重复以上步骤,直至获取的最终和值大于等于right2时,获取总共增加的右边副本数量。
34、在上述方案中,步骤s7包括:
35、在需要重复的左边副本数量大于0时,将对应的线面状符号的所有定位点
36、的坐标值在显示屏幕坐标系x轴的负方向上进行数量为平移显示屏幕宽度的平移计算,并在计算得到的区域进行线面状符号绘制,得到该线面状符号的第一左边副本;
37、将对应的线面状符号的所有定位点的坐标值在显示屏幕坐标系x轴的负方向上进行数量为2倍平移显示屏幕宽度的平移计算,并在计算得到的区域进行线面状符号绘制,得到该线面状符号的第二左边副本;
38、重复以上步骤,直至对应的线面状符号需要重复的左边副本绘制完成。
39、在上述方案中,步骤s7还包括:
40、在需要重复的右边副本数量大于0时,将对应的线面状符号的所有定位点的坐标值在显示屏幕坐标系x轴的正方向上进行数量为平移显示屏幕宽度的平移计算,并在计算得到的区域进行线面状符号绘制,得到该线面状符号的第一右边副本;
41、将对应的线面状符号的所有定位点的坐标值在显示屏幕坐标系x轴的正方向上进行数量为2倍平移显示屏幕宽度的平移计算,并在计算得到的区域进行线面状符号绘制,得到该线面状符号的第二右边副本;
42、重复以上步骤,直至对应的线面状符号需要重复的右边副本绘制完成。
43、在上述方案中,步骤s8包括:
44、获取鼠标点选、框选可以命中的线面状符号和线面状符号对应的副本,并对线面状符号以及线面状符号对应的各个副本进行拾取操作,拾取成功时,在对应的线面状符号上记录拾取的副本偏移像素值或线面状符号偏移像素值,在线面状符号上进行鼠标操作时,对通过鼠标传入的坐标值减去副本偏移像素值或线面状符号偏移像素值,并对拾取的线面状符号和线面状符号对应的副本进行相应编辑。
45、本发明提供的支持横向柱面漫游的图形标绘显示系统,采用如上所述的支持横向柱面漫游的图形标绘显示方法进行图形标绘和显示,包括:
46、坐标系建立模块,用于将具有点状符号和线面状符号的地图完全显示在显示屏幕上,获取地图上经度方向-180度到180度对应的显示屏幕宽度,根据获取的显示屏幕宽度建立显示屏幕坐标系;
47、第一坐标值获取模块,用于分别获取地图上经度方向-180度和180度在显示屏幕坐标系x轴的坐标值,并分别记为left1和right1;
48、第一副本数量获取模块,用于获取地图上各个点状符号的定位点在显示屏幕坐标系x轴的坐标值iorgx,对其与显示屏幕宽度进行相关运算,并根据运算结果与left1或right1的大小关系获取地图上各个点状符号需要重复的副本数量;
49、第一绘制模块,用于对各个点状符号在显示屏幕坐标系x轴进行复制平移,将地图上各个点状符号需要重复的副本绘制在显示屏幕坐标系中;
50、第二坐标值获取模块,用于获取地图上各个线面状符号的外接矩形的最左边和最右边在显示屏幕坐标系x轴的坐标值,分别记为left2和ri ght2;
51、第二副本数量获取模块,用于获取地图上各个线面状符号在显示屏幕坐标系x轴对应的最大坐标值imaxx和最小坐标值imi nx,对其与显示屏幕宽度进行相关运算,并根据运算结果与left2或right2的大小关系获取地图上各个线面状符号需要重复的副本数量;
52、第二绘制模块,用于对各个线面状符号在显示屏幕坐标系x轴进行复制平移,将地图上各个线面状符号需要重复的副本绘制在显示屏幕坐标系中;
53、拾取及编辑模块,用于使用鼠标拾取线面状符号,并对线面状符号对应的各个副本进行拾取,在拾取成功时,记录拾取的副本偏移像素值或线面状符号偏移像素值,以及以拾取的副本偏移像素值或线面状符号偏移像素值作为基础进行相应编辑。
54、本发明实施例包括以下优点:
55、本发明实施例提供的支持横向柱面漫游的图形标绘显示方法及系统,可支持横向柱面漫游和按任意经度作为东西半球分界线的平面展开显示;同时,支持点状符号的多副本标绘显示;此外,支持跨越边界的线面状符号的多连续标绘显示,解决了现有技术中跨180度和330度得边界显示问题,和传统的坐标空间值范围一致,不会引起理解上的偏差。
1.一种支持横向柱面漫游的图形标绘显示方法,其特征在于,所述方法包括:
2.根据权利要求1所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s3包括:
3.根据权利要求1所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s4包括:
4.根据权利要求3所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s4还包括:
5.根据权利要求1所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s6包括:
6.根据权利要求5所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s6还包括:
7.根据权利要求1所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s7包括:
8.根据权利要求7所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s7还包括:
9.根据权利要求1所述的支持横向柱面漫游的图形标绘显示方法,其特征在于,步骤s8包括:
10.一种支持横向柱面漫游的图形标绘显示系统,采用如权利要求1-9任一项所述的支持横向柱面漫游的图形标绘显示方法进行图形标绘和显示,其特征在于,所述系统包括:
