生成可航水域的方法、装置、电子设备及存储介质与流程

文档序号:30986218发布日期:2022-08-03 01:33阅读:119来源:国知局
生成可航水域的方法、装置、电子设备及存储介质与流程

1.本发明涉及船舶智能航行领域,尤其涉及一种生成可航水域的方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机技术、通信技术和传感器技术的发展,无人船逐渐成为水上交通领域的研究热点。它涉及航线规划、智能避碰、航行环境感知、船舶运动控制等多方面的技术。其中,航线规划是实现无人船自主航行的关键,是无人船的核心技术问题,其主要目的是根据船舶可航水域与非可航水域分布情况,综合考虑无人船的运动学和动力学约束,自动规划出一条从出发点到目的点的可执行路径。从无人船航线规划的概念不难看出,尽管航线规划需要考虑运动学约束、动力学约束、出发点、目的点等多方面的因素,但是确定船舶可航水域是航线规划的前提条件。
3.而对于有驾驶员的船舶来说,驾驶员进行人工确定可航水域,存在不定性因素。因此,无论是无人船还是具有驾驶员的船舶都需要一种可以生成航水域的方法,来确定可航水域。


技术实现要素:

4.本发明实施例提供一种生成可航水域的方法、装置、电子设备及存储介质,以实现有针对性的生成船舶的可航水域,提高可航水域生成的准确性。
5.第一方面,本发明实施例提供了一种生成可航水域的方法,包括:在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与所述船舶对应的第二数据;其中,所述预设范围是基于所述船舶确定的;所述第一数据包括水深点的位置数据和水深数据,所述第二数据包括所述船舶的吃水数据和富裕水深数据;基于各水深点的第一数据建立与水下地形对应的三维模型;基于所述第二数据确定等深平面;基于所述等深平面和所述三维模型,生成所述船舶的可航水域。
6.优选的,在本发明实施例中,所述基于各水深点的第一数据建立与水下地形对应的三维模型,包括:针对每个水深点的位置数据和水深数据,对所述位置数据和所述水深数据进行处理,得到每个水深点的空间坐标;根据预设算法对每个水深点的空间坐标进行处理,得到与每个空间坐标对应的三角形网络;其中,所述三角形网络包括至少三个空间三角形,所述空间三角形的各顶点由水深点组成。
7.优选的,在本发明实施例中,所述基于所述等深平面和所述三维模型,生成所述船舶的可航水域,包括:针对每个空间三角形,判定所述空间三角形与所述等深平面是否存在相交线段;若是,确定所述相交线段为等深线段;基于至少三条等深线段生成所述船舶的所述可航水域。
8.优选的,在本发明实施例中,所述基于至少三条等深线段生成所述船舶的所述可航水域,包括:当相邻的两条等深线段的端点之间的距离小于预设阈值,基于所述两条等深
线段,得到等深折线段;基于至少三条等深折线段得到至少一个等深多边形;基于所述至少一个等深多边形生成所述船舶的所述可航水域。
9.优选的,在本发明实施例中,所述基于所述至少一个等深多边形生成所述船舶的所述可航水域,包括:针对任一位置点,若包围所述位置点的等深多边形的数量为奇数,则确定所述位置点为可航点,所述位置点是根据航道图得到的,所述位置点包括所述位置数据;基于各个可航点,生成所述可航水域。
10.优选的,在本发明实施例中,在所述确定所述相交线段为等深线段之后,还包括:获取边界平面,并基于所述边界平面更新各等深线段;其中,所述边界平面为垂直于图幅边界的平面;所述基于所述边界平面更新各等深线段,包括:若存在任一等深线段与所述边界平面相交,获得相交点;并基于预设规则判定是否将所述等深线段的一端点替换为所述相交点;若是,则基于所述相交点与等深线段的另一端点更新所述等深线段。
11.优选的,在本发明实施例中,在所述针对每个空间三角形,判定所述空间三角形与所述等深平面是否存在相交线段之后,还包括:针对每个空间三角形,获取所述空间三角形被所述相交线段划分的两个局部区域、每个局部区域中的顶点的第一纵坐标以及所述相交线段的第二纵坐标,基于所述第一纵坐标和所述第二纵坐标对所述两个局部区域进行处理,得到初始可航子水域;基于每个所述初始可航子水域,得到初始可航水域;所述基于所述至少一个等深多边形生成所述船舶的所述可航水域,包括:基于所述至少一个等深多边形和所述初始可航水域生成所述船舶的可航水域。
12.第二方面,本发明实施例还提供了一种可航水域确定装置,其特征在于,包括:数据获取模块,用于在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与所述船舶对应的第二数据;其中,所述预设范围是基于所述船舶确定的;所述第一数据包括水深点的位置数据和水深数据,所述第二数据包括所述船舶的吃水数据和富裕水深数据;模型建立模块,用于基于各水深点的第一数据建立与水下地形对应的三维模型;平面确定模块,用于基于所述第二数据确定等深平面;可航水域生成模块,用于基于所述等深平面和所述三维模型,生成所述船舶的可航水域。
13.第三方面,本发明实施例还提供了一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任一实施例中的生成可航水域的方法。
14.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任一实施例中的生成可航水域的方法。
15.本发明实施例的技术方案,通过在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据。预设范围是基于船舶确定的;第一数据包括水深点的位置数据和水深数据,第二数据包括船舶的吃水数据和富裕水深数据。基于等深平面和三维模型,生成船舶的可航水域。本发明实施例的技术方案实现了根据位置数据、水深数据、船舶的吃水数据以及富裕水深数据生成船舶的可航水域,针对不同的船舶生成可航水域,提高了可航水域生成的准确性和实时性。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.其中:
18.图1为本发明实施例一所提供的一种生成可航水域的方法的流程示意图;
19.图2为本发明实施例二所提供的一种生成可航水域的方法的流程示意图;
20.图3为本发明实施例二所提供的一种空间三角形的示意图;
21.图4为本发明实施例二所提供的一种初始可航子水域的示意图;
22.图5为本发明实施例二所提供的一种图幅边界的示意图;
23.图6为本发明实施例二所提供的一种可航点的示意图;
24.图7为本发明实施例二所提供的一种可航水域显示的示意图;
25.图8为本发明实施例三所提供的一种生成可航水域的系统的结构示意图;
26.图9为本发明实施例三所提供的一种生成可航水域的系统实现过程的示意图;
27.图10为本发明实施例四所提供的一种生成可航水域的装置的结构示意图;
28.图11为本发明实施例五所提供的一种电子设备的结构示意图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.在阐述本发明实施例的技术方案之前,先对本发明实施例的应用场景进行示例性说明:
31.本发明实施例的生成可航水域的方法可以适用于对无人船以及具有驾驶员的船舶的可航水域的生成。无人船涉及航线规划、智能避障、航行环境感知、船舶运动控制等多方面的技术。航线规划是实现无人船自主航行的关键,而生成船舶的可航水域是进行航线规划的前提,因此,对于无人船的航行而言,生成符合无人船自身特点并符合无人船所在航道线特点的可航水域是至关重要的。对于具有驾驶员的船舶而言,船舶在航行过程中,水深数据是随时变化的,为了避免发生触礁等事故,驾驶人员需要根据水深数据,及时调整航行的速度、经纬度等,以使船舶可以安全抵达目的地。在船舶航行前以及航行过程中,可航水域的判定需要凭借驾驶员的经验,具有不定性。本发明实施例的技术方案可以根据现有的船舶的吃水数据、航道图中的数据等生成可航水域,驾驶员可以根据可航水域出航,提高了航行的安全性以及稳定性。
32.实施例一
33.图1为本发明实施例所提供的一种生成可航水域的方法的流程示意图,本实施例可适用于根据船舶和航道图等信息生成可航水域的情况,该方法可以由生成可航水域的装置来执行,该装置可以通过软件和/或硬件的形式实现。
34.如图1所示,本发明实施例的生成可航水域的方法具体包括:
35.s110、在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据。
36.其中,预设范围是基于船舶确定的。可选地,以船舶为中心,以预设长度为半径做圆,圆内的范围为预设范围。或者,以船舶为中心,设置矩形范围作为预设范围。需要说明的是,在船舶为无人船的情况下,预设范围包括无人船的起始点和终点。在船舶为具有驾驶员的情况下,预设范围随着船舶的移动而发生移动,并始终以船舶为中心,进而得到的水深点随着船舶的移动发生变化,根据水深点得到的可航水域随着水深点的更新而发生更新。第一数据包括水深点的位置数据和水深数据,第二数据包括船舶的吃水数据和富裕水深数据。位置数据是指可以表示水深点的具体位置,可以是经度、纬度数据,也可以是建立三维坐标系,在三维坐标系内的位置数据。水深点是指具有水深数据的位置点。水深数据是指水底各点到水面的距离。吃水数据是指船舶浸到水里的深度,也即船舶的底部至船体与水面相连处的垂直距离。富裕水深数据是指设计船舶在标准载重静浮状态时,船底龙骨下至航道底的最小距离。
37.具体的,可以通过获取电子航道图,并解析电子航道图文件,获取各水深点的图示水深数据,进而计算得到水深数据,以及位置数据。获取船舶的吃水数据和富裕水深数据。通过获取第一数据和第二数据为后续进行三维模型的建立做准备工作。
38.进一步的,在本发明实施例中,吃水数据可以是通过安装雷达液位计测量水面到雷达液位计的l1,再根据雷达液位计的安装位置,计算得到雷达液位计到船舶基平面的距离l2,则吃水数据为距离l2与距离l1之差。在本发明实施例中,测量船舶的六面的单侧吃水数据,其中,六面包括船艏左舷、船艏右舷、船舯左舷、船舯右舷、船艉左舷以及船艉右舷。需要说明的是,在本发明实施例中,船舶的吃水数据是指最大吃水数据,也即六面的吃水数据中的最大值。
39.进一步的,在本发明实施例中,水深数据还可以是根据下述方法获取的数据:在电子航道图中确定待计算可航水域:对于有驾驶员的船舶来说,以船位点为中心,以预设半径圈出圆形区域,则圆内水域为船舶的待计算可航水域。对于无人驾驶船舶来说,以起始点和终点为顶点,作一个矩形,矩形内的区域为船舶的待计算可航水域。获取电子航道图文件,并解析电子航道图文件,获取具有位置信息的水深点的图示水深数据其中,表示水深点的纬度,λa表示水深点的经度,h
chart
表示水深点的图示水深数据。图示水深数据是指水面到水底的垂直距离。之后,获取与船舶航线相关的实时水位数据,比如,可以利用爬虫工具实时提取长江水文网站上的实时水位数据。获取待计算可航水域内各水深点的实时水位数据可以通过内插法并结合航道的比降对待计算实时水位数据进行处理,得到待计算可航水域内各水深点的实时水位数据然后,根据航道基准水位数据、实时水位数据、图示水深数据计算各水深点的水深数据,公式如下:
40.ha=h
chart
+(h
level-h
base
)
41.其中,ha表示水深数据,h
base
表示航道基准水位数据,h
level
表示实时水位数据,h
chart
表示图示水深数据,a表示水深点的编号。通过上述公式可以得到的实时的各水深点的水深数据。
42.s120、基于各水深点的第一数据建立与水下地形对应的三维模型。
43.其中,三维模型是指水下地形的模型,可以描述水下地形特点。
44.具体的,根据各水深点的位置数据和水深数据,建立三维模型,根据水深数据可以确定水深点的水下地形情况,因此,建立的三维模型为水下地形的三维模型。通过建立三维模型,为后续的生成可航水域做准备工作。
45.s130、基于第二数据确定等深平面。
46.其中,等深平面是指由等深线段构成的平面。等深线段是在海洋或者湖泊中,相同深度的至少两个点连接形成的线段。等深线段平行于水面。
47.具体的,根据吃水数据和富裕水深数据得到等深平面,可以是水底各点到水面的距离与船舶浸到水里的深度的加和处理,得到第一水深数值。基于第一水深数值得到平行于水平面的等深平面。等深平面距离水底的距离等于第一等深数值。根据吃水数据和富裕水深数据得到等深平面,为后续生成可航水域做准备工作。
48.s140、基于等深平面和三维模型,生成船舶的可航水域。
49.其中,可航水域是指船舶可以进行航行的水域,可航水域是指根据等深平面以及三维模型得到的可航水域。
50.具体的,根据船舶的起始点和终点得到待计算可航水域,并根据等深平面和三维模型,在待计算可航水域中划分出船舶的可航水域。通过上述步骤可以提高可航水域获取的准确度,并提高可航水域获取的实时性。
51.本发明实施例的技术方案,通过在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据,预设范围是基于船舶确定的,第一数据包括水深点的位置数据和水深数据,第二数据包括船舶的吃水数据和富裕水深数据,基于各水深点的第一数据建立与水下地形对应的三维模型,基于第二数据确定等深平面。基于等深平面和三维模型,生成船舶的可航水域。本发明实施例的技术方案实现了根据位置数据、水深数据、船舶的吃水数据以及富裕水深数据生成船舶的可航水域,针对不同的船舶生成可航水域,提高了可航水域生成的准确性和实时性。
52.实施例二
53.图2是本发明实施例提供的一种生成可航水域的方法的流程示意图,本发明实施例在上述实施例的可选方案的基础对步骤s120的细化,其中,与上述实施例相同或者相似的技术术语将不再赘述。
54.如图2所示,本发明实施例提供的生成可航水域的方法具体包括如下步骤:
55.s210、在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据。
56.s220、针对每个水深点的位置数据和水深数据,对位置数据和水深数据进行处理,得到每个水深点的空间坐标;根据预设算法对每个水深点的空间坐标进行处理,得到与每个空间坐标对应的三角形网络。
57.其中,三角形网络包括至少三个空间三角形,空间三角形的各顶点由水深点组成。空间坐标系包括位于水平面内的两个相互垂直的坐标轴,设为x轴和y轴,与水平面垂直的z轴。水深点的空间坐标位于空间坐标系内。预设算法可以是三维delaunay三角网络,当然,也可以是其他具有相同功能的算法。
58.具体的,将各水深点的位置数据和水深数据转换为三维坐标系下的坐标数据,比如,将位置数据和水深数据转换为墨卡托坐标系下的坐标数据,标记为(xi,yi,zi)。之后根据坐标数据建立与水下地形对应的三维模型,得到三维denaulay三角形网络,即denaulay三角形列表t,任意三角形ti的顶点记为(ai,bi,ci),i表示三角形的编号,为后续进行生成船舶的可航水域做准备工作。参见图3,为两个空间三角形。
59.s230、基于第二数据确定等深平面。
60.s240、基于等深平面和三维模型,生成船舶的可航水域。
61.进一步的,在本发明实施例中,基于等深平面和三维模型,生成船舶的可航水域,包括:针对每个空间三角形,判定空间三角形与等深平面是否存在相交线段;若是,确定相交线段为等深线段;基于至少三条等深线段生成船舶的可航水域。
62.具体的,根据每个空间三角形,判定空间三角形与等深平面是否存在相交线段,若存在,将相交线确定为等深线段,根据等深线段生成船舶的可航水域。可选地,根据等深线段所包围的区域生成船舶的可航水域。由各个等深线段相连形成闭合多边形,由闭合多边形所包围的区域生成可航水域。
63.进一步的,在本发明实施例中,基于至少三条等深线段生成船舶的可航水域,包括:当相邻的两条等深线段的端点之间的距离小于预设阈值,基于两条等深线段,得到等深折线段;基于至少三条等深折线段得到至少一个等深多边形;基于至少一个等深多边形生成船舶的可航水域。
64.其中,预设阈值是指两条等深线段的端点之间的距离阈值。预设阈值可以根据实际情况进行设置。
65.具体的,当相邻的两条等深线段的端点之间的距离小于预设阈值时,可以将两个端点合并为一个端点,之后将两条等深线段组成一个等深折线段。基于此方法,获得多条等深折线段,基于每条等深折线得到至少一个等深多边形。根据至少一个等深多边形生成可航水域。需要说明的是,本发明实施例中的空间三角形是指denaulay三角形网络中三角形,三角形存在顶点共用的特点。因此,得到的等深线段也存在顶点共用的特点。由于计算机在处理数据时,存在误差,相邻的两条等深线段的端点存在没有重合的可能性,因此,通过上述方式,对端点之间的距离与预设阈值的比较,判定是否将两个端点重合,若是,将两条相邻的等深线段重合,得到折线段,对于等深多边形,也可基于上述方式获得。
66.进一步的,在本发明实施例中,在针对每个空间三角形,判定空间三角形与等深平面是否存在相交线段之后,还包括:针对每个空间三角形,获取空间三角形被相交线段划分的两个局部区域、每个局部区域中的顶点的第一纵坐标以及相交线段的第二纵坐标,基于第一纵坐标和第二纵坐标对两个局部区域进行处理,得到初始可航子水域;基于每个初始可航子水域,得到初始可航水域;基于至少一个等深多边形生成船舶的可航水域,包括:基于至少一个等深多边形和初始可航水域生成船舶的可航水域。
67.具体的,空间三角形被相交线段划分成两部分,得到两个局部区域,通过对两个局部区域进行比较,得到初始可航子水域,将每个初始可航子水域的合集,确定为初始可航水域。基于至少一个等深多边形和初始可航水域得到可航水域。可选地,根据等深多边形所包围的位置点和初始可航水域之间的关系,生成可航水域。
68.进一步的,在本发明实施例中,针对每个空间三角形,获取空间三角形被相交线段
划分的两个局部区域、每个局部区域中的顶点的第一纵坐标以及相交线段的第二纵坐标,基于第一纵坐标和第二纵坐标对两个局部区域进行处理,得到初始可航子水域;基于每个初始可航子水域,得到初始可航水域,包括:根据等深平面更新denaulay三角形列表t。可选地,从denaulay三角形列表t中提取出与等深平面相交的三角形,组成新的三角形列表tb,也即空间三角形。对三角形列表tb中的每个三角形i=1,2,3

