一种用于电子海图动态加载显示的方法

未命名 08-13 阅读:136 评论:0


1.本发明属于电子海图动态加载并显示方面的应用,主要是在不同经纬度的海域内动态显示不同的海图界面,即能根据鼠标缩放或拖动改变的当前视图的经纬度范围实现相应海图的显示,达到了海图快速动态显示的效果,提高了海图界面操作的简易性和海图的动态可读性。


背景技术:

2.电子海图是用数字形式表示的描写海域地理信息和航海信息为主的数字海图,电子海图之所以引起高度重视,是因为它具有传统纸海图无法比拟的优点。电子海图系统可以进行自动航线设计、航向航迹监测、自动存储本船航迹、历史航程重新演示、航行自动警报、快速查询各种信息、船舶动态实时显示,数千幅海图的自动更正只需几分钟。海上环境非常复杂,并且伴随着很多不确定的影响因素,目前的电子海图加载技术需要航行人员手动进行操作,每进入到一个海域,就要通过手动加载海图来显示此海域的海图,所以会导致航行人员有时无法短时间内更换海图而影响对船只周围的情况进行快速且清晰的判断,因此通过鼠标事件来查找不同海域的海图是实现海图快速显示的有效手段。可以大大提高了航行人员的工作效率,也大大提高了海洋航行的所有人员以及货物的安全性,也使海图显示界面更加简洁美观,操作体验感提升。
3.鼠标事件就是通过鼠标按键和滚轮的操作进入不同的事件,运行相应代码就可以实现不同操作所对应实现的功能。因此,通过完善和实现鼠标拖拽和滚轮事件来达到不同经纬度范围内电子海图相关信息的动态存储,从而实现对应海图的显示。


技术实现要素:

