一种交互式实景三维航道的构建方法
文献发布时间:2024-01-17 01:15:20
技术领域
该交互式实景三维航道的构建方法,属于航道管理领域。其基于数字孪生技术进行内河航道实景仿真,实现数字航道实时显示,从而达到了通过交互查看船舶、航标水上目标信息的目的。
背景技术
在内河航道的运输管理中,及时获取并掌握内河航道环境信息及水上目标信息对于航道通航管理、维护航道、感知航道危险情况具有重要意义。迅速直观的了解内河航道的具体信息能够帮助管理者有效的管理船舶停放、维修故障航标,减少获取信息的时间从而提高管理者对内河航道管理的反应速度和效率。
传统的航道管理方式主要有人工管理和二维可视化管理。人工管理的方式主要是通过在航道上人为观测船舶与航标,对于位置和距离的把握程度有限,寻找产生大偏移航标也比较困难;二维可视化管理的方式解决了人为观测的误差问题,提高了管理效率,但是对于整个航道的表达能力有限,有一定抽象性,无法体现场景高度。现有的航道管理方式通过三维航道的构建方案,在一定程度上解决了传统航道管理方式存有的以上问题。现有的三维航道的构建方案如申请公布号为CN113538679A的发明专利申请公布的一种混合实景三维航道的构建方法,其主要通过获取栅格形式的航道区域陆地高程数据来构建航道并进行贴图,再结合三维模型进行点缀,虽然完成了实景航道的搭建,但是缺少场景真实度和交互性。
由此有必要研发一种新的实景三维航道的构建方法,以解决现有三维航道的构建方法存有的以上方面的问题。
发明内容
本发明的目的在于:提供一种交互式实景三维航道的构建方法,使其通过倾斜摄影技术、三维可视化技术进行内河航道实景仿真,实现数字航道实时显示,从而达到了通过交互查看船舶、航标水上目标信息的目的,以解决现有三维航道的构建方法存有的缺少场景真实度和交互性的问题。
本发明的技术方案:
1、一种交互式实景三维航道的构建方法,其特征在于,包含以下步骤:
步骤1、获取全球地图的瓦片数据,构建出按区域分层级的三维地球;
所述的步骤1中,所述全球地图瓦片数据可以通过网络上的各种地图下载器获得,本方案使用全能电子地图下载器3.0进行地图瓦片下载;其中,地图瓦片的层级越高,构成的地图显示精度就越高,但是所需的内存空间也会越多;为了使用户能拥有完整的地图体验,首先使用1~15层级地图瓦片,用于构建整个三维地球,同时兼顾了存储空间消耗和显示效果;航道部分为重点关注对象,因此需要构建高精度的地图区域,所以航道部分使用1~20层级地图瓦片,用于展示高精度航道地图;具体的实施步骤为从网络中获取全球的1~15层级地图瓦片和航道区域的1~20层级地图瓦片,将两种地图瓦片数据文件直接合并完成瓦片数据的融合,之后调用超图地理引擎的API将融合的地图瓦片进行加载,如此即可得到构建的三维地球。
步骤2、获取标准OSGB格式的倾斜摄影模型数据,构建出倾斜摄影模型;
步骤2中,所述OSGB格式的倾斜摄影模型数据向湖北煜途地理信息技术有限公司进行委托获取;得到倾斜摄影模型数据后便可以开始构建倾斜摄影模型,首先使用超图软件创建出一个球面场景,然后为所有的倾斜摄影模型数据生成对应的配置文件,之后使用配置文件将各个倾斜摄影模型文件导入到球面场景中,此时倾斜摄影模型将可以显示在球面场景中,如此即可完成倾斜摄影模型的构建。
步骤3、依据步骤2中的倾斜摄影模型采集出航道河岸的坐标数据,构建出航道水面区域;
步骤3中,所述构成航道水面区域的坐标点数据依赖超图软件和倾斜摄影模型手动采集获得;为了手工绘制的水面能够与倾斜摄影模型完美贴合,需要在球面场景中的倾斜摄影模型边缘进行坐标点采集;首先,在超图软件中新建空白数据集,并设置为多边形类型,设置为多边形的目的是为了在采集坐标点的过程中更够更好的观察水面区域的绘制情况,之后切换视角到倾斜摄影模型中的航道区域,通过不断点击航道两岸的位置对河岸的地理位置信息进行采集,依此作为水面的形状,如果需要绘制的水面区域比较大,一次性绘制会导致内存崩溃,此时需要通过分段的方式,将整片大水面区域分割成多个小段的区域进行绘制;最后,将绘制的不同水面段之间的对接处进行坐标调整,使其能够完美接合,完成整个水面的绘制,如此即可构建出航道水面区域。
步骤4、对步骤3中绘制的航道水面区域进行贴图,完成航道水面的构建;
步骤4、对步骤3中绘制的航道水面区域进行贴图,绘制完成后,选中绘制的多边形,打开其属性栏,选择“平静水面”纹理贴图对绘制的水面进行渲染,使其表现为真实水面的状态,即可完成航道水面的构建。
步骤5、对步骤2到步骤4中构建的包含倾斜摄影模型和航道水面的的球面场景进行压缩和打包,部署到服务器上;
步骤5中,由于球面场景中OSGB格式的倾斜摄影模型数据体量大,无法在网页端直接进行显示,因此需要对其进行压缩处理,使用超图软件自带的“倾斜入库”功能对倾斜摄影模型进行压缩,变成超图软件能识别的特殊缓存格式,这种格式的倾斜摄影模型能够根据观测者距离的大小表现为不同精度的状态,能够节约计算机的性能消耗,之后用倾斜摄影模型缓存替换掉球面场景中的倾斜摄影模型,将整个球面场景打包部署到专用文件服务器上,通过超图地理引擎进行调用,从而显示在步骤1构建的三维地球中。
步骤6、依据现实航道场景中的航标和部分船舶建立对应的航标三维模型和船舶三维模型;
步骤6中,所述的航标三维模型和船舶三维模型通过观测现实航道中的航标和来往船舶,使用三维建模软件blender人工进行仿真构建获得;由于超图地理引擎的API接口只支持GLTF格式的模型文件,所以建好的航标三维模型和船舶三维模型在导出时要选择对应的格式。
步骤7、将步骤6中的船舶三维模型和航标三维模型添加到步骤1的三维地球中,并从MySQL数据库中读取航标的信息,从船讯网获取船舶信息,分别绑定到航标三维模型和船舶三维模型中;
步骤7中所述的航标三维模型和船舶三维模型的绑定方法操作为:首先从MySQL数据库中读取航标的信息,从船讯网获取船舶信息;随后根据航标和船舶的位置信息和姿态信息,通过超图地理引擎提供的API接口将建好的航标三维模型和船舶三维模型加载到三维地球当中;由于加载进三维地球中的球面场景中的水面高度并非完全一致,直接将船舶和航标以统一的高度加载进去将会出现船舶或航标悬浮在水面上方或者是被淹没在水面下方的情况;为解决这一问题,可以在超图软件中导出步骤三中航道区域的所有水面点坐标,随后利用船舶的当前坐标搜寻距离最近的多个水面点坐标,利用这些水面点坐标与船舶坐标的距离进行船舶坐标的水面高度插值计算,得到该水面位置的大致高度,从而得到了该船舶应设置的高度,航标的加载同理。
步骤8、添加功能,使用户可以自由漫游实景航道,并可以通过点击交互查看航标和船舶的状态;
在加载船舶三维模型和航标三维模型到三维地球中后,将MySQL数据库中的航标数据绑定到航标三维模型上,使得航标三维模型在被点击后能够显示出包含基本参数、实时状态以及报警状态信息的界面,将船讯网的船舶数据绑定到船舶三维模型上,使得船舶三维模型在被点击后能够显示出包含了基本参数、实时航速、船舶编号信息的弹窗;如此即可完成交互式实景三维航道的构建。
本发明的优点在于:
该交互式实景三维航道的构建方法,属于航道管理领域。其基于数字孪生技术进行内河航道实景仿真,实现数字航道实时显示,达到了通过交互查看船舶、航标水上目标信息的目的,解决了现有三维航道的构建方法存有的缺少场景真实度和交互性的问题,满足了航道管理使用的需要。
说明书附图
图1为使用本发明对汉江部分航道进行构建时步骤1中得到的三维地球图;
图2为使用本发明对汉江部分航道进行构建时步骤2中得到的倾斜摄影模型图;
图3为使用本发明对汉江部分航道进行构建时步骤3中得到的航道水面区域图;
图4为使用本发明对汉江部分航道进行构建时步骤4中得到的航道水面的构建图;
图5为使用本发明对汉江部分航道进行构建时步骤6中得到的航标三维模型和船舶三维模型图;
图6为使用本发明对汉江部分航道进行构建时步骤8中得到的航标三维模型和船舶三维模型图实景三维航道图。
具体实施方式
一种交互式实景三维航道的构建方法,其特征在于,包含以下步骤:
步骤1、获取全球地图的瓦片数据,构建出按区域分层级的三维地球;
所述的步骤1中,所述全球地图瓦片数据可以通过网络上的各种地图下载器获得,本方案使用全能电子地图下载器3.0进行地图瓦片下载;其中,地图瓦片的层级越高,构成的地图显示精度就越高,但是所需的内存空间也会越多;为了使用户能拥有完整的地图体验,首先使用1~15层级地图瓦片,用于构建整个三维地球,同时兼顾了存储空间消耗和显示效果;航道部分为重点关注对象,因此需要构建高精度的地图区域,所以航道部分使用1~20层级地图瓦片,用于展示高精度航道地图;具体的实施步骤为从网络中获取全球的1~15层级地图瓦片和航道区域的1~20层级地图瓦片,将两种地图瓦片数据文件直接合并完成瓦片数据的融合,之后调用超图地理引擎的API将融合的地图瓦片进行加载,如此即可得到构建的三维地球;
步骤2、获取标准OSGB格式的倾斜摄影模型数据,构建出倾斜摄影模型;
步骤2中,所述OSGB格式的倾斜摄影模型数据向湖北煜途地理信息技术有限公司进行委托获取;得到倾斜摄影模型数据后便可以开始构建倾斜摄影模型,首先使用超图软件创建出一个球面场景,然后为所有的倾斜摄影模型数据生成对应的配置文件,之后使用配置文件将各个倾斜摄影模型文件导入到球面场景中,此时倾斜摄影模型将可以显示在球面场景中,如此即可完成倾斜摄影模型的构建;
步骤3、依据步骤2中的倾斜摄影模型采集出航道河岸的坐标数据,构建出航道水面区域;
步骤3中,所述构成航道水面区域的坐标点数据依赖超图软件和倾斜摄影模型手动采集获得;为了手工绘制的水面能够与倾斜摄影模型完美贴合,需要在球面场景中的倾斜摄影模型边缘进行坐标点采集;首先,在超图软件中新建空白数据集,并设置为多边形类型,设置为多边形的目的是为了在采集坐标点的过程中更够更好的观察水面区域的绘制情况,之后切换视角到倾斜摄影模型中的航道区域,通过不断点击航道两岸的位置对河岸的地理位置信息进行采集,依此作为水面的形状,如果需要绘制的水面区域比较大,一次性绘制会导致内存崩溃,此时需要通过分段的方式,将整片大水面区域分割成多个小段的区域进行绘制;最后,将绘制的不同水面段之间的对接处进行坐标调整,使其能够完美接合,完成整个水面的绘制,如此即可构建出航道水面区域;
在这个过程中,将可能发现绘制的水面出现问题,例如采集点过高、错位、采空点,对于遇到的这些问题,可以通过在场景中调整坐标点的位置来解决。
步骤4、对步骤3中绘制的航道水面区域进行贴图,完成航道水面的构建。
步骤4、对步骤3中绘制的航道水面区域进行贴图,绘制完成后,选中绘制的多边形,打开其属性栏,选择“平静水面”纹理贴图对绘制的水面进行渲染,使其表现为真实水面的状态,即可完成航道水面的构建;
步骤5、对步骤2到步骤4中构建的包含倾斜摄影模型和航道水面的的球面场景进行压缩和打包,部署到服务器上;
步骤5中,由于球面场景中OSGB格式的倾斜摄影模型数据体量大,无法在网页端直接进行显示,因此需要对其进行压缩处理,使用超图软件自带的“倾斜入库”功能对倾斜摄影模型进行压缩,变成超图软件能识别的特殊缓存格式,这种格式的倾斜摄影模型能够根据观测者距离的大小表现为不同精度的状态,能够节约计算机的性能消耗,之后用倾斜摄影模型缓存替换掉球面场景中的倾斜摄影模型,将整个球面场景打包部署到专用文件服务器上,通过超图地理引擎进行调用,从而显示在步骤1构建的三维地球中;
步骤6、依据现实航道场景中的航标和部分船舶建立对应的航标三维模型和船舶三维模型;
步骤6中,所述的航标三维模型和船舶三维模型通过观测现实航道中的航标和来往船舶,使用三维建模软件blender人工进行仿真构建获得;由于超图地理引擎的API接口只支持GLTF格式的模型文件,所以建好的航标三维模型和船舶三维模型在导出时要选择对应的格式。
步骤7、将步骤6中的船舶三维模型和航标三维模型添加到步骤1的三维地球中,并从MySQL数据库中读取航标的信息,从船讯网获取船舶信息,分别绑定到航标三维模型和船舶三维模型中;
步骤7中所述的航标三维模型和船舶三维模型的绑定方法操作为:首先从MySQL数据库中读取航标的信息,从船讯网获取船舶信息;随后根据航标和船舶的位置信息和姿态信息,通过超图地理引擎提供的API接口将建好的航标三维模型和船舶三维模型加载到三维地球当中;由于加载进三维地球中的球面场景中的水面高度并非完全一致,直接将船舶和航标以统一的高度加载进去将会出现船舶或航标悬浮在水面上方或者是被淹没在水面下方的情况;为解决这一问题,可以在超图软件中导出步骤三中航道区域的所有水面点坐标,随后利用船舶的当前坐标搜寻距离最近的多个水面点坐标,利用这些水面点坐标与船舶坐标的距离进行船舶坐标的水面高度插值计算,得到该水面位置的大致高度,从而得到了该船舶应设置的高度,航标的加载同理。
航标的平面位置信息由搭载的GPS获取,状态信息由现实航道中航标上的传感器采集而来,通过终端发送到响应服务器并保存到数据库中,我们优选的是MySQL数据库,船舶的实时信息由船讯网提供的网络API访问得到。
步骤8、添加功能,使用户可以自由漫游实景航道,并可以通过点击交互查看航标和船舶的状态。
在加载船舶三维模型和航标三维模型到三维地球中后,将MySQL数据库中的航标数据绑定到航标三维模型上,使得航标三维模型在被点击后能够显示出包含基本参数、实时状态以及报警状态信息的界面,将船讯网的船舶数据绑定到船舶三维模型上,使得船舶三维模型在被点击后能够显示出包含了基本参数、实时航速、船舶编号信息的弹窗。如此即可完成交互式实景三维航道的构建。
上述步骤中通过使用委托湖北煜途地理信息技术有限公司构建的倾斜摄影模型文件,使得构建的三维航道具有极高的仿真效果,其原理在于倾斜摄影模型文件构建过程中使用了无人机拍摄的海量不同角度的高清航道照片,利用这些真实照片结合倾斜摄影建模技术进行建模,得到的倾斜摄影模型文件具有高度的真实场景还原性。步骤中使用了超图地理引擎编写代码,将数据库中保存的信息绑定到场景中的航标和船舶中,通过设置点击响应的方式完成了场景中的点击交互功能,使得构建的场景不仅能漫游,还具有场景物体交互性。如此即可解决现有三维航道的构建方法存有的缺少场景真实度和交互性的问题。
为了验证本申请的使用效果,申请人对汉江其中75公里的航道使用该方法进行了具体的构建,构建方式如下:
步骤1、获取全球地图的瓦片数据,构建出按区域分层级的三维地球;
所述的步骤1中,所述全球地图瓦片数据可以通过网络上的各种地图下载器获得,本方案使用全能电子地图下载器3.0进行地图瓦片下载;其中,地图瓦片的层级越高,构成的地图显示精度就越高,但是所需的内存空间也会越多;为了使用户能拥有完整的地图体验,首先使用1~15层级地图瓦片,用于构建整个三维地球,同时兼顾了存储空间消耗和显示效果;航道部分为重点关注对象,因此需要构建高精度的地图区域,所以航道部分使用1~20层级地图瓦片,用于展示高精度航道地图;具体的实施步骤为从网络中获取全球的1~15层级地图瓦片和航道区域的1~20层级地图瓦片,将两种地图瓦片数据文件直接合并完成瓦片数据的融合,之后调用超图地理引擎的API将融合的地图瓦片进行加载,如此即可得到构建的三维地球(参见说明书附图1);
步骤2、获取标准OSGB格式的倾斜摄影模型数据,构建出倾斜摄影模型;
步骤2中,所述OSGB格式的倾斜摄影模型数据向湖北煜途地理信息技术有限公司进行委托获取;得到倾斜摄影模型数据后便可以开始构建倾斜摄影模型,首先使用超图软件创建出一个球面场景,然后为所有的倾斜摄影模型数据生成对应的配置文件,之后使用配置文件将各个倾斜摄影模型文件导入到球面场景中,此时倾斜摄影模型将可以显示在球面场景中,如此即可完成倾斜摄影模型的构建(参见说明书附图2);
步骤3、依据步骤2中的倾斜摄影模型采集出航道河岸的坐标数据,构建出航道水面区域;
步骤3中,所述构成航道水面区域的坐标点数据依赖超图软件和倾斜摄影模型手动采集获得;为了手工绘制的水面能够与倾斜摄影模型完美贴合,需要在球面场景中的倾斜摄影模型边缘进行坐标点采集;首先,在超图软件中新建空白数据集,并设置为多边形类型,设置为多边形的目的是为了在采集坐标点的过程中更够更好的观察水面区域的绘制情况,之后切换视角到倾斜摄影模型中的航道区域,通过不断点击航道两岸的位置对河岸的地理位置信息进行采集,依此作为水面的形状,如果需要绘制的水面区域比较大,一次性绘制会导致内存崩溃,此时需要通过分段的方式,将整片大水面区域分割成多个小段的区域进行绘制;最后,将绘制的不同水面段之间的对接处进行坐标调整,使其能够完美接合,完成整个水面的绘制,如此即可构建出航道水面区域(参见说明书附图3);
在这个过程中,将可能发现绘制的水面出现问题,例如采集点过高、错位、采空点,对于遇到的这些问题,可以通过在场景中调整坐标点的位置来解决。
步骤4、对步骤3中绘制的航道水面区域进行贴图,完成航道水面的构建。
步骤4、对步骤3中绘制的航道水面区域进行贴图,绘制完成后,选中绘制的多边形,打开其属性栏,选择“平静水面”纹理贴图对绘制的水面进行渲染,使其表现为真实水面的状态,即可完成航道水面的构建(参见说明书附图4);
步骤5、对步骤2到步骤4中构建的包含倾斜摄影模型和航道水面的的球面场景进行压缩和打包,部署到服务器上;
步骤5中,由于球面场景中OSGB格式的倾斜摄影模型数据体量大,无法在网页端直接进行显示,因此需要对其进行压缩处理,使用超图软件自带的“倾斜入库”功能对倾斜摄影模型进行压缩,变成超图软件能识别的特殊缓存格式,这种格式的倾斜摄影模型能够根据观测者距离的大小表现为不同精度的状态,能够节约计算机的性能消耗,之后用倾斜摄影模型缓存替换掉球面场景中的倾斜摄影模型,将整个球面场景打包部署到专用文件服务器上,通过超图地理引擎进行调用,从而显示在步骤1构建的三维地球中;
步骤6、依据现实航道场景中的航标和部分船舶建立对应的航标三维模型和船舶三维模型(参见说明书附图5);
步骤6中,所述的航标三维模型和船舶三维模型通过观测现实航道中的航标和来往船舶,使用常见的三维建模软件blender人工进行仿真构建获得;由于超图地理引擎的API接口只支持GLTF格式的模型文件,所以建好的航标三维模型和船舶三维模型在导出时要选择对应的格式。
步骤7、将步骤6中的船舶三维模型和航标三维模型添加到步骤1的三维地球中,并从MySQL数据库中读取航标的信息,从船讯网获取船舶信息,绑定到船舶三维模型和航标三维模型中;
步骤7中,所述的船舶三维模型和航标三维模型添加方法操作为:首先从MySQL数据库中读取航标的信息,从船讯网获取船舶信息;随后根据航标和船舶的位置信息和姿态信息,通过超图地理引擎提供的API接口将建好的航标三维模型和船舶三维模型加载到三维地球当中;由于加载进三维地球中的球面场景中的水面高度并非完全一致,直接将船舶和航标以统一的高度加载进去将会出现船舶或航标悬浮在水面上方或者是被淹没在水面下方的情况;为解决这一问题,可以在超图软件中导出步骤三中航道区域的所有水面点坐标,随后利用船舶的当前坐标搜寻距离最近的多个水面点坐标,利用这些水面点坐标与船舶坐标的距离进行船舶坐标的水面高度插值计算,得到该水面位置的大致高度,从而得到了该船舶应设置的高度,航标的加载同理。
航标的平面位置信息由搭载的GPS获取,状态信息由现实航道中航标上的传感器采集而来,通过终端发送到响应服务器并保存到数据库中,我们优选的是MySQL数据库,船舶的实时信息由船讯网提供的网络API访问得到。
步骤8、添加功能,使用户可以自由漫游实景航道,并可以通过点击交互查看航标和船舶的状态。
在加载船舶三维模型和航标三维模型到三维地球中后,将MySQL数据库中的航标数据绑定到航标三维模型上,使得航标三维模型在被点击后能够显示出包含基本参数、实时状态以及报警状态信息的界面,将船讯网的船舶数据绑定到船舶三维模型上,使得船舶三维模型在被点击后能够显示出包含了基本参数、实时航速、船舶编号信息的弹窗。如此即可完成交互式实景三维航道的构建(参见说明书附图6)。
该交互式实景三维航道的构建方法,属于航道管理领域。其基于数字孪生技术进行内河航道实景仿真,实现数字航道实时显示,达到了通过交互查看船舶、航标水上目标信息的目的,解决了现有三维航道的构建方法存有的缺少场景真实度和交互性的问题,满足了航道管理使用的需要。
- 一种实景三维数字孪生航道场景构建方法
- 一种混合实景三维航道场景构建方法