,tb中的角标b是为了区分更新的三角形列表和denaulay三角形列表t。同理,中的b是为了将更新的三角形列表中的三角形与原始的denaulay三角形列表中的三角形ti区分开。得到三角形的三条边|a
ibi
|、|a
ici
|、|c
ibi
|与等深平面的交点,比较两个交点的纵坐标,纵坐标数值大的标记为p
2i
,另一标记p
1i
。基于交点p
1i
与得到向量设置向量的左侧为初始可航子水域,右侧为非可航子水域,参见图4。可选地,这里的设置方式也可以是得到向量那么向量的左侧为非可航子水域,右侧为初始可航子水域。根据上述方法,得到每个三角形对应的初始可航子水域,根据每个初始可航子水域得到初始可航水域。根据每个非可航子水域得到非可航水域。
69.进一步的,在本发明实施例中,在确定相交线段为等深线段之后,还包括:获取边界平面,并基于边界平面更新各等深线段;其中,边界平面为垂直于图幅边界的平面;基于边界平面更新各等深线段,包括:若存在任一等深线段与边界平面相交,获得相交点;并基于预设规则判定是否将等深线段的一端点替换为相交点;若是,则基于相交点与等深线段的另一端点更新等深线段。
70.其中,边界平面是指垂直于图幅边界的平面。在本发明实施例中,显示界面的边界就是图幅边界,参见图5。显示界面为矩形界面,因此,图幅边界为4条边界线。需要说明的是,在本发明实施例中基于显示界面的边界线设置四条边界平面依次标记为x=x
left
、x=x
right
、y=y
top
、y=y
bottom
。基于四条边界线作为一个基准平面,基于每条边界线做垂直于基准平面的边界平面。x
left
、x
right
、y
top
、y
bottom
是相对于显示区域的边界来标记的。参见图5。预设规则是指对等深线段的端点是否替换为相交点的规则。应当理解,显示界面与用户相对,这里的左侧、右侧、上方以及下方是相对于与用户而言,用户直观看到的左侧的图幅边界,基于左侧的图幅边界得到垂直与基准平面的边界平面x=x
left
。其他的三个边界平面采用相同方式确定。
71.具体的,当存在任意一条等深线段和边界平面相交时,获取相交点,并根据预设规则判定等深线段的一端点是否需要替换为相交点,若是,基于相交点与等深线段的另一端点得到更新的等深线段。可选地,根据边界平面和等深线段的相交点的位置坐标,并根据等深线段的两个端点的位置坐标和相交点的位置坐标,确定是否将等深线段的一端点替换为相交点。
72.示例性的,当边界平面为x=x
left
时,确定等深线段与边界平面的相交点,并得到相交点以及等深线段两个端点的坐标。当等深线段上的一端点的横坐标数值小于相交点的横坐标数值,则将端点替换为相交点,基于相交点和另一端点更新等深线段。当边界平面为x=x
right
时,确定等深线段与边界平面的相交点,并得到相交点以及等深线段两个端点的坐
标。当等深线段上的一端点的横坐标数值大于相交点的横坐标数值,则将端点替换为相交点,基于相交点和另一端点更新等深线段。当边界平面为y=y
top
时,确定等深线段与边界平面的相交点,并得到相交点以及等深线段两个端点的坐标。当等深线段上的一端点的纵坐标数值大于相交点的纵坐标数值,则将端点替换为相交点,基于相交点和另一端点更新等深线段。当边界平面为y=y
bottom
时,确定等深线段与边界平面的相交点,并得到相交点以及等深线段两个端点的坐标。当等深线段上的一端点的纵坐标数值小于相交点的纵坐标数值,则将端点替换为相交点,基于相交点和另一端点更新等深线段。
73.进一步的,在本发明实施例中,基于至少一个等深多边形生成船舶的可航水域,包括:针对任一位置点,若包围位置点的等深多边形的数量为奇数,则确定水深点为可航点,位置点是根据航道图得到的,位置点包括位置数据;基于各个可航点,生成可航水域。
74.需要说明的是,这里所说的位置点是指被图幅边界包围的位置点,包括位置数据。
75.具体的,计算包围住位置点的等深多边形的个数,若是为奇数个,则位置点为可航点。若是为偶数个,则位置点为非可航点。根据各个可航点生成可航水域。可选地,在本发明实施例中,对可航点进行进一步判定,当可航点位于非可航水域中,若是,则从可航点中排除该位置点。基于剩余的可航点生成可航水域。
76.示例性的,参见图6,位置点2被等深多边形1所包围,则位置点2为可航点。位置点3被等深多边形1、等深多边形3和等深多边形4包围,初步判定位置点3为可航点。当判定位置点3位于非可航水域内时,从可航点范围中排除位置点3。在上述实施例中阐述可判定非可航水域的方式,这里不再赘述。位置点2被2个等深多边形包围,则位置点2为非可航点。根据可航点生成可航水域。在图6中将可航点以空心圆表示,将非可航点以实心圆表示。
77.进一步的,在本发明实施例,对于得到的可航水域可以在显示界面上进行显示,以便驾驶员和/或其他工作人员查看,参见图7,白色区域为可航水域,阴影区域为非可航水域。
78.本发明实施例的技术方案,通过在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据。预设范围是基于船舶确定的;第一数据包括水深点的位置数据和水深数据,第二数据包括船舶的吃水数据和富裕水深数据。针对每个水深点的位置数据和水深数据,对位置数据和水深数据进行处理,得到每个水深点的空间坐标,根据预设算法对每个水深点的空间坐标进行处理,得到与每个空间坐标对应的三角形网络。基于第二数据确定等深平面,基于等深平面和三维模型,生成船舶的可航水域。通过本发明实施例的技术方案,实现了自动生成符合船舶特点的可航水域,提高了可航水域生成的准确性,避免了船舶在可航过程中由于可航水域造成的无法及时达到目的地或者出现事故等问题,并且,本发明实施例的技术方案可以提高可航水域生成的实时性。
79.实施例三
80.图8为本发明实施例所提供的一种生成可航水域的系统的结构示意图,本发明实施例所提供的生成可航水域的系统可执行本发明任意实施例所提供的生成可航水域的方法,具备执行方法相应的子系统和有益效果。该系统包括:电子航道图子系统、航道水位查询子系统、船舶吃水实时测量子系统、可航水域计算子系统、可航水域显示子系统。其中,与上述实施例相同或者相似的技术术语将不再赘述。
81.如图8所示,本发明实施例的生成可航水域的系统包括:
82.电子航道图子系统可以确定船舶的可航水域范围。对于具有驾驶员的船舶来说,电子航道图子系统以船位点为中心圈出圆形区域,圆内水域为船舶的待计算可航水域。对于无人船来说,以起点和终点为顶点,作一个矩形,矩形内的区域为船舶的待计算可航水域。根据待计算可航水域抽选相关的电子航道图文件,并解析电子航道图.000文件,获取待计算可航水域中各水深点的图示水深数据其中,表示水深点的纬度,λa表示水深点的经度,h
chart
表示该水深点的图示水深。
83.实时水位查询子系统,利用爬虫工具实时提取长江水文网站(http://www.cjh.com.cn/)上的待计算实时水位数据,结合航道比降利用内插法计算可航水域内各水深点的实时水位数据然后,根据航道基准水位数据、实时水位数据、图示水深数据计算各水深点的水深数据,公式如下:
84.ha=h
chart
+(h
level-h
base
)
85.其中,ha表示水深数据,h
base
表示航道基准水位数据,h
level
表示实时水位数据,h
chart
表示图示水深数据,a表示水深点的编号。
86.实时吃水测量子系统,根据船舶六面吃水计算船舶的最大吃水,其计算方式如下所示,其中,d1~d6分别表示船艏(左舷、右舷)、船舯(左舷、右舷)、船艉(左舷、右舷)吃水数据,d表示船舶的吃水数据。
87.d=max{d1,d2,d3,d4,d5,d6}
88.可航水域计算子系统需要完成三方面的工作:
89.(1)水下地形三维建模:将各水深点的经纬度坐标转换为墨卡托坐标,记为(xi,yi,zi),利用三维denaulay三角网络对待计算可航水域内的水下地形进行三维建模,得到三维denaulay三角形网络,即得到denaulay三角形列表t。denaulay三角形列表t中包括各个空间三角形。任意三角形ti的顶点记为(ai,bi,ci)。
90.(2)等深线段计算:
91.步骤1、根据船舶最大吃水数据和富裕水深数据,生成等深平面z=d+h
safe
,等深平面为平行与水平面高度为最大吃水数据和富裕水深数据之和。从denaulay三角形列表t中选择出于等深平面相交的空间三角形,得到新的三角形列表td。
92.步骤2、对三角形列表td中的每一个三角形i=1,2,3

,得到三角形的三条边|a
ibi
|、|a
ici
|、|c
ibi
|与等深平面的交点,比较两个交点的纵坐标,纵坐标数值大的标记为另一标记p
1i
。基于交点p
1i
与得到向量设置向量的左侧为初始可航子水域,右侧为非可航子水域。
93.步骤3、根据船舶的位置以及可航水域的显示比例,确定图幅边界,得到下列4条边界线,将4条边界线围成的平面作为基准平面,并基于每条边界线得到垂直于基准平面的边界平面。x=x
left
、x=x
right
、y=y
top
、y=y
bottom
。x
left
、x
right
、y
top
、y
bottom
是相对于显示区域的边界来标记的,依次为左侧平面、右侧平面、上方平面和下方平面,参见图5。
94.步骤4、分别计算4个边界平面与步骤3中所有的等深线段的交点,记为pe,并根据规则用pe替换p
1i
与中的一个端点,并基于pe与另一个端点组成新的等深线段。
95.pe的替换规则如下:
96.若pe为x=x
left
与的交点,则将p
1i
与中x坐标相对小的端点替换为pe。
97.若pe为x=x
right
与的交点,则将p
1i
与中x坐标相对大的端点替换为pe。
98.若pe为y=y
top
与的交点,则将p
1i
与中y坐标相对大的端点替换为pe。
99.若pe为y=y
bottom
与的交点,则将p
1i
与中y坐标相对小的端点替换为pe。
100.步骤5、针对步骤4中的所有的等深线段,如果存在两个等深线段的端点之间的距离小于预设阈值,则将两个等深线段组合成一个等深折线段。
101.步骤6、重复步骤5,直到所有的等深折线段都不满足步骤5的要求,得到n条等深折线段,也即得到m个等深多边形。
102.(3)可航水域的生成:计算图幅范围内的所有位置点被多少个等深多边形包围。如果包围某位置点的等深多边形的个数为奇数,则位置点为可航点。如果包围某位置点的等深多边形的个数为偶数,则位置点为非可航点。
103.(5)可航水域显示子系统,将可航水域计算结果显示出来,参见图7。本发明实施例的可航水域的生成系统的实现过程,可参见图9,本发明实施例的技术方案实现了对不同的船舶有针对性的生成可航水域,提高了可航水域的生成的准确性。
104.实施例四
105.图10为本发明实施例提供的一种生成可航水域的装置的结构示意图,本发明实施例所提供的生成可航水域的装置可执行本发明任意实施例所提供的生成可航水域的方法,具备执行方法相应的功能模块和有益效果。该装置包括:数据获取模块410、模型建立模块420、平面确定模块430和可航水域生成模块440。其中:
106.数据获取模块410,用于在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据;其中,预设范围是基于船舶确定的;第一数据包括水深点的位置数据和水深数据,第二数据包括船舶的吃水数据和富裕水深数据;模型建立模块420,用于基于各水深点的第一数据建立与水下地形对应的三维模型;平面确定模块430,用于基于第二数据确定等深平面;可航水域生成模块440,用于基于等深平面和三维模型,生成船舶的可航水域。
107.进一步的,在本发明实施例中,模型建立模块420还用于:针对每个水深点的位置数据和水深数据,对位置数据和水深数据进行处理,得到每个水深点的空间坐标;根据预设算法对每个水深点的空间坐标进行处理,得到与每个空间坐标对应的三角形网络;其中,三角形网络包括至少三个空间三角形,空间三角形的各顶点由水深点组成。
108.进一步的,在本发明实施例中,可航水域生成模块440还用于:针对每个空间三角形,判定空间三角形与等深平面是否存在相交线段;若是,确定相交线段为等深线段;基于至少三条等深线段生成船舶的可航水域。
109.进一步的,在本发明实施例中,可航水域生成模块440还用于:当相邻的两条等深线段的端点之间的距离小于预设阈值,基于两条等深线段,得到等深折线段;基于至少三条等深折线段得到至少一个等深多边形;基于至少一个等深多边形生成船舶的可航水域。
110.进一步的,在本发明实施例中,可航水域生成模块440还用于:针对任一位置点,若
包围所述位置点的等深多边形的数量为奇数,则确定所述位置点为可航点,所述位置点是根据航道图得到的,所述位置点包括所述位置数据;基于各个可航点,生成可航水域。
111.进一步的,在本发明实施例中,装置还包括:边界平面获取模块,用于获取边界平面,并基于边界平面更新各等深线段;其中,边界平面为垂直于图幅边界的平面;边界平面获取模块还用于:若存在任一等深线段与边界平面相交,获得相交点;并基于预设规则判定是否将等深线段的一端点替换为相交点;若是,则基于相交点与等深线段的另一端点更新等深线段。
112.进一步的,在本发明实施例中,装置还包括:初始可航水域获取模块,用于针对每个空间三角形,获取空间三角形被相交线段划分的两个局部区域、每个局部区域中的顶点的第一纵坐标以及相交线段的第二纵坐标,基于第一纵坐标和第二纵坐标对两个局部区域进行处理,得到初始可航子水域;基于每个初始可航子水域,得到初始可航水域;可航水域生成模块440还用于:基于至少一个等深多边形和初始可航水域生成船舶的可航水域。
113.本发明实施例的技术方案,通过在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据;其中,预设范围是基于船舶确定的;第一数据包括水深点的位置数据和水深数据,第二数据包括船舶的吃水数据和富裕水深数据。基于各水深点的第一数据建立与水下地形对应的三维模型,基于第二数据确定等深平面。基于等深平面和三维模型,生成船舶的可航水域。本发明实施例的技术方案实现了根据位置数据、水深数据、船舶的吃水数据以及富裕水深数据生成船舶的可航水域,针对不同的船舶生成可航水域,提高了可航水域生成的准确性。
114.值得注意的是,上述装置所包括的各个模块和子模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
115.实施例五
116.图11为本发明实施例提供的一种电子设备的结构示意图。图11示出了适于用来实现本发明实施例实施方式的示例性电子设备50的框图。图11显示的电子设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
117.如图11所示,电子设备50以通用计算设备的形式表现。电子设备50的组件可以包括但不限于:一个或者多个处理器或者处理单元501,系统存储器502,连接不同系统组件(包括系统存储器502和处理单元501)的总线503。
118.总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
119.电子设备50典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
120.系统存储器502可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)504和/或高速缓存存储器505。电子设备50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统506可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,
可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。存储器502可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
121.具有一组(至少一个)程序模块507的程序/实用工具508,可以存储在例如存储器502中,这样的程序模块507包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块507通常执行本发明所描述的实施例中的功能和/或方法。
122.电子设备50也可以与一个或多个外部设备509(例如键盘、指向设备、显示器510等)通信,还可与一个或者多个使得用户能与该电子设备50交互的设备通信,和/或与使得该电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口511进行。并且,电子设备50还可以通过网络适配器512与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器512通过总线503与电子设备50的其它模块通信。应当明白,尽管图11中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
123.处理单元501通过运行存储在系统存储器502中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的生成可航水域的方法。
124.实施例六
125.本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种生成可航水域的方法,方法包括:
126.在航道图中获取与船舶对应的预设范围内各水深点的第一数据以及与船舶对应的第二数据;其中,预设范围是基于船舶确定的;第一数据包括水深点的位置数据和水深数据,第二数据包括船舶的吃水数据和富裕水深数据;基于各水深点的第一数据建立与水下地形对应的三维模型;基于第二数据确定等深平面;基于等深平面和三维模型,生成船舶的可航水域。
127.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
128.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限
于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
129.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
130.可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
131.以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1