三维地图飞行浏览方法、系统及存储介质转让专利

申请号 : CN202010143783.4

文献号 : CN111366159B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王秋艳郑诚慧姚昌荣夏诗蔡卢安伟严明江芝娟赵梓言

申请人 : 飞燕航空遥感技术有限公司

摘要 :

本发明公开了一种三维地图飞行浏览方法、系统及存储介质,其中三维地图飞行浏览方法包括:1、构建待浏览的三维场景;2、设置飞行路径的起始节点、终止节点以及从起始节点P0到终止节点PN的各飞行节点Pn的位置和所有节点对应的观察视线参数;3、设置每个飞行段的飞行时间Tn;4、在三维场景中,从起始节点开始依次浏览每个飞行段,直到终止节点;第n个飞行段的速度为:该方法通过分别设置飞行路径中每个飞行段的飞行时间,实现了三维地图的灵活浏览,提升了用户的体验感。

权利要求 :

1.三维地图飞行浏览方法,其特征在于,包括:(1)构建待浏览的三维场景;

(2)设置飞行路径的起始节点、终止节点以及从起始节点P0到终止节点PN的各飞行节点Pn的位置和所有节点对应的观察视线参数;n=1,2,…,N‑1;N+1为飞行节点个数;所述观察视线参数包括方向角heading、倾斜角pitch和翻滚角roll;

(3)设置每个飞行段的飞行时间;第n个飞行段为Pn‑1到Pn的线段,飞行时间为Tn;

(4)在三维场景中,从起始节点开始依次浏览每个飞行段,直到终止节点;第n个飞行段的速度为: |Pn‑1Pn|为Pn‑1到Pn的距离;

还包括从设定的时间T开始进行飞行浏览,具体包括:(2.1)计算飞行路径上时间T所对应的位置P(X,Y,Z)和位置P对应的观察视线参数;

(2.2)在三维场景中,从位置P开始依次浏览P到终止节点PN之间的每个飞行段;

所述步骤(2.1)具体包括:

(2.1.1)获取时间T所对应的飞行段:从起始节点P0开始,寻找满足条件:的节点Pm,则时间T所对应的飞行段为从Pm到Pm+1的线段;

(2.1.2)计算时间T在飞行段中的比例R:(2.1.3)计算时间T所对应的位置P(X,Y,Z):计算位置P对应的观察视线参数:其中(Xm,Ym,Zm)为节点Pm的坐标,headingm,pitchm,rollm分别为节点Pm对应的观察视线参数。

2.根据权利要求1所述的三维地图飞行浏览方法,其特征在于,第n个飞行段的默认飞行时间Tn为:

其中(Xn,Yn,Zn)为飞行节点Pn的坐标。

3.三维地图飞行浏览系统,其特征在于,包括:三维场景构建模块,用于构建待浏览的三维场景;

飞行路径和飞行节点管理模块,用于设置并管理飞行路径的起始节点、终止节点以及从起始节点到终止节点的各飞行节点的位置和所有节点对应的观察视线参数;所述管理包括:飞行路径和飞行节点的查询、添加、修改、删除;所述观察视线参数包括方向角heading、倾斜角pitch和翻滚角roll;

飞行时间设置模块,用于设置每个飞行段的飞行时间;第n个飞行段为Pn‑1到Pn的线段,飞行时间为Tn;

飞行浏览模块,用于在三维场景中,从起始节点开始依次浏览每个飞行段,直到终止节点;第n个飞行段的速度为: |Pn‑1Pn|为Pn‑1到Pn的距离;

还包括浏览控制模块,用于从给定的时间T开始进行飞行浏览;所述浏览控制模块采用如下步骤实现从给定的时间T开始进行飞行浏览:(2.1)计算飞行路径上时间T所对应的位置P(X,Y,Z)和位置P对应的观察视线参数;

(2.2)在三维场景中,从位置P开始依次浏览P到终止节点PN之间的每个飞行段;

所述浏览控制模块计算飞行路径上时间T所对应的位置P(X,Y,Z)具体包括:(2.1.1)获取时间T所对应的飞行段:从起始节点P0开始,寻找满足条件:的节点Pm,则时间T所对应的飞行段为从Pm到Pm+1的线段;

(2.1.2)计算时间T在飞行段中的比例R:(2.1.3)计算时间T所对应的位置P(X,Y,Z):计算位置P对应的观察视线参数:其中(Xm,Ym,Zm)为节点Pm的坐标,headingm,pitchm,rollm分别为节点Pm对应的观察视线参数。

4.根据权利要求3所述的三维地图飞行浏览系统,其特征在于,所述飞行浏览系统采用服务器‑终端分离的B/S架构;所述终端为显示三维场景的用户终端;所述服务器包括:文件服务器,用于存储待浏览场景的三维数据,所述三维数据包括:dom、dem、三维倾斜数据;

数据库服务器,用于存储飞行路径和飞行节点、飞行段的信息;

GIS服务器,用于存储待浏览场景的底图数据;

业务服务器,用于为终端提供业务请求响应服务;

各服务器对外提供服务接口。

5.根据权利要求3所述的三维地图飞行浏览系统,其特征在于,所述飞行路径和飞行节点管理模块还用于管理多条飞行路径,所述对多条飞行路径的管理包括:排序、选中、切换。

6.一种计算机可读取存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至2任一项所述的三维地图飞行浏览方法的步骤。

说明书 :

三维地图飞行浏览方法、系统及存储介质

技术领域

[0001] 本发明属于三维地图显示技术领域,具体涉及三维地图飞行浏览的方法、系统及存储介质。

背景技术

[0002] 在实际的三维电子地图应用系统中,常常需要在三维场景中通过自定义一条飞行路径实现场景自动飞行漫游,目前的常用实现方法为:在客户端用文件形式记录用户设定
的飞行路线信息,以便用户多次查看,而对于每条飞行路径,系统记录其平均速度或者总时
长,自动浏览时根据速度或者时长计算出其他相关飞行参数。
[0003] 由于飞行路线相关信息存储在本地,所以无法实现不同终端的共享以及不同用户组间的共享,另一方面,由于传统的应用系统记录平均速度或者总时间,导致整个飞行过程
中速度不能变化。而实际飞行过程中,不同飞行段的飞行速度不一定完全相同,存在单独设
置不同飞行段的速度的需求;并且通常情况下飞行高度越高,速度越快,特别是在设置飞行
路径时,默认设置的速度无法满足普通用户在浏览过程中的需求,需要用户单独设置速度。
在飞行浏览过程中,顿挫感较强。

发明内容

[0004] 发明目的:针对现有技术中存在的问题,本发明公开了一种三维地图飞行浏览方法和系统,其中飞行浏览方法通过分别设置飞行路径中每个飞行段的飞行时间,实现了三
维地图的灵活浏览,提升了用户的体验感。
[0005] 技术方案:本发明一方面公开了一种三维地图飞行浏览方法,包括:
[0006] (1)构建待浏览的三维场景;
[0007] (2)设置飞行路径的起始节点、终止节点以及从起始节点P0到终止节点PN的各飞行节点Pn的位置和所有节点对应的视线参数;n=1,2,…,N‑1;N+1为飞行节点个数;所述视线
参数包括方向角heading、倾斜角pitch和翻滚角roll;
[0008] (3)设置每个飞行段的飞行时间;第n个飞行段为Pn‑1到Pn的线段,飞行时间为Tn;
[0009] (4)在三维场景中,从起始节点开始依次浏览每个飞行段,直到终止节点;第n个飞行段的速度为: |Pn‑1Pn|为Pn‑1到Pn的距离。
[0010] 上述三维地图飞行浏览方法还包括从设定的时间T开始进行飞行浏览,具体包括:
[0011] (2.1)计算飞行路径上时间T所对应的位置P(X,Y,Z)和位置P对应的视线参数;
[0012] (2.2)在三维场景中,从位置P开始依次浏览P到终止节点PN之间的每个飞行段。
[0013] 所述步骤(2.1)具体包括:
[0014] (2.1.1)获取时间T所对应的飞行段:从起始节点P0开始,寻找满足条件:
[0015] 的节点Pm,则时间T所对应的飞行段为从Pm到Pm+1的线段;
[0016] (2.1.2)计算时间T在飞行段中的比例R:
[0017] (2.1.3)计算时间T所对应的位置P(X,Y,Z):
[0018]
[0019] 计算位置P对应的视线参数:
[0020]
[0021] 其中(Xm,Ym,Zm)为节点Pm的坐标,headingm,pitchm,rollm分别为节点Pm对应的视线参数。
[0022] 第n个飞行段的默认飞行时间Tn为:
[0023]
[0024] 其中(Xn,Yn,Zn)为飞行节点Pn的坐标。
[0025] 另一方面,本发明还公开了实现上述三维地图飞行浏览方法的浏览系统,包括:
[0026] 三维场景构建模块,用于构建待浏览的三维场景;
[0027] 飞行路径和飞行节点管理模块,用于设置并管理飞行路径的起始节点、终止节点以及从起始节点到终止节点的各飞行节点的位置和所有节点对应的视线参数;所述管理包
括:飞行路径和飞行节点的查询、添加、修改、删除;所述视线参数包括方向角heading、倾斜
角pitch和翻滚角roll;
[0028] 飞行时间设置模块,用于设置每个飞行段的飞行时间;第n个飞行段为Pn‑1到Pn的线段,飞行时间为Tn;
[0029] 飞行浏览模块,用于在三维场景中,从起始节点开始依次浏览每个飞行段,直到终止节点;第n个飞行段的速度为: |Pn‑1Pn|为Pn‑1到Pn的距离;
[0030] 上述浏览系统还包括浏览控制模块,用于从给定的时间T开始进行飞行浏览;所述浏览控制模块采用如下步骤实现从给定的时间T开始进行飞行浏览:
[0031] (2.1)计算飞行路径上时间T所对应的位置P(X,Y,Z)和位置P对应的视线参数;
[0032] (2.2)在三维场景中,从位置P开始依次浏览P到终止节点PN之间的每个飞行段。
[0033] 所述浏览控制模块计算飞行路径上时间T所对应的位置P(X,Y,Z)具体包括:
[0034] (2.1.1)获取时间T所对应的飞行段:从起始节点P0开始,寻找满足条件:
[0035] 的节点Pm,则时间T所对应的飞行段为从Pm到Pm+1的线段;
[0036] (2.1.2)计算时间T在飞行段中的比例R:
[0037] (2.1.3)计算时间T所对应的位置P(X,Y,Z):
[0038]
[0039] 计算位置P对应的视线参数:
[0040]
[0041] 其中(Xm,Ym,Zm)为节点Pm的坐标,headingm,pitchm,rollm分别为节点Pm对应的视线参数。
[0042] 所述飞行浏览系统采用服务器‑终端分离的B/S架构;所述终端为显示三维场景的用户终端;所述服务器包括:
[0043] 文件服务器,用于存储待浏览场景的三维数据,所述三维数据包括:dom、dem、三维倾斜数据;
[0044] 数据库服务器,用于存储飞行路径和飞行节点、飞行段的信息;
[0045] GIS服务器,用于存储待浏览场景的底图数据;
[0046] 业务服务器,用于为终端提供业务请求响应服务;
[0047] 各服务器对外提供服务接口。
[0048] 所述飞行路径和飞行节点管理模块还用于管理多条飞行路径,所述对多条飞行路径的管理包括:排序、选中、切换。
[0049] 本发明还公开了一种计算机可读取存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述三维地图飞行浏览方法的步骤。
[0050] 有益效果:本发明公开的三维地图飞行浏览方法,通过独立存储飞行路径和飞行节点,实现了单条飞行路径不同飞行段之间浏览速度可单独配置的功能,提高了系统的灵
活性。

