CN111861045B - 面向海量数字水深模型数据体海上最短航线快速生成方法 - Google Patents
面向海量数字水深模型数据体海上最短航线快速生成方法 Download PDFInfo
- Publication number
- CN111861045B CN111861045B CN202010783496.XA CN202010783496A CN111861045B CN 111861045 B CN111861045 B CN 111861045B CN 202010783496 A CN202010783496 A CN 202010783496A CN 111861045 B CN111861045 B CN 111861045B
- Authority
- CN
- China
- Prior art keywords
- grid
- grid unit
- navigation
- water depth
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000009792 diffusion process Methods 0.000 claims abstract description 7
- 239000012634 fragment Substances 0.000 claims description 14
- 239000002243 precursor Substances 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000012732 spatial analysis Methods 0.000 abstract description 2
- 238000013499 data model Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013535 sea water Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Navigation (AREA)
Abstract
本发明涉及地理信息系统空间分析领域,提供了一种面向海量数字水深模型数据体的海上最短航线快速生成方法,包括:设置船舶海上航行的安全水深参数,读取所述海量数字水深模型数据体的参数;逐行读取所述海量数字水深模型数据体中的水深数据,采用行程编码方法逐行对所述水深数据进行压缩存储,采用基于最小堆存储结构的“蚁群式”扩散策略,从所述起点网格单元开始,由近及远向所述待扩散网格扩散;从所述终点网格单元回溯追踪至所述起点网格单元,并将栅格路径转换为矢量路径,得到所述起点坐标和终点坐标之间的最短航线。本发明降低了数字水深模型数据的存储量,有效提高了算法的计算效率。
Description
技术领域
本发明属于地理信息系统空间分析领域,更具体地说,是涉及一种面向海量数字水深模型数据的海上最短航线快速生成方法。
背景技术
随着电子海图技术的成熟和广泛应用,在海图上任意两点之间自动绕过碍航区域、寻找出一条最短(优)的可行性航线,逐渐成为研究热点。目前,路径规划方法主要有基于矢量数据模型的路径生成方法和基于栅格数据模型的路径生成方法。基于矢量数据模型的路径生成方法常采用二叉树方法解决左右两条路径的搜索问题,数据结构较为复杂、计算效率较低。基于栅格数据模型的路径生成方法可避免矢量数据模型中碍航区域边界处理时的复杂计算,但栅格的大小直接影响到计算机内存消耗量和计算结果的精度,常用于小范围区域的移动机器人路径规划中。
随着多波束测深技术的快速发展,获取的大范围海域的数字水深模型数据量常常达到几GB甚至几十GB。现有基于栅格数据模型的路径生成方法是将研究区域空间化成具有一定分辨率的栅格,栅格的大小直接影响到路径规划结果的精度和计算机内存消耗量,对于海上航线生成来说,该方法只能适用于小范围且栅格数据量较小的数字水深模型,容易受到计算机内存的限制导致航线生成失败。
发明内容
本发明的目的在于提供一种面向海量数字水深模型数据体的海上最短航线快速生成方法,以解决现有技术中存在的技术问题。所述方法包括以下步骤:
步骤10:设置船舶海上航行的安全水深参数,读取所述海量数字水深模型数据体的行数、列数、网格单元大小和左下角起始坐标;
步骤20:逐行读取所述海量数字水深模型数据体中的水深数据,采用行程编码方法逐行对所述水深数据进行压缩存储,得到压缩水深数据;
步骤30:输入船舶海上航行的起点坐标和终点坐标,将所述起点坐标和终点坐标转换为所述海量数字水深模型数据体中的起点网格单元和终点网格单元;
步骤40:采用基于最小堆存储结构的“蚁群式”扩散策略,根据所述起点网格单元到待扩散网格单元的距离花费,从所述起点网格单元开始,由近及远向所述待扩散网格扩散,直至扩散到所述终点网格单元;
步骤50:根据所述最小堆存储结构中网格单元的前驱关系,从所述终点网格单元回溯追踪至所述起点网格单元,并将栅格路径转换为矢量路径,得到所述起点坐标和终点坐标之间的最短航线。
可选地,在所述步骤20中,所述采用行程编码方法逐行对所述水深数据进行压缩存储包括以下步骤:
步骤21:对每行水深数据进行二值化:当待处理网格单元对应的水深数据小于所述安全水深参数或为无效值时,确定所述待处理网格单元为碍航网格,将所述待处理网格单元对应的水深数据设置为0;当待处理网格单元对应的水深数据大于所述安全水深参数时,确定所述待处理网格单元为可航行网格,将待处理网格单元对应的水深数据设置为1;
步骤23:采用(起始列号,终止列号)的编码方式,存储水深数据连续为0的碍航片段;将当前行中各个碍航片段依次排列,作为当前行的压缩水深数据,并记录当前行中碍航片段的数量;
步骤25:对二值化后的每行水深数据执行步骤23。
可选地,所述步骤30还包括以下步骤:
步骤31:分别对所述起点网格单元和终点网格单元执行碍航网格判断操作,判断所述起点网格单元和终点网格单元为碍航网格还是可航行网格;
步骤33:当所述起点网格单元为所述碍航网格时,重新输入起点坐标,直至新的起点网格单元为可航行网格;
步骤35:当所述终点网格单元为所述碍航网格时,重新输入终点坐标,直至新的终点网格单元为可航行网格。
可选地,所述碍航网格判断操作包括以下步骤:
步骤311:根据待判断网格单元的行号,获取其所在行的碍航片段的数量;
步骤313:当所述碍航片段的数量为0时,确定所述待判断网格单元为可航行网格;当所述碍航片段的数量不为0时,采用二分查找方法确定所述待判断网格单元是碍航网格还是可航行网格。
可选地,所述二分查找方法包括以下步骤:
步骤315:从所述待判断网格单元所在行的压缩水深数据中,取中间的二分碍航片段,通过列号判断所述待判断网格单元与所述二分碍航片段的位置包含关系;
步骤317:当所述待判断网格单元位于所述二分碍航片段内时,确定所述待判断网格单元为碍航网格;当所述待判断网格单元位于所述二分碍航片段之前时,从所述二分碍航片段之前的各碍航片段中,取中间的碍航片段,作为新的二分碍航片段,重复步骤317;当所述待判断网格单元位于所述二分碍航片段之后时,从所述二分碍航片段之后的各碍航片段中,取中间的碍航片段,作为新的二分碍航片段,重复步骤317;
步骤319:当所述待判断网格单元不属于所在行的任何碍航片段时,确定所述待判断网格单元为可航行网格。
可选地,所述步骤40包括以下步骤:
步骤41:创建所述最小堆存储结构,其中,所述最小堆存储结构中每个元素的数据域包括:当前网格单元、当前网格单元的前驱网格单元、所述起点网格单元到当前网格单元的距离花费;将所述起点网格单元作为初始元素插入到所述最小堆存储结构中,完成所述最小堆存储结构的初始化;
步骤43:从所述最小堆存储结构中移除具有最小距离花费的根结点,并将移除的根结点作为当前待扩散的种子结点,判断所述种子结点是否为所述终点网格单元;
步骤45:当所述种子结点为所述终点网格单元时,转入所述步骤50;
步骤47:当所述种子结点不是所述终点网格单元时,依次判断所述种子节点的8个相邻网格单元是否满足预设条件,根据判断结果,将对应的相邻网格单元作为元素插入至所述最小堆存储结构中或更新所述最小堆数存储结构;
步骤49:依次处理完所述种子节点的8个相邻网格单元后,重复执行步骤43-49,直到所述种子结点为所述终点网格单元。
可选地,所述预设条件包括:当前相邻网格单元是否已作为种子结点扩散过、当前相邻网格单元为碍航网格还是可航行网格、当前相邻网格单元在所述最小堆存储结构中是否已经存在。
可选地,所述步骤47包括以下步骤:
步骤471:判断当前相邻网格单元是否已经作为种子结点扩散过;当当前相邻网格单元已作为种子结点扩散过时,对当前相邻网格单元的判断结束,进行下一个相邻网格单元的判断;
步骤473:判断当前相邻网格单元为碍航网格还是可航行网格;当当前相邻网格单元为碍航网格时,对当前相邻网格单元的判断结束,进行下一个相邻网格单元的判断;当当前相邻网格单元为可航行网格时,计算所述起点网格单元到当前相邻网格单元的距离花费;
步骤475:判断当前相邻网格单元在所述最小堆存储结构中是否已经存在;当当前相邻网格单元在所述最小堆存储结构中不存在时,设置当前相邻网格单元的前驱网格单元为所述种子结点,将当前相邻网格单元初始化为元素插入到所述最小堆存储结构中;当当前相邻网格单元在所述最小堆存储结构中存在时,更新所述最小堆存储结构。
可选地,在所述步骤475中,所述更新所述最小堆存储结构包括以下步骤:
当所述步骤473中计算的当前相邻网格单元的距离花费小于其在所述最小堆存储结构中的距离花费时,设置当前相邻网格单元的前驱网格单元为所述种子结点,更新当前相邻网格单元的距离花费为所述步骤473中计算的当前相邻网格单元的距离花费,并对所述最小堆存储结构进行调整,使之保持最小堆特性;
当所述步骤473中计算的当前相邻网格单元的距离花费大于或等于其在所述最小堆存储结构中的距离花费时,不做处理。
可选地,在所述步骤473中,所述计算所述起点网格单元到当前相邻网格单元的距离花费包括以下步骤:
当所述种子节点到当前相邻网格单元为水平移动或垂直移动时,根据以下公式计算所述距离花费:
cost=costseed+dSize;
当所述种子节点到当前相邻网格单元为对角线移动时,根据以下公式计算所述距离花费:
其中,cost表示所述起点网格单元到当前相邻网格单元的距离花费,costseed表示所述起点网格单元到所述种子节点的距离花费,dSize表示每个网格单元的大小
本发明的有益效果在于:本发明采用行程编码方法对海量数字水深模型数据进行压缩,只对碍航区域进行存储,从而极大程度降低数字水深模型数据的存储量,并采用适应于行程编码结构的“蚁群式”路径搜索策略,生成海上任意两点之间的最短航线,有效提高了算法的计算效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的面向海量数字水深模型数据体的海上最短航线快速生成方法的流程图。
图2为本发明实施例提供的行程编码示意图。
图3为本发明实施例提供的最小堆结构的数组存储方式的示意图。
图4为本发明实施例提供的种子节点与相邻网格单元的示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本实施例提供一种面向海量数字水深模型数据体的海上最短航线快速生成方法,所述方法包括以下步骤:
步骤10:设置船舶海上航行的安全水深参数h,读取所述海量数字水深模型数据体的行数nLins、列数nCols、网格单元大小dSize和左下角起始坐标(x0,y0)等参数。
步骤20:逐行读取所述海量数字水深模型数据体中的水深数据,采用行程编码方法逐行对所述水深数据进行压缩存储,得到压缩水深数据。所述海量数字水深模型数据体为格式统一的规则网格数据,每个网格单元表示海水水深值。在C++语言中,所采用的行程编码数据结构包括行程片段结点结构、行程片段结点集合结构可表示如下:
采用行程编码方法逐行对所述水深数据进行压缩存储,得到压缩水深数据的具体过程如下:
首先,对该行网格进行二值化,即:若该行某一网格的水深值小于安全水深h或为无效值(NaN),则将该网格水深值重新设置为0,该网格为碍航网格;否则,将其水深值重新设置为1,该网格可航行网格。然后,采用行程编码方法对该行的碍航网格进行存储,即:按照(起始列号,终止列号)的编码方式存储水深值连续为0的始末网格的列号。
图2为本发明实施例提供的行程编码示意图。如图2所示,对海量数字水深模型数据体的第i-1行、第i行分别进行行程编码。图中白色网格为可航行网格,黑色网格为碍航网格,采用本发明方法对第i-1行的碍航网格进行编码结果为:(6,10)(18,21);第i行的碍航网格进行编码结果为:(1,3)(7,11)(14,17)(21,22)。
步骤30:输入船舶海上航行的起点坐标和终点坐标,将所述起点坐标和终点坐标转换为所述海量数字水深模型数据体中的起点网格单元和终点网格单元。具体方法如下:
按照公式(1),将所述起点坐标和终点坐标转换为其所在网格单元的行号LinId和列号ColId,并分别判定起点网格单元StartGrid、终点网格单元EndGrid是否位于碍航网格内,如果为0,则重新输入起点坐标或终点坐标,否则,进入步骤40。
其中,函数Floor()表示向下取整的函数,坐标点(x,y)为输入的船舶起点坐标或终点坐标。
判断网格单元(LinId,ColId)是否位于碍航网格内的方法如下:
首先,根据该网格单元的行号LinId获取其所在行的行程片段结点集合LineSet[LinId];然后,判断LineSet[LinId]的行程片段结点数量nNode_Num是否为0:如果为0,则确定该网格单元不位于碍航网格内(位于可航行网格内);否则,采用二分查找方法判定该网格单元是否位于碍航网格内。二分查找方法的C++程序代码实现如下:
步骤40:采用基于最小堆存储结构的“蚁群式”扩散策略,根据所述起点网格单元StartGrid到待扩散网格单元的距离花费,从所述起点网格单元StartGrid开始,由近及远向所述待扩散网格单元扩散,直至扩散到所述终点网格单元EndGrid。
这种扩散是逐层向外进行,离起点网格单元StartGrid距离近的内层网格单元都是已经扩散过的网格单元,只有最外层的网格单元才会形成“蚂蚁”探头继续向外试探扩散。采用“蚁群式”扩散策略的具体方法如下:
步骤a:创建最小堆数据存储结构,它是按照完全二叉树的顺序存储方式把它的所有元素存放在一个一维数组中,并且它的任一元素的关键码均小于或等于它的左、右子女的关键码,位于堆顶(完全二叉树的根结点位置)元素的关键码是整个集合中最小的。图3为本发明实施例提供的最小堆结构的数组存储方式。本发明中最小堆的元素结构、最小堆类定义如下,其中最小堆的每个元素的数据域包括:当前网格单元位置、当前网格单元的前驱网格单元、起点网格单元StartGrid到当前网格单元的距离花费,并将距离花费作为最小堆中元素的关键码。
步骤b:将起点网格单元StartGrid作为初始元素<StartGrid,NULL,0>插入到最小堆结构中,其中,NULL表示起点网格单元StartGrid的前驱网格单元为空,0表示起点网格单元StartGrid的距离花费为0。
步骤c:从最小堆结构中移除具有最小距离花费的根结点,并将移除的根结点作为当前待扩散的种子结点,记为seed,判定该种子结点seed是否为终点网格单元EndGrid;如果是,转入步骤50,否则,转入步骤d;
步骤d:从该种子结点seed开始,向与其相邻的8个网格单元扩散,并将满足条件的相邻网格单元作为元素插入到最小堆中或对最小堆做更新操作。图4为本发明实施例提供的种子节点与相邻网格单元的示意图。如图4所示,从种子结点seed开始向相邻网格单元2、4、5、7做水平或垂直移动,向相邻网格单元1、3、6、8做对角线移动,每移动到一个相邻网格单元,都需要先对该相邻网格单元做判断。
判断相邻网格单元是否满足条件的方法为:
首先,判断该相邻网格单元是否已经作为种子结点扩散过,如果是,则不做处理,继续下一个相邻网格单元判定;
接着,判断该相邻网格单元是否位于碍航网格内,如果是,则不做处理,继续下一个相邻网格单元判定;否则,根据公式(2)计算该相邻网格单元的距离花费;
然后,判断该相邻网格单元在最小堆中是否已经存在,如果不存在,则设置该相邻网格单元的前驱为种子结点seed,并将该相邻网格单元初始化为元素插入到最小堆中;如果存在,则判断是否需要对最小堆做更新操作。
判断方法为:如果该相邻网格单元的当前计算的距离花费小于其在最小堆中的距离花费,则重新设置该相邻网格单元的前驱为种子结点seed,设置其距离花费为当前计算的距离花费,并对堆进行调整使之成为最小堆;如果该相邻网格单元当前计算的距离花费大于或等于其在最小堆中的距离花费,则不做处理。
步骤e,当依次处理完与种子结点seed相邻的8个网格单元后,转入步骤c。
步骤50:根据所述最小堆存储结构中网格单元的前驱关系,从所述终点网格单元EndGrid回溯追踪至所述起点网格单元StartGrid,得到一条网格路径,计算路径中每个网格单元的中心点坐标,从而将网格路径转换为矢量路径,得到所述起点坐标和终点坐标之间的最短航线。
通过本发明的技术方案,首先逐行读取海量数字水深模型数据体中的水深值,并采用行程编码方法对逐行水深数据进行压缩存储;然后基于最小堆存储结构,采用“蚁群式”扩散策略,按照离起点网格单元距离的远近依次逐层向外扩散相邻网格,直至扩散到终点网格单元;最后根据网格单元的前驱关系,从终点栅格单元回溯追踪到起点网格单元,得到一条栅格路径,并将栅格路径转换为矢量路径,从而实现海上任意两点之间的最短航线生成。本发明采用行程编码方法对海量数字水深模型数据进行压缩,只对碍航区域进行存储,从而极大程度降低数字水深模型数据的存储量,并采用适应于行程编码结构的“蚁群式”路径搜索策略,生成海上任意两点之间的最短航线,有效提高了算法的计算效率。
本发明未详细阐述部分属于本领域技术人员的公知技术。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种面向海量数字水深模型数据体的海上最短航线快速生成方法,其特征在于,包括以下步骤:
步骤10:设置船舶海上航行的安全水深参数,读取所述海量数字水深模型数据体的行数、列数、网格单元大小和左下角起始坐标;
步骤20:逐行读取所述海量数字水深模型数据体中的水深数据,采用行程编码方法逐行对所述水深数据进行压缩存储,得到压缩水深数据;
步骤30:输入船舶海上航行的起点坐标和终点坐标,将所述起点坐标和终点坐标转换为所述海量数字水深模型数据体中的起点网格单元和终点网格单元;
步骤40:采用基于最小堆存储结构的“蚁群式”扩散策略,根据所述起点网格单元到待扩散网格单元的距离花费,从所述起点网格单元开始,由近及远向所述待扩散网格扩散,直至扩散到所述终点网格单元;具体的,步骤40包括:步骤41:创建所述最小堆存储结构,其中,所述最小堆存储结构中每个元素的数据域包括:当前网格单元、当前网格单元的前驱网格单元、所述起点网格单元到当前网格单元的距离花费;将所述起点网格单元作为初始元素插入到所述最小堆存储结构中,完成所述最小堆存储结构的初始化;步骤43:从所述最小堆存储结构中移除具有最小距离花费的根结点,并将移除的根结点作为当前待扩散的种子结点,判断所述种子结点是否为所述终点网格单元;步骤45:当所述种子结点为所述终点网格单元时,转入步骤50;步骤47:当所述种子结点不是所述终点网格单元时,依次判断所述种子节点的8个相邻网格单元是否满足预设条件,根据判断结果,将对应的相邻网格单元作为元素插入至所述最小堆存储结构中或更新所述最小堆数存储结构;步骤49:依次处理完所述种子节点的8个相邻网格单元后,重复执行步骤43-49,直到所述种子结点为所述终点网格单元;
步骤50:根据所述最小堆存储结构中网格单元的前驱关系,从所述终点网格单元回溯追踪至所述起点网格单元,并将栅格路径转换为矢量路径,得到所述起点坐标和终点坐标之间的最短航线。
2.如权利要求1所述的方法,其特征在于,在所述步骤20中,所述采用行程编码方法逐行对所述水深数据进行压缩存储包括以下步骤:
步骤21:对每行水深数据进行二值化:当待处理网格单元对应的水深数据小于所述安全水深参数或为无效值时,确定所述待处理网格单元为碍航网格,将所述待处理网格单元对应的水深数据设置为0;当待处理网格单元对应的水深数据大于所述安全水深参数时,确定所述待处理网格单元为可航行网格,将待处理网格单元对应的水深数据设置为1;
步骤23:采用(起始列号,终止列号)的编码方式,存储水深数据连续为0的碍航片段;将当前行中各个碍航片段依次排列,作为当前行的压缩水深数据,并记录当前行中碍航片段的数量;
步骤25:对二值化后的每行水深数据执行步骤23。
3.如权利要求2所述的方法,其特征在于,所述步骤30还包括以下步骤:
步骤31:分别对所述起点网格单元和终点网格单元执行碍航网格判断操作,判断所述起点网格单元和终点网格单元为碍航网格还是可航行网格;
步骤33:当所述起点网格单元为所述碍航网格时,重新输入起点坐标,直至新的起点网格单元为可航行网格;
步骤35:当所述终点网格单元为所述碍航网格时,重新输入终点坐标,直至新的终点网格单元为可航行网格。
4.如权利要求3所述的方法,其特征在于,所述碍航网格判断操作包括以下步骤:
步骤311:根据待判断网格单元的行号,获取其所在行的碍航片段的数量;
步骤313:当所述碍航片段的数量为0时,确定所述待判断网格单元为可航行网格;当所述碍航片段的数量不为0时,采用二分查找方法确定所述待判断网格单元是碍航网格还是可航行网格。
5.如权利要求4所述的方法,其特征在于,所述二分查找方法包括以下步骤:
步骤315:从所述待判断网格单元所在行的压缩水深数据中,取中间的二分碍航片段,通过列号判断所述待判断网格单元与所述二分碍航片段的位置包含关系;
步骤317:当所述待判断网格单元位于所述二分碍航片段内时,确定所述待判断网格单元为碍航网格;当所述待判断网格单元位于所述二分碍航片段之前时,从所述二分碍航片段之前的各碍航片段中,取中间的碍航片段,作为新的二分碍航片段,重复步骤317;当所述待判断网格单元位于所述二分碍航片段之后时,从所述二分碍航片段之后的各碍航片段中,取中间的碍航片段,作为新的二分碍航片段,重复步骤317;
步骤319:当所述待判断网格单元不属于所在行的任何碍航片段时,确定所述待判断网格单元为可航行网格。
6.如权利要求1所述的方法,其特征在于,所述预设条件包括:当前相邻网格单元是否已作为种子结点扩散过、当前相邻网格单元为碍航网格还是可航行网格、当前相邻网格单元在所述最小堆存储结构中是否已经存在。
7.如权利要求6所述的方法,其特征在于,所述步骤47包括以下步骤:
步骤471:判断当前相邻网格单元是否已经作为种子结点扩散过;当当前相邻网格单元已作为种子结点扩散过时,对当前相邻网格单元的判断结束,进行下一个相邻网格单元的判断;
步骤473:判断当前相邻网格单元为碍航网格还是可航行网格;当当前相邻网格单元为碍航网格时,对当前相邻网格单元的判断结束,进行下一个相邻网格单元的判断;当当前相邻网格单元为可航行网格时,计算所述起点网格单元到当前相邻网格单元的距离花费;
步骤475:判断当前相邻网格单元在所述最小堆存储结构中是否已经存在;当当前相邻网格单元在所述最小堆存储结构中不存在时,设置当前相邻网格单元的前驱网格单元为所述种子结点,将当前相邻网格单元初始化为元素插入到所述最小堆存储结构中;当当前相邻网格单元在所述最小堆存储结构中存在时,更新所述最小堆存储结构。
8.如权利要求7所述的方法,其特征在于,在所述步骤475中,所述更新所述最小堆存储结构包括以下步骤:
当所述步骤473中计算的当前相邻网格单元的距离花费小于其在所述最小堆存储结构中的距离花费时,设置当前相邻网格单元的前驱网格单元为所述种子结点,更新当前相邻网格单元的距离花费为所述步骤473中计算的当前相邻网格单元的距离花费,并对所述最小堆存储结构进行调整,使之保持最小堆特性;
当所述步骤473中计算的当前相邻网格单元的距离花费大于或等于其在所述最小堆存储结构中的距离花费时,不做处理。
9.如权利要求7或8所述的方法,其特征在于,在所述步骤473中,所述计算所述起点网格单元到当前相邻网格单元的距离花费包括以下步骤:
当所述种子节点到当前相邻网格单元为水平移动或垂直移动时,根据以下公式计算所述距离花费:
cost=costseed+dSize;
当所述种子节点到当前相邻网格单元为对角线移动时,根据以下公式计算所述距离花费:
其中,cost表示所述起点网格单元到当前相邻网格单元的距离花费,costseed表示所述起点网格单元到所述种子节点的距离花费,dSize表示每个网格单元的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010783496.XA CN111861045B (zh) | 2020-08-06 | 2020-08-06 | 面向海量数字水深模型数据体海上最短航线快速生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010783496.XA CN111861045B (zh) | 2020-08-06 | 2020-08-06 | 面向海量数字水深模型数据体海上最短航线快速生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111861045A CN111861045A (zh) | 2020-10-30 |
CN111861045B true CN111861045B (zh) | 2024-04-09 |
Family
ID=72971510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010783496.XA Active CN111861045B (zh) | 2020-08-06 | 2020-08-06 | 面向海量数字水深模型数据体海上最短航线快速生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111861045B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6259988B1 (en) * | 1998-07-20 | 2001-07-10 | Lockheed Martin Corporation | Real-time mission adaptable route planner |
CN101806596A (zh) * | 2010-02-05 | 2010-08-18 | 张立华 | 基于电子海图的最短距离航线自动生成方法 |
CN101833699A (zh) * | 2009-03-12 | 2010-09-15 | 北京博懋易通科技有限公司 | 一种用于船舶航线设计的启发式航段寻径方法 |
CN104200029A (zh) * | 2014-09-04 | 2014-12-10 | 武汉大学 | 一种基于航道水深数据的自动化碍航分析方法及系统 |
CN107239755A (zh) * | 2017-05-23 | 2017-10-10 | 国家地理空间信息中心 | 基于高分卫星遥感数据的海上油气平台提取系统 |
CN107798185A (zh) * | 2017-10-20 | 2018-03-13 | 山东交通学院 | 一种基于ecdis的航线自动设计系统及其构建方法 |
CN109263826A (zh) * | 2018-08-30 | 2019-01-25 | 武汉理工大学 | 基于操纵性建模的船舶智能避碰系统及方法 |
CN109814598A (zh) * | 2019-02-25 | 2019-05-28 | 中国科学院地理科学与资源研究所 | 无人机低空公共航路网设计方法 |
CN110220514A (zh) * | 2019-05-27 | 2019-09-10 | 中国电子科技集团公司第二十八研究所 | 一种基于海图数据的动态航线生成方法 |
CN111123923A (zh) * | 2019-12-17 | 2020-05-08 | 青岛科技大学 | 一种无人船舶局部路径动态优化方法 |
CN111222701A (zh) * | 2020-01-08 | 2020-06-02 | 中国船舶重工集团公司第七二四研究所 | 一种基于海洋环境图层的船舶航线自动规划与评价方法 |
CN111401668A (zh) * | 2020-06-05 | 2020-07-10 | 江苏海事职业技术学院 | 一种基于大数据的无人船舶规划航线方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10895465B2 (en) * | 2017-10-12 | 2021-01-19 | Toyota Jidosha Kabushiki Kaisha | Optimizing a route selection for a highly autonomous vehicle |
-
2020
- 2020-08-06 CN CN202010783496.XA patent/CN111861045B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6259988B1 (en) * | 1998-07-20 | 2001-07-10 | Lockheed Martin Corporation | Real-time mission adaptable route planner |
CN101833699A (zh) * | 2009-03-12 | 2010-09-15 | 北京博懋易通科技有限公司 | 一种用于船舶航线设计的启发式航段寻径方法 |
CN101806596A (zh) * | 2010-02-05 | 2010-08-18 | 张立华 | 基于电子海图的最短距离航线自动生成方法 |
CN104200029A (zh) * | 2014-09-04 | 2014-12-10 | 武汉大学 | 一种基于航道水深数据的自动化碍航分析方法及系统 |
CN107239755A (zh) * | 2017-05-23 | 2017-10-10 | 国家地理空间信息中心 | 基于高分卫星遥感数据的海上油气平台提取系统 |
CN107798185A (zh) * | 2017-10-20 | 2018-03-13 | 山东交通学院 | 一种基于ecdis的航线自动设计系统及其构建方法 |
CN109263826A (zh) * | 2018-08-30 | 2019-01-25 | 武汉理工大学 | 基于操纵性建模的船舶智能避碰系统及方法 |
CN109814598A (zh) * | 2019-02-25 | 2019-05-28 | 中国科学院地理科学与资源研究所 | 无人机低空公共航路网设计方法 |
CN110220514A (zh) * | 2019-05-27 | 2019-09-10 | 中国电子科技集团公司第二十八研究所 | 一种基于海图数据的动态航线生成方法 |
CN111123923A (zh) * | 2019-12-17 | 2020-05-08 | 青岛科技大学 | 一种无人船舶局部路径动态优化方法 |
CN111222701A (zh) * | 2020-01-08 | 2020-06-02 | 中国船舶重工集团公司第七二四研究所 | 一种基于海洋环境图层的船舶航线自动规划与评价方法 |
CN111401668A (zh) * | 2020-06-05 | 2020-07-10 | 江苏海事职业技术学院 | 一种基于大数据的无人船舶规划航线方法 |
Non-Patent Citations (8)
Title |
---|
"基于瞬时水深模型的最短时间航线自动生成算法";张立华;《测绘学报》;20101031;第39卷(第05期);第516-521页 * |
Tokgoz,A."A RNN based time series approach for forecasting turkish electricity load".《2018 26th signal processing and communications applications conference》.2018,第1-4页. * |
基于电子海图栅格化的无人水面艇全局路径规划;范云生;赵永生;石林龙;张月;;中国航海;20170325;40(第01期);第47-52页 * |
基于瞬时水深模型的最短时间航线自动生成算法;张立华;苏奋振;彭认灿;暴景阳;张莉;;测绘学报;20101031;第39卷(第05期);第516-521页 * |
基于蚂蚁问题路径的数据结构设计与解法的研究;张文;陈世强;;怀化学院学报;20060530;第25卷(第05期);第32-35页 * |
基于长江电子航道图的航线动态生成算法及实现;李弢;航海技术;20130925(第05期);第36-39页 * |
海量多波束水深数据快速处理及质量检查方法;眭海刚;张光华;卢之杰;肖志峰;肖静环;;人民长江;20080315;第39卷(第06期);第18-20页 * |
长江电子航道图可航水域动态计算模型研究;杨保岑;吴溪;李伟凡;贺敏;;水运工程;20160125(第01期);第83-88页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111861045A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105118090B (zh) | 一种自适应复杂地形结构的点云滤波方法 | |
CN113628291A (zh) | 基于边界提取与合并的多形状目标栅格数据矢量化方法 | |
CN116994140A (zh) | 基于遥感影像的耕地提取方法、装置、设备和介质 | |
CN111861045B (zh) | 面向海量数字水深模型数据体海上最短航线快速生成方法 | |
CN114548606A (zh) | 一种气旋强度预测模型的构建方法及气旋强度预测方法 | |
CN116524197B (zh) | 一种结合边缘点和深度网络的点云分割方法、装置及设备 | |
Li et al. | Exploring label probability sequence to robustly learn deep convolutional neural networks for road extraction with noisy datasets | |
CN116721206A (zh) | 一种实时的室内场景视觉同步定位与建图方法 | |
CN116386803A (zh) | 一种基于图的细胞病理报告生成方法 | |
CN115953578A (zh) | 一种裂缝语义分割模型推理结果的评估方法及装置 | |
CN115790622A (zh) | 面向果园车辆导航路线规划的走廊地图构建及导航点生成方法 | |
CN114821651A (zh) | 一种行人重识别方法、系统、设备及计算机可读存储介质 | |
CN115082778A (zh) | 一种基于多分支学习的宅基地识别方法及系统 | |
CN108985306B (zh) | 基于改进边界代数法的相交多边形提取方法 | |
CN116431964B (zh) | 一种复杂河网水系骨架线生成的游程剥离法 | |
CN113378079A (zh) | 基于改进免疫算法的电动汽车充电站选址方法及系统 | |
CN117649675B (zh) | 一种表格生成方法、装置、设备及存储介质 | |
CN117932974B (zh) | 一种水库水下数字高程模型的构建方法 | |
CN111435537A (zh) | 模型训练方法、装置及基于拼接图的位姿优化方法、装置 | |
CN117315001B (zh) | 一种基于激光扫描的房建面积快速检测方法及系统 | |
CN112686574B (zh) | 一种识别属性设施网络关键结构的方法 | |
CN115689965B (zh) | 面向整景卫星影像深度学习密集匹配的多级视差融合方法 | |
Wang et al. | BinVPR: Binary Neural Networks towards Real-Valued for Visual Place Recognition | |
CN115909316A (zh) | 一种面向数据不均匀场景的轻量化端到端车牌识别方法 | |
CN116777069A (zh) | 考虑复杂地理因素的光伏电站的图特征网络选址方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |