上下文驱动的电子海图数据调度与显示方法研究

1引言

电子海图由于其数据多样性,图层复杂性,显示模式多变性等原因,如何在屏幕更好地显示电子海图一直都是值得深入研究的问题。传统桌面海图系统由于运算能力强劲、输入输出设备丰富,本身可操作性比较强,且用户更偏向于专业化。因此桌面电子海图的显示可以配合用户比较多的人机交互而方便地进行配置。移动设备由于其运算能力有限、屏幕尺寸较小、输入输出形式较少,而且移动设备上的用户更加偏向于普通用户,因此如何在有限的资源下,尽量减少用户交互负担,更加智能地加载用户需要的海图就显得尤为重要。

本文研究用到的海图数据包括离线的000矢量、电子海图瓦片、纸质海图瓦片、影像瓦片以及在线服务,如何有效地组织、调度这些数据使用户不会感觉繁琐冗余是决定用户体验的基本层面。上下文,即描述对实体产生影响的所有环境条件。不同用户、位置、时间、通告、用户目的等因素决定了用户满意度,上下文驱动模型可以很好满足用户需求;其对于移动端屏幕上自适应显示电子海图意义重大,能够帮助系统更好地了解用户所处的环境,将用户的偏好与用户所处的环境结合起来,为用户提供更加准确的推荐服务,提高用户的满意度。

1.1研究现状

目前,基于上下文的地图服务领域的研究已经开始,基于上下文的建模和推理都已经有了不少的研究成果。徐剑锋等人提出了基于XML的面向对象和本体的上下文建模方法,该建模方法把面向对象的关联性、本体的明确性和层次性以及XML语言的存储性和维护性结合起来。程时伟等提出了情境感知驱动的移动设备自适应用户界面模型。邓毅博等人提出地图服务正逐渐追求个性化,且已成为现代地图学的发展趋势和方向。J.RaulRamirez等人指出未来的地图必须是高度自适应、可交互并且真实感强的,在地图需要表达什么地理信息又如何表达这两方面实现用户控制或自适应。

随着地图学的发展和完善,以用户为中心的、个性化的地图设计与服务理念越来越普及,提高用户体验是一个恒久不变的话题。

1.2存在问题

现如今国内外不少研究人员和公司已经对移动电子海图做了深入研究,也暴露出来了不少问题,主要集中在以下几点:

(1)主动性不够。目前的移动端电子海图系统普遍直接从桌面端软件移植过来,并没有考虑到移动端的设备特殊性,在用户与系统之间还需要一系列繁杂的操作过程,给追求便捷性的用户带来了很大的操作负担。

(2)个性化不足。现有电子海图系统并没有充分考虑到用户需求的差异性,在提供的信息中存在着与用户需求关联度很弱的信息,这对用户来说其实是一种视觉干扰。

这些问题的解决,急需一种新的充分考虑到移动环境下的使用场景的电子海图数据组织和显示的方法。本文以基于上下文的电子地图理论为基础,研究了适合移动电子海图调度显示的数据组织与显示方法,有利于提升个性化海图服务,丰富海图系统功能格局。

2研究方法

2.1因素选取

上下文是能够用来描述实体(如人、地点或物体)情形的任何信息,这些实体和用户与应用程序(包括用户和应用软件本身)之间的互动是相关的。

用户信息:用户信息决定着用户对于地图使用的偏好,比如用户的年龄(儿童倾向于使用界面简单、色彩鲜艳的地图,成年人则偏向于功能齐全、色彩稳重的地图),性别(男性倾向于要素呈现更加抽象,女性倾向于要素呈现更加形象),专业水平(业余用户使用更加简单的功能,专业用户使用更加复杂的功能),生理心理状况(色盲患者需要专门的地图配色系统)。

位置:用户的位置信息对于地图的自适应显示来说是一项非常有价值的信息,而移动设备上获取用户的位置信息又非常简单。通过获取用户的位置,可以推理出用户需要加载的海图的类型,海图的范围以及图层。

时间:电子海图的显示模式中很重要的一个配置选项就是白天模式、黄昏模式和夜晚模式的选择。这三个模式下,海图的配色有很大的变化,用于适应不同时间下的海图使用。