附图说明

[0051] 图1为本发明公开的三维地图飞行浏览方法的流程图;
[0052] 图2为计算飞行路径上时间T所对应的位置的示意图;
[0053] 图3为本发明公开的三维地图飞行浏览系统的组成框图;
[0054] 图4为采用B/S架构的三维地图飞行浏览系统组成示意图。

具体实施方式

[0055] 下面结合附图和具体实施方式,进一步阐明本发明。
[0056] 如图1所示,本发明公开了一种三维地图飞行浏览方法,包括以下步骤:
[0057] (1)构建待浏览的三维场景;
[0058] 待浏览三维场景的三维数据通过三维地图服务引擎,在显示终端上构建三维球面场景,本发明中用到的三维数据包括dom、dem、三维倾斜数据等。
[0059] (2)设置飞行路径的起始节点、终止节点以及从起始节点P0到终止节点PN的各飞行节点Pn的位置和所有节点对应的观察视线参数;n=1,2,…,N‑1;N+1为飞行节点个数;观察
视线参数包括方向角heading、倾斜角pitch和翻滚角roll;
[0060] (3)设置每个飞行段的飞行时间;第n个飞行段为Pn‑1到Pn的线段;每段的飞行时间可以根据需求设定;本实施例采用如下方法来计算第n个飞行段的默认飞行时间Tn:
[0061]
[0062] 其中(Xn,Yn,Zn)为飞行节点Pn的坐标。
[0063] 上述公式计算的飞行时间与飞行段两端的节点间的水平距离成正比,与两点的平均高度成反比;这样在步骤(4)中计算出的速度为:两端节点的水平距离越大,速度越慢,两
端节点的高度越高,速度越快。且相邻飞行段的速度受其公共飞行节点高度的限制,使飞行
浏览在相邻飞行段实现平滑过渡达到流畅的效果。
[0064] (4)在三维场景中,从起始节点开始依次浏览每个飞行段,直到终止节点;第n个飞行段的速度为: |Pn‑1Pn|为Pn‑1到Pn的距离。
[0065] 上述步骤实现了从飞行路径起点到终点的飞行浏览,即从0时刻开始浏览三维场景。在一些情况下,需要从给定的时间开始飞行浏览,而不是从0时刻。为实现此功能,本发
明公开的三维地图飞行浏览方法还包括从设定的时间T开始进行飞行浏览,具体包括:
[0066] (2.1)计算飞行路径上时间T所对应的位置P(X,Y,Z)和位置P对应的视线参数,具体包括:
[0067] (2.1.1)获取时间T所对应的飞行段:从起始节点P0开始,寻找满足条件:
[0068] 的节点Pm,则时间T所对应的飞行段为从Pm到Pm+1的线段;
[0069] (2.1.2)计算时间T在飞行段中的比例R:
[0070] (2.1.3)计算时间T所对应的位置P(X,Y,Z):
[0071]
[0072] 计算位置P对应的视线参数:
[0073]
[0074] 其中(Xm,Ym,Zm)为节点Pm的坐标,headingm,pitchm,rollm分别为节点Pm对应的视线参数。
[0075] 如图2所示,飞行路径为从A依次经过B、C、D到达E的路径,给定时间T,按照步骤(2.1.1)到(2.1.3)计算得到时间T对应的飞行段为线段CD,根据时间T在CD中的比例计算得
到点P的位置和点P对应的观察视线参数。
[0076] (2.2)在三维场景中,从位置P开始依次浏览P到终止节点PN之间的每个飞行段。
[0077] 浏览方式为定时更新场景中的视点位置和视线参数,本实施例中,设置时长为50ms的定时器定时刷新视点位置和观察视线参数,使三维场景的飞行浏览实现流畅的效
果。
[0078] 基于上述步骤,在单条飞行路径的浏览过程中,可以实现播放、暂停和进度滑动条拖动的功能,也可以给定飞行路径上一个位置P,在三维场景中,从位置P开始依次浏览P到
终止节点PN之间的每个飞行段。
[0079] 实现上述三维地图飞行浏览的系统如图3所示,包括:
[0080] 三维场景构建模块1,用于构建待浏览的三维场景;
[0081] 飞行路径和飞行节点管理模块2,用于设置并管理飞行路径的起始节点、终止节点以及从起始节点到终止节点的各飞行节点的位置和所有节点对应的观察视线参数;所述管
理包括:飞行路径和飞行节点的查询、添加、修改、删除;还用于管理多条飞行路径,所述对
多条飞行路径的管理包括:排序、选中、切换;观察视线参数包括方向角heading、倾斜角
pitch和翻滚角roll。
[0082] 飞行时间设置模块3,用于设置每个飞行段的飞行时间;第n个飞行段为Pn‑1到Pn的线段,飞行时间为Tn;
[0083] 飞行浏览模块4,用于在三维场景中,从起始节点开始依次浏览每个飞行段,直到终止节点;第n个飞行段的速度为: |Pn‑1Pn|为Pn‑1到Pn的距离;
[0084] 浏览控制模块5,用于从给定的时间T开始进行飞行浏览;所述浏览控制模块采用如下步骤实现从给定的时间T开始进行飞行浏览:
[0085] (2.1)计算飞行路径上时间T所对应的位置P(X,Y,Z)和位置P对应的视线参数;
[0086] (2.2)在三维场景中,从位置P开始依次浏览P到终止节点PN之间的每个飞行段。
[0087] 本实施例中,上述三维地图飞行浏览系统采用服务器‑终端分离的B/S架构,如图4所示,其中终端为显示三维场景的用户终端;
[0088] 服务器包括:
[0089] 文件服务器,用于存储待浏览场景的三维数据,所述三维数据包括:dom、dem、三维倾斜数据;
[0090] 数据库服务器,用于存储飞行路径和飞行节点、飞行段的信息;数据库服务器还可以用来存储用户和用户组信息,用于对用户的管理;
[0091] GIS服务器,用于存储待浏览场景的底图数据;
[0092] 业务服务器,用于为终端提供业务请求响应服务;
[0093] 各服务器对外提供服务接口。
[0094] 当对飞行路径或飞行节点进行设置或管理时,终端通过业务服务器向数据库服务器发送服务请求,进行飞行路径或飞行节点的添加、查询、修改或删除。并根据编辑后的飞
行路径或飞行节点计算飞行段默认的飞行时间。飞行段的飞行时间可以进行修改。数据库
服务器完成服务后,通过业务服务器将结果返回给终端。
[0095] 采用B/S架构,可以实现不同数据快速读取以及不同终端的数据共享。特别是将飞行路径和飞行节点、飞行段的信息存储于数据库服务器,可以实现不同终端以及不同用户
组间的共享飞行路径。
[0096] 本发明实施例中还公开了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述三维地图飞行浏览方法的步骤。其中,三维地图飞行浏览方
法请参见前述部分的描述,不再赘述。