一种提高电子海图客户端上船舶运动轨迹显示速度的方法

文档序号:5835413阅读:371来源:国知局
专利名称:一种提高电子海图客户端上船舶运动轨迹显示速度的方法
技术领域
本发明涉及一种远程船舶动态监控和回放的方法,特别涉及一种提高电子海图客
户端上船舶运动轨迹显示速度的方法。
背景技术
将船舶运动轨迹叠加显示在电子海图上可使用户更加直观地进行船舶事故分析 和掌握船舶的历史动态。由于基于客户端和服务器结构(C/S)以及基于浏览器和服务器结 构(B/S)的船舶动态管理系统具有安装和维护较方便、支持多用户并发访问以及数据集中 管理等优点,正越来越广泛地应用于海事安全部门和航运企业中。在这些系统中,当用户客 户端请求在电子海图上叠加船舶运动轨迹时,特别是请求叠加较长时间段的船舶运动轨迹 数据时,普遍存在这样的问题由于船舶轨迹数据量较大,需要较长的下载时间和客户端显 示处理时间。这个问题在很大程度上降低了这些系统在船舶运动轨迹查询功能方面的用户 友好性。 如何在保持较低失真度的情况下,能在电子海图客户端上对大量的船舶轨迹数据 进行快速展现,仍旧是有价值但也有难度的问题。在本发明中,将给出一个较好的解决方案。

发明内容
本发明针对上述船舶运动轨迹查询所存在的问题,而提供一种新的船舶运动轨迹 处理及在电子海图客户端上的显示方法,该能够通过数据压縮方式让客户端以更少的数据 量获得所需的轨迹数据。 为了达到上述目的,本发明所采用的技术方案 —种提高电子海图客户端上船舶运动轨迹显示速度的方法,该方法包括以下步 骤 (1)将电子海图的显示比例尺划分为不同层次,每个层次对应着一个显示比例尺 范围; (2)在不同的比例尺层次内,预设数据压縮阈值,利用矢量数据压縮方法,对船舶 运动轨迹中每一个船舶位置点进行显示比例尺层次标记,以确定在特定显示比例尺层次上 各点是否为船舶运动轨迹点; (3)客户端从服务端下载标记后的与客户端电子海图比例尺层次相对应的且处于 客户端电子海图显示地理范围或适当放大范围之内的船舶运动轨迹点数据;
(4)客户端将下载到的每条船舶位置点数据按时间顺序进行连接,在电子海图上 叠加形成船舶运动轨迹; (5)当用户更改客户端电子海图显示比例尺或显示地理范围时,重复步骤(3)和 (4)。 所述步骤(2)中,在不同的比例尺层次上预设的数据压縮阈值,随着比例尺层次 减小,此阈值增加,相反亦然。
所述步骤(2)中,在对不同的船舶运动轨迹点进行显示比例尺层次标记时,包括有如下步骤 (1A)给每一个船舶位置点赋予一个初始标记,该初始标记对应最大比例尺层次;
(2A)按照比例尺层次从大到小的顺序,用所述的矢量数据压縮方法和与每一显示比例尺层次相对应的压縮阈值,对每一船舶运动轨迹点进行压縮; (3A)当该点在某一比例尺层次上被保留,而在下一比例尺层次上被压縮掉,则该点将被赋于对应保留此点的比例尺层次的标记,该点的标记完成; (4A)由步骤(3A)完成对每一船舶位置点标记后,进行归类,形成针对各比例尺层次下的轨迹数据库,该数据库包括有与特定比例尺层次相对应的船舶轨迹点数据。
所述矢量数据压縮方法为垂距法、Douglas Peuker方法、光栏法三者其中之一。
所述垂距法,使用该方法进行船舶位置点显示比例尺层次标记时,需要同一船舶的三个位置点,一是最近的已标记点,二是待标记点,三是待标记点下一时刻接收到的未标记船舶位置点;当判断待标记点是否在某一比例尺层次上被压縮时,其中的第一个点应是最近时刻的、且其比例尺层次标记应对应该比例尺层次的船舶位置点。 所述使用垂距法进行船舶位置点显示比例尺层次标记时,包括如下步骤(IB)设最近的已标记点为A(xA, yA),比例尺层次标记为i-l,待标记点为B(xB, yB),当前标记为i,待标记点下一时刻接收到的船舶位置点为C(xc, yc),判断已标记点A与待标记点下一时刻接收到的船舶位置点C是否重合; (2B)若A、 C两点重合,则点B到A、 C两点所在直线的距离d为<formula>formula see original document page 5</formula>
若A、C两点不重合, 则点B到A、 C两点所在直线的距离d为<formula>formula see original document page 5</formula>
(3B)设定在i-l比例尺层次上的压縮阈值为D ; (4B)判断d与D值的大小,若d < D则在i_l比例尺层次上压縮掉B点,B点的最终标记为i, B点的标记过程终止;若d > D则保留B点,B点的当前标记被赋为i_l,需继续在i_2层次上进行判断和标记。 所述步骤(3)中,当客户端为某一海图比例尺层次时,客户端将下载和显示所有标记不大于对应该层次标志的层次内,且处于客户端电子海图显示地理范围之内的船舶轨迹点。 根据上述技术方案得到的本发明利用矢量数据压縮方法对船舶运动轨迹数据进行预处理,为每一个船舶位置点赋予一个显示比例尺标记,每次用户交互,仅下载和显示较少数量的船舶轨迹数据,保证了船舶轨迹数据的下载和显示速度,提高了电子海图客户端上船舶运动轨迹叠加显示功能的用户友好性。


以下结合附图和具体实施方式
来进一步说明本发明。
图1为本发明的流程图。
图2为本发明针对三个不同比例层次下显示轨迹的示意图。
具体实施例方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。 本发明的原理是利用矢量数据压縮方法对船舶运动轨迹数据进行预处理,为每一个船舶位置点赋予一个显示比例尺范围标记。显示比例尺越小,对应的船舶位置点越少。选择的矢量数据压縮方法应保证在较小显示比例尺情况下,能够保留船舶轨迹的关键位置点。当电子海图客户端显示比例尺较小时,仅从服务器下载和叠加当前海图显示地理范围内或适当放大范围内的船舶轨迹轮廓信息。当用户增加电子海图比例尺,将逐步叠加显示更详细的船舶轨迹,反之亦然。 下面参照着附图对本发明的实施做进一步的说明。 参图1所示,本发明所描述的交通轨迹数据压縮的实现方法,具有如下主要步骤
步骤l,将电子海图的显示比例尺划分为不同层次,每个层次对应着一个显示比例尺范围。 作为举例而非限定,用户在客户端所需要查看的电子海图,可通过共20个比例尺层次来表达。当比例尺越小时,所显示的地理范围越大,但对细节描述的也就越不清晰;比例尺越大时,所显示的地理描述的范围越小,但对细节描述的就越清晰。用户可以根据不同的需要来选择不同的比例尺层次。 步骤2,在不同的比例尺层次内,预设数据压縮阈值,利用矢量数据压縮方法,对船舶运动轨迹中每一个船舶位置点进行显示比例尺层次标记,以确定在特定显示比例尺层次上各点是否为船舶运动轨迹点。 在本发明中,需要根据不同的比例尺对各船舶位置点进行数据压縮。在比例尺层次小的时候,描述的地理范围大,通常在这种情况下,所设置的数据压縮阈值通常会较大;反之会较小。在各比例尺层次内,根据预设的阈值对所有的船舶位置点进行压縮,压縮之后,每个比例尺层次下都会保留一些位置点,将这些位置点划入与特定比例尺相对应的集合之中。将不同位置点归入不同比例尺集合的过程,这在本发明中视为标记。
比如,在第12比例尺层次下,经数据压縮之后,共有IOO个数据点,这IOO个数据点视为该比例尺层次下的船舶轨迹点集合;在第3比例尺层次下,经数据压縮之后共有10数据点,那么,这十个数据点就是该比例尺层次下的轨迹点集合。当用户需要不同层次下的轨迹数据时,直接将该轨迹点集合提供给用户即可。 步骤3,客户端从服务端下载标记后的与客户端电子海图比例尺层次相对应的且
处于客户端电子海图显示地理范围或适当放大范围之内的船舶运动轨迹点数据。 在使用中,当用户登陆客户端来查看不同比例尺层次下的电子海图轨迹时。客户
端向服务器直接发出请求,来获得处于客户端电子海图的显示地理范围或适当放大范围之
内的、与特定比例尺层次相对应的船舶位置点集合。这里所述的适当放大范围是为了保证
当船舶运动轨迹的一端或两端延伸出客户端电子海图显示范围时,延伸出的下一船舶位置
点也应被下载到客户端。在具体实施时,客户端首先根据海图显示范围和比例尺层次向服务端请求船舶轨迹数据,在接收到船舶轨迹数据后,可获得首尾两个船舶位置点所对应的时间,然后再向服务端请求一个首位置点时间之前且在时间上最靠近的船舶位置点和一个尾位置点时间之后且在时间上最靠近的船舶位置点,当然,这两个位置点应已被标记为当前比例尺层次。 步骤4,客户端将下载到的每条船舶位置点数据按时间顺序进行连接,在电子海图上形成船舶运动轨迹。 在客户端中,将下载到的船舶位置点按照时间顺序连接起来,就构成了与特定比例尺层次相对应的船舶运动轨迹。用户想查看较大的区域,选用较小的比例尺即可;若想查看较小的区域,选用较大的比例尺即可,非常方便。另外,只需要下载标记后的数据点即可,大幅度降低了数据点的数量。
其可以这样来实施 当海图比例尺层次为N时,客户端下载和显示所有标记《N的船舶位置点。这样实施的原因在于,海图比例尺层次N对应的船舶轨迹点集合等于显示比例尺标记为1至N的所有船舶位置点的集合。 步骤5,当用户更改客户端电子海图显示比例尺或显示地理范围时,重复(3)到(4)步。 进一步,所述的方法还包括有如下的特征 所述的数据压縮方法,包括有Douglas Peuker方法、垂距法、光栏法三者其中之 Douglas—Peucker(简写D-P)的轨迹压縮算法整体压縮效果较好,但通常只适用在整个航迹完成后进行航迹压縮。 垂距法和光栏法算法简单,且速度快,局部压縮效果较好,整体压縮效果通常比D-P方法差,但支持增量式压縮。 下面用垂距法举例说明如何进行数据压縮及阈值的设定。 在使用垂距法时,所有的压縮都是在相邻三个轨迹点间进行的,该压縮方法需要同一船舶的三个位置点,一个是最近的已标记点,二是待标记点,三是待标记点下一时刻接收到的未标记船舶位置点。
具体实施如下 按时间先后顺序,顺次选取A, B, C三点,其中A点为最近的已标记点,B点为待标记点,C为待标记点下一时刻接收到的未标记船舶位置点,这三点的坐标分别为A(xA, yA),B(xB, yB) , C(xc, yc)。 决定压縮还是保留待标记点B的思想 —、计算距离d( — )若A、C两点重合 点B到A、 C两点所在直线的距离为d贝U _yJ2+05-xj2 。 (二)若A、C两点不重合
A、C两点所在的直线方程为
(yc_yA) x+ (xA-xc) y+ (yAxc_xAyc) = 0 。
点B到A、 C两点所在直线的距离为d得
d _ I (少c —少」)Xb + (义c 一 + (少」义c 一 Xj少c) I a _ /, 、2 / 7
V(少c -少力)+ (^c 一 。 二、判断B点是保留还是压縮掉 针对不同的比例尺层次,需要设定相应的距离阈值D。
若d < D则压縮掉B点;
若d^D则保留B点。 利用该垂距法处理过所有的轨迹点后,即可完成该比例尺下的数据压縮。以此原理,针对各层次比例尺分别取不同的阈值D,即可完成所有轨迹点在各比例尺下的数据压縮了。 当判断待标记点是否在i比例尺层次上被压縮时,其中的第一个点应是最近时刻的、且其比例尺层次标记等于i的船舶位置点。也就是说,这种情况下,待标记点已经被标记了。 当然,以上的数据压縮方法,只是举例而非限定,其它的数据压縮方法,只要是通
过设置阈值来实现的位置数据压縮方法,都可以应用于本发明。 在进行数据压縮的时候,对本发明可包括具有如下步骤 为每一显示比例尺层次赋予一个矢量数据压縮阈值,然后,为每一个船舶位置点赋予一个初始标记,按照比例尺层次从大到小的顺序,用所述的矢量数据压縮方法和与每一显示比例尺层次相对应的压縮阈值,对船舶运动轨迹进行压縮。压縮完成之后进行数据归类。 所述的数据压縮过程进行之后,并不删除船舶轨迹数据,而是为船舶轨迹数据按照不同层次进行归类。 对每一船舶位置点所进行的归类后,形成针对各比例尺层次下的轨迹数据库,该数据库包括有与特定比例尺相对应的各轨迹点。 下面结合着图2,举例说明如何在不同显示层次上进行数据压縮和标记。 该图2中,显示有三个层次的船舶三维轨迹数据,分别是第一层次100,第二层次
200,第三层次300而其中的水域边界线为400 (岸堤,或海岸线等)。 本实施例实施时,所述的船舶轨迹点总共包括20个比例尺层次,分别为比例尺层次l-20,其中,比例尺层次1所对应的海图显示比例尺最小,进行数据压縮时的距离阈值也就越大,对应地,比例尺层次20所对应的地域范围最小,进行数据压縮时的距离阈值也就最小。在本实施例中,将第一层次100取为比例尺层次10,将第二层次200取为比例尺层次8,将第三层次300取为比例尺层次6。 在其中的第一层次100中,显示有在比例尺层次为10的情况下,各船舶位置点在标记之后的图像。该比例尺层次下,可以显示出较为清晰的轨道细节。该比例尺层次中,显示船舶轨迹的点共包括有九个,我们对各点进行标记,分别是D0、D1、D2、D3、D5、D6、D7、D7。并假定该比例尺层次下,进行数据压縮的距离阈值是DIOO。 在其中的第二层次200中,该图所显示的比例尺层次为8,相对于第一层次100的
8比例尺就小一些,假定该实施例中进行数据压縮的距离阈值是D200,那么,必定有如下情况:D200 > D100。 于是,在进行数据压縮,那些距离阈值大于D100但小于D200的点,就均被删除了 ,具体是D3和D7两点就被删除点了,而其余的六个点得以保留。也就是说明,在该层次中,我们通过数据压縮,减少了两个轨迹点的数据量。 在其中的第三层次300中,该图所显示的比例尺,相对于第二层次200的比例尺层次也小了一些。假定该实施例中进行数据压縮的距离阈值是D300,那么,必定有如下情况D300 > D200。 这种情况下,进行数据压縮时的阈值会更大,经过数据压縮之后,Dl、 D2、 D3、 D5、
D6、D7这六个点的数据均被压縮掉了,只有D0、D4、D8这三个点的数据得以保留,显然,船舶
轨迹点的数据量有了大幅度的减少,但主要的船舶轨迹的位置特征得以保留。 在前面所述的步骤2中,不同显示比例尺上的压縮和标记的过程是这样的(假定
比例尺分为N个层次) A)在N层次上压縮,然后在N-l层次上压縮...直至第1层,即比例尺最小层次;每一个比例尺层次对应一个阈值,随着层次减小,此阈值增加。 B)在每一比例尺层次上,压縮方法需要三个位置点,一个是最近的已标记点,二是待标记点,三是当前接收到的船舶位置点。后面两个点好确定,关键是第一个点。第一个点应该是最近时刻的、且显示比例尺范围标记等于当前比例尺层次的那个位置点。
C)如果待标记点被标记为i (i G [l,N]) , i为临时标记,接下来要看它能否被标记为i-l,如果不能够,则i为最终标记,对待标记点的标记过程结束。否则要循环B)-C)步。
当该点在比例尺层次i上被保留而在i-l上被压縮掉,该点将被赋于i标记,该点的标记工作随之结束。这是显然的,因为更大的比例尺层次进行数据压縮时,距离阈值会更大。 利用本发明所描述的方法,每次用户交互,仅下载和显示较少数量的船舶轨迹数据,保证了船舶轨迹数据的下载和显示速度,提高了电子海图客户端上船舶运动轨迹叠加显示功能的用户友好性。 以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
权利要求
一种提高电子海图客户端上船舶运动轨迹显示速度的方法,其特征在于,该方法包括以下步骤(1)将电子海图的显示比例尺划分为不同层次,每个层次对应着一个显示比例尺范围;(2)在不同的比例尺层次内,预设数据压缩阈值,利用矢量数据压缩方法,对船舶运动轨迹中每一个船舶位置点进行显示比例尺层次标记,以确定在特定显示比例尺层次上各点是否为船舶运动轨迹点;(3)客户端从服务端下载标记后的与客户端电子海图比例尺层次相对应的且处于客户端电子海图显示地理范围或适当放大范围之内的船舶运动轨迹点数据;(4)客户端将下载到的每条船舶位置点数据按时间顺序进行连接,在电子海图上叠加形成船舶运动轨迹;(5)当用户更改客户端电子海图显示比例尺或显示地理范围时,重复步骤(3)和(4)。
2. 根据权利要求1所述的一种提高电子海图客户端上船舶运动轨迹显示速度的方法, 其特征在于,所述步骤(2)中,在不同的比例尺层次上预设的数据压縮阈值,随着比例尺层 次减小,此阈值增加,相反亦然。
3. 根据权利要求1所述的一种提高电子海图客户端上船舶运动轨迹显示速度的方法, 其特征在于,所述步骤(2)中,在对不同的船舶运动轨迹点进行显示比例尺层次标记时,包 括有如下步骤(IA) 给每一个船舶位置点赋予一个初始标记,该初始标记对应最大比例尺层次;(2A)按照比例尺层次从大到小的顺序,用所述的矢量数据压縮方法和与每一显示比例 尺层次相对应的压縮阈值,对每一船舶运动轨迹点进行压縮;(3A)当该点在某一比例尺层次上被保留,而在下一比例尺层次上被压縮掉,则该点将 被赋于对应保留此点的比例尺层次的标记,该点的标记完成;(4A)由步骤(3A)完成对每一船舶位置点标记后,进行归类,形成针对各比例尺层次下 的轨迹数据库,该数据库包括有与特定比例尺层次相对应的船舶轨迹点数据。
4. 根据权利要求1或3所述的一种提高电子海图客户端上船舶运动轨迹显示速度的方 法,其特征在于,所述矢量数据压縮方法为垂距法、DouglasPeuker方法、光栏法三者其中之
5. 根据权利要求4所述的一种提高电子海图客户端上船舶运动轨迹显示速度的方法, 其特征在于,所述垂距法,使用该方法进行船舶位置点显示比例尺层次标记时,需要同一船 舶的三个位置点,一是最近的已标记点,二是待标记点,三是待标记点下一时刻接收到的未 标记船舶位置点;当判断待标记点是否在某一比例尺层次上被压縮时,其中的第一个点应 是最近时刻的、且其比例尺层次标记应对应该比例尺层次的船舶位置点。
6. 根据权利要求5所述的一种提高电子海图客户端上船舶运动轨迹显示速度的方法, 其特征在于,所述使用垂距法进行船舶位置点显示比例尺层次标记时,包括如下步骤(IB) 设最近的已标记点为A(xA, yA),比例尺层次标记为i-l,待标记点为B(xB, yB),当 前标记为i,待标记点下一时刻接收到的船舶位置点为C(xc, yc),判断已标记点A与待标记 点下一时刻接收到的船舶位置点C是否重合;(2B)若A、 C两点重合,则点B到A、 C两点所在直线的距离d为若A、C两点不重合,则点B到A、 C两点所在直线的距离d为<formula>formula see original document page 3</formula>(3B)设定在i-l比例尺层次上的压縮阈值为D ;(4B)判断d与D值的大小,若cKD则在i-l比例尺层次上压縮掉B点,B点的最终标 记为i, B点的标记过程终止;若d > D则保留B点,B点的当前标记被赋为i_l,需继续在 i-2层次上进行判断和标记。
7.根据权利要求1所述的一种提高电子海图客户端上船舶运动轨迹显示速度的方法, 其特征在于,所述步骤(3)中,当客户端为某一海图比例尺层次时,客户端将下载和显示所 有标记不大于对应该层次标志的层次内,且处于客户端电子海图显示地理范围之内的船舶 轨迹点。
全文摘要
本发明公开了一种提高电子海图客户端上船舶运动轨迹显示速度的方法。该方法将电子海图的显示比例尺划分为不同层次,每个层次对应着一个显示比例尺范围;为每一个显示比例尺层次,预设数据压缩阈值;利用矢量数据压缩方法,对船舶运动轨迹中每一个位置点进行显示比例尺层次标记;比例尺越大,对应的船舶运动轨迹点越多;客户端仅从服务端下载位于客户端海图显示地理范围或适当放大范围内且与客户端海图显示比例尺相对应的船舶运动轨迹点数据,并进行显示。通过本发明,用户在电子海图客户端上进行船舶运动轨迹显示时,仅下载和显示较少数量的船舶轨迹数据,这种方式可有效提高船舶轨迹数据的下载和显示速度。
文档编号G01C21/00GK101726292SQ20081004385
公开日2010年6月9日 申请日期2008年10月20日 优先权日2008年10月20日
发明者孟良, 施朝健, 杨春, 胡勤友 申请人:上海海事大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1