4.针对现有技术存在的不足,本发明要解决的是如何提供一种通过鼠标事件实现电子海图在不同经纬度范围内的动态显示,使之只在首次加载海图时存储相应信息,后续需要此海图时只需进行鼠标操作就能在海图界面上进行快速显示,而不用每次都需要重新加载海图。为解决上述技术问题,本发明采用如下的技术方案:
5.一种用于电子海图动态加载显示的方法,包括如下步骤:
6.(1)通过加载海图菜单项选择需要显示的海图文件并进行解析,获取选择的海图文件信息,包括海图名称、比例尺、经纬度范围等,并进行存储;
7.海图文件包含了海图的各部分信息,可以根据这些信息对海图进行定义、分类和绘制,将这些信息进行存储,以便于在界面显示条件发生变化时进行快速判断是否在显示界面对相应海图进行绘制。
8.(2)获取鼠标拖拽或者鼠标滚轮滑动时海图显示界面的经纬度范围和比例尺等信息;
9.当鼠标事件发生时,需要重新计算当前显示界面的经纬度范围和比例尺等信息。
10.当鼠标拖拽事件发生时,需要根据鼠标移动距离计算出拖拽距离:
11.disx=(eup.x-edown.x)*longlatx/screenx
12.disy=(eup.y-edown.y)*longlaty/screeny
13.其中,eup为鼠标拖拽完成时按键抬起时的屏幕坐标,edown为鼠标拖拽开始时按键按下时的屏幕坐标,longlatx和longlaty为拖拽前的屏幕经度和纬度范围,screenx和screeny 为屏幕像素范围,根据线性转换得到拖拽的地理距离,即经度距离disx和disy,之后根据鼠标拖拽距离和拖拽方向进行简单线性运算计算出屏幕四个角的经纬度坐标;鼠标拖拽时并不会改变界面比例尺。
14.当鼠标滚轮滑动事件发生时,需要根据滚轮滑动计算出屏幕四个角的经纬度坐标:
15.dis1x=(upleft.x-e.x)*n
16.dis1y=(upleft.y-e.y)*n
17.dis2x=(downright.x-e.x)*n
18.dis2y=(downright.y-e.y)*n
19.其中,e为鼠标滚轮滑动时的停留点经纬度坐标,upleft为滚轮滑动前屏幕左上角经纬度坐标,downright为滚轮滑动前屏幕右下角的经纬度坐标,dis1为停留点距屏幕左上角的经纬度距离,dis2为停留点距屏幕右下角的经纬度距离,滚轮每滑动一次,这段距离就以特定的缩放因子n因子进行放大或缩小,之后再根据停留点的经纬度和距屏幕左上角或屏幕右下角的经纬度距离计算出滚轮滑动后屏幕左上角或屏幕右下角的经纬度坐标,从而得到界面的经纬度范围。界面的比例尺也和缩放因子n成比例关系。
20.(3)获取符合海图显示界面经纬度和比例尺范围下的对应海图信息,并筛选出最符合当前显示界面的海图文件信息;
21.遍历所有海图文件信息,判断其经纬度和比例尺范围是否在界面显示范围里,若符合,就标记此信息为可显示海图信息;当有多个海图符合范围时,筛选出最符合条件的海图信息并标记为可显示,其余标记为不可显示。
22.(4)获取在显示范围内的海图信息对应的同名电子海图并显示绘制在海图界面,更新菜单栏信息;
23.遍历所有电子海图,若存在与标记为可显示海图名称同名的电子海图,就将此电子海图进行显示绘制,并在菜单栏更新当前界面显示的海图信息。
24.(5)定时器刷新获取动态信息并重新绘制海图。
25.本发明的优点及积极效果在于:
26.(1)本发明突出了基于快速更换电子海图并进行动态可读的优势,不依赖完备的先验知识,充分利用语言编写和运行效果进行分析。
27.(2)本发明方法的提出能够解决多变的海洋环境下突发情况时不能快速更换海图的安全性问题,能够为航海人员提供快速、准确、高效的判断,提高操作流畅性、界面美观性、工作高效率性以及航海安全性。
28.(3)本方法的实施在电子海图显示系统通过语言编写可实现,不需要引入额外的设备。
29.(4)该方法经过大量的实验并进行了验证,有效地提高了该方法可靠性。
附图说明
30.图1是本发明中具体实施方式中的电子海图动态加载流程图;
31.图2是本发明中具体实施方式中的获取鼠标拖拽后屏幕经纬度范围图;
32.图3是本发明中具体实施方式中的获取鼠标滚轮滑动后屏幕经纬度范围和比例尺图;
33.图4是本发明中具体实施方式中的筛选符合显示界面海图信息图;
34.图5是本发明中具体实施方式中的获取同名电子海图文件图;
35.图6是本发明中具体实施方式中的鼠标拖拽前图;
36.图7是本发明中具体实施方式中的鼠标拖拽后图;
37.图8是本发明中具体实施方式中的鼠标滚轮滑动前图;
38.图9是本发明中具体实施方式中的鼠标滚轮滑动后图;
具体实施方式
39.本实例以电子海图动态加载转换为研究对象,详细描述本发明的实施方式。针对海洋环境和航海行程向着多样化,自动化和复杂化发展的特点,通过语言编写,分析系统的动态可读需求,实现鼠标事件发生时海图显示界面改变后电子海图的动态加载,提高电子海图系统的简易操作性、可读性、高效率性。
40.为使本发明目的、技术方案更加清楚,下面结合附图详细说明本发明具体实施步骤。
41.参考图1,实施步骤为:
42.(1)获取存储海图文件的信息;
43.①
打开加载海图弹窗,点击加载海图菜单项
44.②
选择需要显示的海图文件并进行解析
45.③
获取当前海图文件信息,包括海图名称、比例尺、经纬度范围,并存储到所属类为海图信息的集合_s57infos中
46.(2)获取鼠标事件改变时海图显示界面经纬度范围和比例尺等信息;
47.若鼠标事件为拖拽,参考图2,则步骤为:
48.①
计算拖拽的经度距离num和纬度距离num2
49.②
计算拖拽后显示界面的经纬度范围
50.世界地图的经度范围在-180
°
~+180
°
,纬度范围在-90
°
~+90
°

51.如果拖拽经纬度距离在此范围以内:
52.当前显示界面的经纬度范围_upleftpos、_downrightpos就是与经纬度距离num和 num2的简单加减。若经纬度距离num和num2为负值,则当前界面所显示的经纬度值就会比拖拽前的大;若经纬度距离num和num2为正值,则当前界面所显示的经纬度值就会比拖拽前的小。
53.如果拖拽距离不在上述范围内:
54.拖拽方向向右时:在经度距离上就会有-180
°
的偏移量,经过线性叠加,显示界面的经度范围就会发生变化;
55.拖拽方向向左时:在经度距离上就会有360
°
的偏移量,经过线性叠加,显示界面的
经度范围就会发生变化;
56.拖拽方向向上时:在纬度距离上就会有-90
°
的偏移量,经过线性叠加,显示界面的纬度范围就会发生变化;
57.拖拽方向向下时:在纬度距离上就会有90
°
的偏移量,经过线性叠加,显示界面的纬度范围就会发生变化;
58.若鼠标事件为滚轮滑动,参考图3,则步骤为:
59.①
计算鼠标停留点和屏幕四个角的经纬度距离
60.其中num为停留点距屏幕四个角的经度距离,num2为停留点距屏幕四个角的纬度距离。
61.②
计算滚轮滑动之后的经纬度距离
62.滚轮滑动一次,就会以特定比例scale进行放大或缩小,鼠标停留点距屏幕四个角的经纬度距离也会以此比例进行缩放,具体表现为:鼠标滚轮放大时,放大因子scale为0.5,经纬度距离就会每次以0.5倍减小;鼠标滚轮缩小时,缩小因子scale为2,经纬度距离就会每次以2倍增加。
63.③
根据滚轮滑动后的经纬度距离和鼠标停留点的经纬度坐标计算屏幕四个角的经纬度坐标,从而得到滚轮滑动之后的经纬度范围
64.当滚轮滑动时,鼠标停留点处的经纬度es57v2d不变,根据此点经纬度和距屏幕四个角的经纬度距离进行线性加减就会得到屏幕四个角的经纬度坐标,从而得到鼠标放大或缩小之后的屏幕经纬度范围。
65.(3)获取在海图显示界面经纬度和比例尺范围下的对应海图信息,参考图4;
66.①
遍历海图信息_s57infos,将海图信息_s57infos中的比例尺、经纬度范围和鼠标事件之后的显示界面的比例尺、经纬度范围进行比较,在此范围内的海图信息的isloaddata 标记为true,表示此海图信息可显示,否则为false
67.②
选择多个海图信息中最符合当前屏幕范围的信息标记为true,其余为false
68.(4)获取在显示范围内的海图信息对应的电子海图并显示在海图界面,更新菜单栏信息,参考图5;
69.①
遍历海图信息_s57infos和海图集合_s57maps,若海图集合_s57maps中含有同名海图map,且海图信息_s57infos中的isloaddata被标记为true,表示此海图信息被标记为可显示,则此海图map就会被绘制显示;若海图信息_s57infos中的isloaddate被标记为 false,则移除此海图map;若海图集合_s57maps中没有同名海图map,则把此名称的海图 map添加到海图集合_s57maps中,以便后续进行绘制显示。
70.②
对海图集合_s57maps中的海图在界面进行显示绘制,并在菜单栏对当前显示海图信息进行更新
71.(5)定时器刷新获取动态信息并重新绘制海图。
72.每隔一段时间会刷新一下海图,若发生鼠标事件,会重新计算显示界面的经纬度范围和比例尺等信息,并根据首次打开海图时存储的海图信息筛选符合此显示范围的电子海图,并自动绘制显示在界面上,而不用每次重新加载海图。
73.参考图6,7,8,9,当鼠标发生拖拽事件或者鼠标滚轮滑动事件时,当前海图显示界面的经纬度范围和比例尺发生变化,就会显示绘制出符合此范围的海图,并更新菜单栏的
海图信息。
74.以上所述实施例仅为较佳的具体实施方式,本文应用了个例实施的说明用于帮助理解本发明的方法和核心思想,由该实例的实施情况和实际效果可知,该发明实现了电子海图的动态加载,通过鼠标操作就可以实现电子海图之间快速切换,而不用每次都重新加载海图,有助于提高操作人员的工作效率,大大解决了在多变的海洋环境中航行带来的安全性问题。对前述各实施例所记载的技术方案进行修改或部分指标进行等同替换,均应包含在本发明的保护范围内。

技术特征:
1.一种用于电子海图动态加载显示的方法,其特征在于,所述动态加载显示方法包括:(1)获取存储海图文件的信息,包括海图名称、比例尺、经纬度范围等,并进行存储;(2)获取鼠标事件改变时海图显示界面经纬度范围和比例尺等信息,当鼠标拖拽事件发生时,需要根据鼠标移动距离计算出拖拽距离,当鼠标滚轮滑动事件发生时,需要根据滚轮滑动计算出屏幕四个角的经纬度坐标,从而得到界面的经纬度范围;(3)获取符合海图显示界面经纬度和比例尺范围下的对应海图信息,判断其经纬度和比例尺范围是否在界面显示范围里,并筛选出最符合当前显示界面的海图文件信息,若符合,就标记此信息为可显示海图信息;(4)获取在显示范围内的海图信息对应的电子海图并显示在海图界面,更新菜单栏信息;(5)定时器刷新获取动态信息并重新绘制海图,若发生鼠标事件,会重新计算显示界面的经纬度范围和比例尺等信息,并根据首次打开海图时存储的海图信息筛选符合此显示范围的电子海图,并自动绘制显示在界面上,而不用每次重新加载海图。2.如权利要求1所示述的一种用于电子海图动态加载显示的方法,其特征在于:所述步骤(2)中获取海图界面信息方法:若鼠标事件为拖拽,则步骤为:

计算拖拽的经度距离和纬度距离

计算拖拽后显示界面的经纬度范围世界地图的经度范围在-180
°
~+180
°
,纬度范围在-90
°
~+90
°
;如果拖拽经纬度距离在此范围以内:当前显示界面的经纬度范围就是与经纬度距离的简单加减。若经纬度距离为负值,则当前界面所显示的经纬度值就会比拖拽前的大;若经纬度距离为正值,则当前界面所显示的经纬度值就会比拖拽前的小;如果拖拽距离不在上述范围内:拖拽方向向右时:在经度距离上就会有-180
°
的偏移量,经过线性叠加,显示界面的经度范围就会发生变化;拖拽方向向左时:在经度距离上就会有360
°
的偏移量,经过线性叠加,显示界面的经度范围就会发生变化;拖拽方向向上时:在纬度距离上就会有-90
°
的偏移量,经过线性叠加,显示界面的纬度范围就会发生变化;拖拽方向向下时:在纬度距离上就会有90
°
的偏移量,经过线性叠加,显示界面的纬度范围就会发生变化;若鼠标事件为滚轮滑动,则步骤为:

计算鼠标停留点和屏幕四个角的经纬度距离

计算滚轮滑动之后的经纬度距离滚轮滑动一次,就会以特定比例进行放大或缩小,鼠标停留点距屏幕四个角的经纬度距离也会以此比例进行缩放,具体表现为:鼠标滚轮放大时,放大因子为0.5,经纬度距离就会每次以0.5倍减小;鼠标滚轮缩小时,缩小因子为2,经纬度距离就会每次以2倍增加

根据滚轮滑动后的经纬度距离和鼠标停留点的经纬度坐标计算屏幕四个角的经纬
度坐标,从而得到滚轮滑动之后的经纬度范围当滚轮滑动时,鼠标停留点处的经纬度不变,根据此点经纬度和距屏幕四个角的经纬度距离进行线性加减就会得到屏幕四个角的经纬度坐标,从而得到鼠标放大或缩小之后的屏幕经纬度范围。3.如权利要求1所示述的用于电子海图动态加载显示的方法,其特征在于:所述步骤(3)中筛选海图信息方法:

遍历海图信息,将海图信息中的比例尺、经纬度范围和鼠标事件之后的显示界面的比例尺、经纬度范围进行比较,在此范围内的海图信息标记为true,表示此海图信息可显示,否则标记false;

选择多个海图信息中最符合当前屏幕范围的信息标记为true,其余为false。4.如权利要求1所示述的用于电子海图动态加载显示的方法,其特征在于:所述步骤(4)中获取同名海图方法:

遍历海图信息和海图集合,若海图集合中含有同名海图,且海图信息被标记为true,则此海图就会被绘制显示;若海图信息被标记为false,则移除此海图;若海图集合中没有同名海图,则把此名称的海图添加到海图集合中,以便后续进行绘制显示;

对海图集合中的海图在界面进行显示绘制,并在菜单栏对当前显示海图信息进行更新。

技术总结
随着电子海图显示系统的规模越来越大,功能越来越强,安全性与可靠性受到了越来越多的关注。因此对于航海过程中实现海图的快速切换具有重要意义。本发明是针对电子海图动态加载显示的方法。分别对获取加载海图的信息和获取鼠标事件后海图界面经纬度范围和比例尺信息进行综合分析,提出一种可以有效筛选符合当前海图显示界面经纬度和比例尺范围下的对应海图信息和同名海图的方法。通过分析代码实现获取屏幕显示界面的经纬度范围和比例尺,获取相应海图信息,获得电子海图动态加载的流程图。通过实验平台对该方法进行了验证并进行效果展示。本发明可广泛应用于工程中电子海图的动态加载显示。态加载显示。态加载显示。


技术研发人员:杨嘉琛 孙利姣 温家宝 肖帅
受保护的技术使用者:天津大学
技术研发日:2022.09.14
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