欢迎来到天天文库
浏览记录
ID:21551029
大小:26.50 KB
页数:6页
时间:2018-10-22
《电子海图自动调显规则的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、电子海图自动调显规则的研究 摘要针对电子海图显示应用场景,本文提出了电子海图自动调显应遵循的4条规则,并重点介绍了规则的实现,其中对自动调显过程中比例尺的选取、屏幕留白的格网化处理、自动调显的整体流程进行了详细描述。 【关键词】电子海图S57-标准自动调图自动调显拼接显示屏幕格网 1引言 电子海图的显示是电子海图系统的一个最基本的功能,当前很多电子海图系统的显示还是基于单幅图模式的,对其的缩放实质上是单幅海图的矢量缩放;也有少数电子海图系统实现了海图的自动调显功能,但普遍都存在这样那样的问题。所有这些
2、问题的核心都可以归结到对海图自动调显规则的处理上。本文结合电子海图的使用场景,提出电子海图自动调显应遵循的规则,研究并实现了将物理上离散分布的电子海图数据通过自动调显处理形成逻辑上一张图在屏幕上的无缝拼接显示。 2自动调显原理 电子海图的显示本质上包含两个过程:数据加载和数据显示。单幅图模式,由用户通过鼠标或者键盘操作选择要打开的海图数据进行数据加载,然后完成显示;自动调显模式,将完全解放用户的双手,由自动调显程序根据当前窗口显示范围和显示比例尺信息,基于海图显示不留白的核心原则,自动完成最合适海图数据的
3、搜寻并调度显示,直至将屏幕全部覆盖或最大覆盖。 3自动调显规则 规则1:窗口显示范围内不能留白,除非这个区域没有任何比例尺的数据,这是自动调显最核心规则,其他规则必须以此为前提; 规则2:窗口显示范围内如果存在多个比例尺的数据时,应首先按比例尺最优匹配程度排序,然后按此顺位依次扫描数据进行屏幕覆盖检测,直至数据将屏幕完全覆盖或最大覆盖; 规则3:多个比例尺数据如果存在重叠部分,必须保证大比例尺数据在最后绘制显示,以始终呈现给用户在给定条件下最精细的数据表达为目的; 规则4:为了加快判断并保证小比例尺
4、下不显示大比例尺航海图,对于显示比例尺:数据比例尺大于等于100(datascale*100<=dispscale)的航海图不参与搜索。 4自动调显规则实现 以上规则中,以规则1为第1准则,确保显示不留白,尽可能显示更精细的数据,并在多比例尺数据重叠时,保证大比例尺数据始终在最上层显示。下面将从比例尺、窗口显示范围、数据范围,并结合屏幕格网,综合运用多种算法实现多比例尺电子海图的自动调显。 4.1最佳数据比例尺确定 根据人眼视觉感受,理论上按数据比例尺进行1:1显示最符合地图浏览查看。基于此原理,最佳
5、数据比例尺的确定,按数据比例尺与当前显示比例尺的匹配程度确定。 假设当前共有6个比例尺的海图数据,图1展示了海图显示过程中如何根据显示比例尺调度数据比例尺的关系。 4.2按数据比例尺最优匹配顺序排序 在进行全球多尺度电子海图调度显示时,大部分情况下单凭一个最佳数据比例尺数据是无法做到完全覆盖屏幕的。这时候就需要按照比例尺匹配程度逐个搜寻。所以在按4.1确定最佳数据比例尺后,还需要据此确定第二、三最佳等等顺位的比例尺。此处通过比例尺与最佳比例尺做差值,按绝对值从小到大排序,此顺序即为比例尺最优匹配顺位。
6、 4.3窗口显示范围与数据范围相交判断 为提高显示效率,加快数据的搜寻过程,依次轮循各比例尺数据进行屏幕覆盖情况判断时,应首先将电子海图数据的地理范围与窗口显示范围进行相交判断,过滤掉一部分不相交的?稻荨? 4.4屏幕留白格网法处理 此处采用屏幕格网法处理电子海图显示留白问题,将窗口视图区域按照64*64像素大小的格子进行格网划分。通过检测数据范围对窗口范围的覆盖情况,赋值格网单元。最后通过判断屏幕格网是否还有空白确定海图是否已经完全覆盖屏幕。 图2为根据窗口视图区域大小划分为6X6(6行6列)的格网
7、,红色单元格为有效数据覆盖的范围,白色单元格为无效数据范围,尚没有被有效数据覆盖,因此自动调显程序还需要继续扫描数据,以找到合适数据将剩余的白色单元格覆盖,最终达到屏幕不留白的完全覆盖。 5自动调显整体流程 综上,可以看出自动调显过程是综合运用多种算法和多种方式互补控制协同完成的。下面将结合以上描述,完整阐述整个流程。 首先,根据当前显示比例尺确定最佳数据比例尺,接着确定比例尺最优匹配排序。 其次,分别构造多比例尺数据合并覆盖屏幕格子对象(sMulitScaleUnionCoverGrid)、当前比例
8、尺数据合并覆盖屏幕格子对象(sCurScaleUnionCoverGrid)和当前数据覆盖屏幕格子对象(sCurDataCoverGrid),用以自动调显过程中检测屏幕是否已被完全覆盖。 最后,结合矩形相交算法和格网法,开始自动调显两层循环逻辑处理,外层轮循处理各比例尺,内层轮循处理当前比例尺下各个数据。 (1)如果当前处理数据已能完全覆盖屏幕(sCurDataCoverGrid),此时找到最佳
此文档下载收益归作者所有