通告:通告信息是指海图改正通告等信息,改正通告信息作为实时性比较强的信息。可以在电子海图还没有来得及更新的时候给用户带来更加实时的信息。因此在实际使用中,电子海图系统根据当前的改正通告信息,自动调整海图显示的形式。比如改正通告中有在区域A划定安全区的通告,则在图上应该自动对该区域的显示情况进行调整,以提示用户对航行计划做出调整。

目的:用图目的代表着用户最直接的需求,在海图显示中也是非常重要的信息,不同的用图目的代表着用户的感兴趣信息种类以及感兴趣的功能都会不同,这就要求海图的显示能够智能适应用户的需求。

2.2模型建立

目前基于上下文的建模方法有很多,包括关键字—值模型法、标记语言模型法、图模型法、本体模型法和面向对象模型法等等。然而,鉴于上下文本身是一个很抽象的概念,而上面列举的上下文因素却是实实在在的具体事物,因此这样一种从具体事物中抽象出抽象概念的方法正好契合了面向对象思想中的类的抽象的概念。再加上面向对象的建模方法可以很好地考虑对象之间的联系,而上下文信息本身就是基于用户使用上下文的有用的信息的集合,其信息关联度本身就很高,因此从这一方面考虑,面向对象的建模方法也是很合理的。

总的来说,本文建立的上下文的模型分为两个层,并且这两个层是从上至下的。上面的一层是高层上下文模型,下面的一层是底层上下文因素模型。上下文因素比较零碎和具象,它由上文中提到的各类信息集合而成,并且单个的信息并不能有什么决定性的作用,而上下文则是由这些零碎的上下文信息整合而成的一种抽象的上下文状态,它是在上下文因素信息中推理得到的更深层次的上下文的描述,包含有当前上下文的综合定义和用户当前的潜在需求。

2.3触发机制

在建立了上述的双层上下文模型之后,需要考虑的就是根据模型生成的高层上下文对象的操作,如何映射到具体的电子地图的显示当中,这一过程也就是上下文模型的触发机制。

底层上下文因素分为不同的种类,其变化探测机制也不一样,如用户信息、目的等是需要用户本身进行输入的,这种称为手动触发因素,而时间、位置、通告等等都是自动进行更新的,这种称为自动触发因素。两种因素的变化频率还是有很大差别的,尤其是自动触发因素更是几乎无时不刻不在变化,这就要求这两种因素尤其是自动触发因素本身都具有一个触发阈值,一旦因素的改变量超出这个阈值,才会将这种改变传递到高层上下文对象中,这一个过程称之为因素变化条件判断。

基于上文中提到的上下文双层模型,底层上下文因素的改变会导致由它抽象推理而来的高层上下文对象的变化,由于底层上下文因素的改变是零碎的,具有依赖性的,所以不能直接根据底层上下文因素的改变来触发海图的表达,因此我们采用的触发机制是根据底层上下文因素的改变,综合到高层上下文的改变,进而反映到海图的表达上来,而这一综合过程就称之为上下文综合,上下文综合过程中会生成两类信息,一类是全局性的整体信息,一类是局部的细节信息。

海图的表达分为底图表达和专题图表达两大块,两者都有对应的地图显示模板,这些模板对应着高层上下文对象中综合得到的整体信息和细节信息。使用模板的一大好处就是可以用一套通用的显示模式,一套规则化的显示机制来解决各种上下文下的显示问题,这样可以大大减小显示模式多样化带来的复杂性。

在电子海图的显示当中,底图和在底图上叠加的专题图层是分开的两类图层,分别由底图模板和专题图模板进行具象化而来。底图负责显示基本的通用的信息,而专题层则显示附加的更加具有用户特殊性的信息,如图1所示。

3实验效果分析

在确定上下文因子的基础上,本文通过开发Android移动海图桌系统,以用户信息和位置信息为例,实现上下文触发机制,研究对S-57海图显示的影响,从而对上下文驱动下海图的调度显示进行研究、分析。

3.1用户信息触发机制实现

用户信息量十分庞大,对用户信息量的充分利用和挖掘,对于移动海图系统S-57海图的调度显示具有十分重要的研究意义,不仅可以提高系统的实用性,从用户角度考虑,还可以明显改善系统的用户体验。

如图2所示,基于用户信息量的复杂性,根据海图显示的规则和要求,本文选择部分用户信息;本文设定用户信息为手动触发因素,Android移动海图桌系统通过用户进行系统设置的形式,改变海图相关的显示方式。例如,根据不同用户对符号显示规则的不同要求,设置传统符号和简化符号;根据用户对海图显示内容丰富量的不同,设置基础物标显示、标准物标显示和其他物标显示三类。还有其他一些如用户对灯光、水深显示的要求等等,本文不再展开。

图3可以明显看出,对于相同比例下的海图底图,右图的符号明显要大一些,符号放大的过程本质上是C++底层绘制时设置的问题,可以映射到图1所指的专题图模板。符号比例的变化调整,对于年长者用户视线下降可以起到一定的帮助,从而提高用户体验。

图4可以看出传统符号和简化符号的显示差异,传统符号指纸质海图的标准符号配置,简化符号指电子海图的标准符号配置。两类符号的色彩性和形象程度都有些许差距,本文设定为手动触发因子,意在根据用户的自己需求,选择适合自己的符号显示。

S-52标准对海图的显示做了基准规范,将航道图显示分类为以下三种:

(1)基础显示:指不能从显示中删除的,由那些在任何情况下都需要的信息所组成的SENC信息层。基础显示作为标准显示的一部分,并不能满足安全航行的需要。

(2)标准显示:指当航道图默认情况下在电子海图显示与信息系统上显示时所展示出的系统电子航海图(SENC)信息。在实际航海应用时,相关工作人员可根据需要选择性显示系统航道图的信息,同时可以进行相关修改。

(3)所有其他信息:指不包含在标准显示中的航道图信息、它仅在需要时才显示。

图5可以看出基础显示、标准显示、其他显示的明显区别,该信息机制的实现既是S-52标准海图显示的践行,也是对用户按需显示的用户体验的实现。

3.2位置信息触发机制实现

Android移动设备的一大特点就是可以利用GPS定位轻松获取用户的位置,而用户的位置信息对于海图的自适应调度和显示是非常重要的信息。本文选择位置信息作为上下文因子之一,通过实时确定用户的位置,来调度不同类型的海图或不同区域的矢量海图。

如图6所示,在海图底图上将陆地区域和渤海区域映射为两个多边形,在Android设备实时移动过程中,GPS定位获取的经纬度也在实时变化,判断当前定位点位于哪个多边形内,如果在多边形2里面,代表在海上区域,这时考虑到海上作业的需求,明显需要调用显示000海图;遍历包含所有000文件的数据库.db文件,判断当前定位点是否在000文件属性的区域范围内,将符合要求的000文件在底层绘制显示。如果位于多边形1里面,代表并未进行海上作业,000矢量海图的显示便会变得没有意义,这时选择调用代表陆地全景的中国区域影像图tpk瓦片,影响海图基于其单一的浏览性,整个中国打包成了一份tpk文件,不需要经过数据库文件的筛选操作。海图的显示结果如图7所示。

移动端对于用户位置信息的有效利用,目前已应用十分广泛,但大多数的调图都是手动触发实现。本文设定自动触发机制,在设备位置变化过程中,有效调度符合用户需求的海图数据,而不是盲目人为地进行一些无效操作。比如,对于Android移动海图系统来说,就其海图应用的定位而言,在陆地区域,调出S-57海图基本没有意义。位置信息自动触发机制的实现,有效避免了一些人为的初级错误,大大提高了系统应用的用户体验。

4总结

本文利用开发的Android移动海图桌系统,将当前研究热点海图数据自适应显示和上下文有效结合,分析上下文因子对S-57海图数据调度的影响,建立面向对象的上下文模型法;选取的用户信息、位置、时间、通告、目的等上下文因子,明显提高了海图数据调度和显示效果,改善了程序的用户体验。