掌桥专利:专业的专利平台
掌桥专利
首页

面向特定区域的电子海图显示与应用平台

文献发布时间:2023-06-19 19:30:30


面向特定区域的电子海图显示与应用平台

技术领域

本发明涉及电子海图和路径规划领域,尤其涉及一种面向特定区域的电子海图显示与应用平台。

背景技术

以船舶为载体的水路运输在社会经济发展中发挥着重要作用。但每年特定区域的特定事件频发,严重影响了船舶航行安全。目前,承担航行规划主体工作的电子海图系统尚未将这些特定区域纳入考量范围,无法为航行船舶提供一些特定信息,难以有效地保障船舶安全驶过这些特定区域。基于电子海图的面向特定区域特定信息实时查询和航线规划技术是实现船舶安全航行的关键技术之一。

M.H.Overmars等(Bratton B and Pannell G,“Probabilistic roadmaps forpath planning in high-dimensional configuration spaces”,Journal of OpenHumanities Data)提出了一种概率路线图算法(Probabilistic Roadmap Method,PRM),该算法使用随机采样的方法在环境中建立路径网络图,将连续的空间转换为离散的空间,进而在路径网络图上规划路径。然而,利用该算法设计船舶航线的结果取决于航迹采样点的数量和利用率,其获取的航线拐点较多且拐点处路线不够平滑,不适用于实际船舶航行。

发明内容

针对上述现有技术存在的不足,本发明提供一种面向特定区域的电子海图显示与应用平台,不仅可以解析读取任意电子海图文件,还能将全球特定事件点同电子海图经纬度范围匹配显示,实现对特定信息的查询,根据船舶起讫点坐标自主规划安全航线,使船舶在特定区域航行安全性显著提高。

本发明所采用的技术方案为:

一种面向特定区域的电子海图显示与应用平台,包括:电子海图解析与显示单元、航线规划单元和电子海图平台设计单元;

电子海图解析与显示单元包括S-57文件解析显示模块和特定事件点层设计和加载模块;S-57文件解析显示模块和特定事件点层设计和加载模块分别实现S-57文件以S-52标准规范化显示和特定事件点在海图上符号化显示;添加特定事件点层的电子海图输出给航线规划单元;

航线规划单元包括环境建模模块和IPRM算法模块;环境建模模块将添加特定事件点层的电子海图栅格化灰度处理,确定可航区域和不可航区域,并将航行环境信息输出给IPRM算法模块;IPRM算法模块根据航行环境和输入的起讫点经纬度信息规划安全航线;

电子海图平台设计单元包括平台架构模块和功能模块;平台架构模块对平台进行整体设计,确定操作界面;功能模块在平台架构模块事件触发后,实现包括任意S-57文件的解析显示、全球特定信息动态更新、显示与查询以及特定区域航线规划。

进一步,S-57文件解析显示模块用于读取并解析后缀为.000的文件,并转存为ESRI ShapeFile文件,利用构建的SVG格式海图符号库进行标准化渲染,根据墨卡托投影将地理坐标系转换为计算机屏幕坐标系,实现海图的标准化显示;SVG格式海图符号库的符号类型分为点、线和面。

进一步,S-57文件解析显示具体包括以下步骤:

S1、基于GDAL库,实现电子海图文件解析、读取和转存为ShapeFile文件;

电子海图解析、读取流程为:1、注册所有驱动,然后创建读取电子海图文件的驱动对象;2、使用驱动对象打开电子海图文件获取电子海图数据源DataSource,然后获取数据源中的图层数和当前图层对象;3、循环读取图层中的每一个特征要素,然后获取特征要素的属性表;4、获取属性列OField及属性列名称/数据类型和特征要素的属性信息;5、实例化特征要素中几何对象,然后获取包含几何对象经纬度和水深值的空间信息;6、读取完当前图层中所有的特征要素后,重复上述步骤来遍历电子海图的所有图层;

电子海图转存为ShapeFile的流程为:1、注册所有驱动,然后创建ESRI ShapeFile的驱动对象;2、创建数据源DataSource,然后建立ESRI ShapeFile的坐标系SRS,并将ESRIShapeFile的坐标系统设置为地理坐标系;3、创建点/三维点/线/面图层,其中三维点图层用于存储电子海图中水深点这一特征要素的属性信息和空间信息;4、创建特征要素和几何要素,并将特征要素的属性信息和几何对象进行关联;5、重复上述步骤来依次建立ESRIShapeFile储存电子海图中对应图层的信息,最终实现电子海图所有图层的转存;

S2、将S-52绘图指令重构为SVG图元来创建电子海图符号库,同时设计点、线、面图层渲染和水深点图层标注的实现方法,基于符号库对转存的ShapeFile文件分图层渲染;

其中,点图层渲染流程为:1、获取图层名称和几何类型;2、判断是否为点图层,并在符号库中检索对应的符号;3、若有匹配的符号,则获取对应的SVG符号,若没有匹配的符号则不进行渲染;4、创建点符号渲染样式,并删除默认渲染样式,在点符号渲染样式中添加符号,并通过图层中的特征要素属性信息获取渲染规则;5、若没有特殊渲染规则,则构建单一渲染器,将图层中所有特征物以渲染器中的方式进行渲染,并刷新图层,实现符号化渲染;6、针对需要注记或有渲染规则的图层,则构建规则渲染器,并传入对应的渲染规则,遍历规则并对匹配规则的特征要素进行渲染,并刷新图层;

线图层渲染流程为:1、获取图层名称和几何类型;2、判断是否为线图层,并在符号库中检索对应的符号;3、若没有匹配的符号,则通过图层中特征物的属性信息来确定线图层的渲染样式,并将具体信息存储到样式字典;记录下线图层的渲染样式,并构建单一渲染器,以渲染器中的渲染方式来渲染所有特征物,并刷新图层,实现简单渲染;4、若有对应的符号,则设置线图层渲染的SVG符号,进行符号化渲染并刷新图层;5、若需要设置渲染规则,则构建规则化渲染器,传入线图层的渲染规则,遍历规则并对匹配规则的特征要素进行渲染,并刷新图层;

面图层渲染流程为:1、获取图层名称和几何类型;2、判断是否为面图层,并在符号库中检索对应的符号,若有匹配的符号,则获取对应的SVG符号;3、通过图层中特征要素属性信息获取图层渲染规则,若无渲染规则,则构建单一渲染器,创建面图层渲染样式,传入对应的SVG符号,对图层中所有特征物进行符号化渲染,并刷新图层;4、若有渲染规则,则构建规则渲染器,遍历图层中的特征要素,对其规则化渲染,刷新图层;5、若无匹配的面符号,该图层为无填充单一填充多色填充,同样构建渲染器,然后构建填充层,设置填充样式、填充颜色、边界线颜色和样式,并将对应的样式传给渲染器;6、若是无填充或单一填充,则构建单一渲染器来渲染图层中的所有特征物,并刷新图层;7、若是多色填充,则构建规则渲染器,获取并传入面图层渲染规则,遍历规则并以渲染器中的样式对匹配规则的特征要素进行渲染;

水深点图层渲染流程为:1、获取图层名称,判断是否为水深点图层;2、创建水深点图层的单一渲染样式,将水深点图层所有特征物的填充颜色和边界线设置为无填充和无实线;3、构建单一渲染器,将水深点图层所有特征物以渲染器中的样式进行渲染,并刷新图层;4、创建水深点图层的标注器和文本容器,设置标注的字体样式和字体颜色;5、获取并设置水深点图层的标注样式,遍历水深点图层所有特征物进行标注;

S3、将电子海图地理坐标系经墨卡托投影变换为计算机屏幕可显示的坐标系;地理坐标系下的经纬度坐标(X,Y)到墨卡托坐标系下的坐标(B,L)的变换方法如下:

墨卡托投影坐标变换公式为:

X=R

式中,L

式中,N

则,墨卡托投影逆变换公式为:

其中,

进一步,特定事件点层设计和加载模块包括特定事件信息获取、目标物标符号与属性设计以及特定事件点层创建和符号化显示;特定事件信息获取包括特定水域发生的特定事件信息,并动态整理更新;目标物标符号与属性设计符合IHO标准,满足特定事件信息在海图中的可视化;特定事件点层创建和符号化显示将特定水域特定事件发生的地点与电子海图的经纬度范围进行匹配,使该海图水域范围内的特定事件在海图上加载显示。

进一步,特定事件发生的地点与电子海图经纬度范围匹配方法如下:

S1、加载电子海图文件,并获取电子海图文件图层所包含的几何要素Geometry,通过调用Geometry.getEnvelope()函数获取整张电子海图的覆盖范围cover;

S2、加载特定事件点文件,并初始化操作,即遍历该图层所有特征物,并将所有特征物的isshow属性字段值设置为0;

S3、通过GetNextFeature()函数遍历特定事件点层中包含的所有特征物,并依次获取每个特征物对应的几何要素geometry;

S4、通过geometry.GetX()和geometry.GetY()函数获取该几何要素的经纬度,将其与cover进行比较,判断是否在经纬度范围内;

S5、若geometry在经纬度范围内,则将该特征物的isshow字段值设置为1,否则为0;

S6、设置显示规则函数,规则化渲染特定事件点图层,实现在电子海图覆盖范围内加载显示目标物标符号。

进一步,环境建模模块首先从转存的ShapeFile文件中检索出对路径规划有用的图层,包括陆地区和海岸线,同时对这些图层进行栅格化、灰度处理,陆地为黑色不可航区,水域为灰色可航区;然后选取特定事件点,以特定事件点为中心使用高斯混合分布随机生成虚拟特定活动点,再使用凸包算法将虚拟特定活动点用凸多边形表示,进而有效预测活动危险区,将其视为不可航区;对叠加危险区的电子海图重新划分栅格网络,实现栅格法环境建模,同时将建立的环境模型中不可航区的边界经纬度信息保存起来,输入到IPRM算法模块进行航线规划。

进一步,凸包算法为Graham Scan算法。

进一步,IPRM算法由改进学习阶段和增强探索阶段构成;

在改进学习阶段,检测栅格化环境信息模型中的采样点位置,如果采样点落在可航区域内,则加入到船舶无向航线网络图中;如果落在不可航区域内,则使用采样点重置函数SPR生成新的采样点代替不可航区域中的采样点;其中SPR满足下面等式:

其中,x和y代表位置坐标,v代表不可航区采样点位置,B代表新的采样点位置,z代表半径;以原采样点为圆心,以恰当的半径z做虚线圆,则虚线圆上属于船舶可航区域内的采样点替代不可航区域内的采样点;

增强探索阶段,采用Dijkstra搜索算法从无向船舶航线图中搜索出一条最短且无碰撞的航线,并采用D-P算法提取出航线中的关键航迹点KTP,依次连接KTP形成初始优化航线,以减少船舶航行过程中的转向次数,再使用欧拉螺线拟合平滑初始优化航线得到特定区域设计航线;

使用D-P算法获取初始优化航线的步骤为:1、依据特定区域航行环境信息及初始航线的航迹点个数确定阈值

使用欧拉螺线平滑处理初始优化航线的方法如下:

将获得的各KTP坐标设为Q(x

式中,s

其中,θ

进一步,操作界面包括菜单栏、海图显示区和状态栏;菜单栏是整个平台的控制中心,通过菜单栏实现平台的基本功能;海图显示区包括图层列表区和图层显示区,图层列表区陈列电子海图解析后的所有图层,图层显示区用于显示海图、全球特定信息和设计的航线;状态栏显示鼠标所在位置的经纬度及海图的比例尺信息。

进一步,功能模块包括海图解析显示、特定信息查询和特定区域航线规划;功能模块将电子海图解析与显示单元、航线规划单元同平台架构模块相联系,通过菜单栏中各触发事件实现海图解析显示、特定信息查询和特定区域航线规划。

本发明与现有技术相比,具有以下优点及有益效果:

1、本发明提供的一种面向特定区域的电子海图显示与应用平台,实现特定事件点按照IHO标准在海图上显示,不但可以对航行水域中的特定信息实时查询,而且可以根据任意起讫点规划安全航线。

2、基于GDAL库设计一种电子海图文件解析、读取与转存的方法,将其包含的所有信息都以图层的形式储存为ShapeFile文件;接着将S-52绘图指令重构为SVG图元来创建海图符号库,最后分别从点、线、面出发,设计了对应图层的渲染和标注方法。

3、设计一种符合IHO标准的目标物标,同时设计一种电子海图中匹配显示特定事件点的方法,实现特定活动点的直观展示。

4、设计IPRM算法,在PRM算法改进学习阶段引入了采样点重置函数替换不可航区域中的采样点,提高采样点的利用率;增强探索阶段加入D-P算法和欧拉螺线来实现线路的优化和平滑处理。

附图说明

图1为本发明的原理框图。

图2为海图环境建模图层处理图。

图3为随机生成虚拟特定活动点效果图。

图4为EA200001.000转存为ShapeFile文件图。

图5为电子海图坐标系转换流程图。

图6为目标物标符号设计图。

图7为IPRM算法流程图。

图8为平台整体框架图。

图9为加载EA200004.000及特定事件点图层结果图。

图10为特定区域IPRM算法与PRM算法规划航线效果对比图。

图11为特定区域IPRM算法与PRM算法规划航线结果对比图。

图12为加载目标物标属性表图。

图13为平台特定区域航线规划效果图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明公开了一种面向特定区域的电子海图显示与应用平台,包括电子海图解析与显示单元、航线规划单元和电子海图平台设计单元。电子海图解析与显示单元包括S-57文件解析显示模块、特定事件点层设计和加载模块,S-57文件解析显示模块可以读取任意一张S-57文件并以S-52标准规范化显示,特定事件点层设计和加载模块将根据全球特定事件创建特定事件点图层并叠加显示到电子海图上。航线规划单元包括环境建模模块和IPRM算法模块,环境建模模块将添加特定事件点图层的电子海图栅格化灰度处理,确定可航区和不可航区,并将航行环境信息输出给IPRM算法模块,IPRM算法模块将PRM算法进行改进,并结合航行环境信息规划特定区域安全航线。电子海图平台设计单元包括平台架构模块和功能模块,平台架构模块对平台进行整体设计,确定操作主界面,功能模块包括任意S-57文件的解析显示、全球特定信息显示与查询,以及特定区域航线规划。本发明不但能实现电子海图的标准化显示,而且还能在海图上动态显示特定事件点,进一步,可以查询特定信息并在特定区域设计安全航线,从而为特定区域船舶航行提供安全保障。

本发明实施例的面向特定区域的电子海图显示与应用平台,如图1所示,包括电子海图解析与显示单元、航线规划单元和电子海图平台设计单元。

电子海图解析与显示单元包括S-57文件解析显示模块和特定事件点层设计和加载模块,S-57文件解析显示模块和特定事件点层设计和加载模块分别实现S-57文件以S-52标准规范化显示和特定事件点在海图上符号化显示,并将添加特定事件点图层的电子海图输出给航线规划单元。

S-57文件解析显示模块可以读取并解析后缀为.000的文件,并转存为ESRIShapeFile文件,利用构建的SVG格式海图符号库进行标准化渲染,根据墨卡托投影将地理坐标系转换为计算机屏幕坐标系,实现海图的标准化显示。SVG格式海图符号库是通过S-52国际显示标准中规定的符号绘制指令转换为SVG图元可识别的语言,参考北京星天科技公司的电子海图符号库进而重构的,符号类型可分为点、线和面。

特定事件点层设计和加载模块包括特定事件信息获取、目标物标符号、属性设计,以及特定事件点层创建和符号化显示,特定事件信息获取包括全球2000-2021年发生的特定事件信息,可动态整理更新;目标物标符号、属性设计是符合IHO标准的,满足特定事件信息在海图中的可视化;特定事件点层创建和符号化显示将全球特定事件发生的地点与电子海图的经纬度范围进行匹配,使该水域的特定事件在海图上加载显示。

航线规划单元包括环境建模模块和IPRM算法模块,环境建模模块将添加特定事件点层的电子海图栅格化灰度处理,确定可航区域和不可航区域,并将航行环境信息输出给IPRM算法模块,IPRM算法模块将PRM算法进行改进,并根据航行环境和输入的起讫点经纬度信息规划安全航线。

如图2所示,环境建模模块首先从转存的ShapeFile中检索出对路径规划有用的图层(如陆地区(polygonLNDARE.shp)、海岸线(lineCOALNE.shp)),同时对这些图层进行栅格化、灰度处理,陆地为黑色不可航区,水域为灰色可航区;如图3所示,选取特定事件点,以特定事件点为中心使用高斯混合分布生成随机的虚拟特定活动点,再使用凸包算法将特定活动点用凸多边形表示,进而有效的预测活动危险区,将其视为不可航区;对叠加危险区的电子海图重新划分栅格网络,进而实现栅格法环境建模,同时将建立的环境模型中不可航区的边界经纬度信息保存起来,输入到IPRM算法模块进行航线规划。其中,凸包算法为GrahamScan算法。

IPRM算法模块根据输入的起讫点坐标和环境建模模块输入的航行环境信息,设计安全航线,与传统PRM算法相比,IPRM算法规划的航线航迹点更少、更平滑、长度更短。

电子海图平台设计单元包括平台架构模块和功能模块,平台架构模块对平台进行整体设计,确定操作界面;功能模块在平台架构模块事件触发后,可以实现包括任意S-57文件的解析显示、全球特定信息动态更新、显示与查询,以及特定区域航线规划。

操作界面包括菜单栏、海图显示区和状态栏;菜单栏是整个平台的控制中心,用户可以通过菜单栏实现平台的基本功能;海图显示区包括图层列表区和图层显示区,图层列表区陈列电子海图解析后的所有图层,图层显示区用于显示海图、全球特定信息和设计的航线;状态栏显示鼠标所在位置的经纬度及海图的比例尺信息。

功能模块包括海图解析显示、特定信息查询和航线规划三个方面,将电子海图解析与显示单元、航线规划单元同平台架构模块相联系,通过菜单栏中各触发事件实现相应功能。

本发明使用Pycharm编译平台,搭建QGIS3.8.0开发环境,实现对GDAL库的调用,GDAL库中,每种文件格式都有一个对应的驱动类,其中S57Reader类中完整的封装了ISO8211Lib库,可以实现对S-57文件的精确解析与数据读取;平台架构模块使用PyQt5等库包来实现。

其中,S-57文件解析显示模块具体实现过程如下:

S1、基于GDAL设计一种电子海图文件解析、读取和转存为ShapeFile文件的方法。

电子海图解析、读取流程为:1、注册所有驱动,然后创建读取电子海图文件的驱动对象Driver;2、使用驱动对象打开电子海图文件获取电子海图数据源DataSource,然后获取数据源中的图层数和当前图层对象Layer;3、循环读取图层中的每一个特征要素Feature,然后获取特征要素的属性表FeatureDefn;4、获取属性列OField及属性列名称/数据类型和特征要素的属性信息;5、实例化特征要素中几何对象Geometry,然后获取几何对象经纬度和水深值等空间信息,获取全部信息后需删除Feature,释放缓存空间;6、读取完当前图层中所有的特征要素后,重复上述步骤来遍历电子海图的所有图层。

电子海图转存为ShapeFile的流程为:1、注册所有驱动,然后创建ESRI ShapeFile的驱动对象Driver;2、创建数据源DataSource,然后建立ESRI ShapeFile的坐标系SRS,并将ESRI ShapeFile的坐标系统设置为地理坐标系;3、创建点/三维点/线/面图层Layer,其中三维点图层用于存储电子海图中水深点这一特征要素的属性信息和空间信息;4、创建特征要素Feature和几何要素Geometry,并将特征要素的属性信息和几何对象进行关联;5、重复上述步骤来依次建立ESRI ShapeFile储存电子海图中对应图层的信息,最终实现电子海图所有图层的转存。转存结果如图4,其中firstDSID.shp为数据描述图层,multipointSOUNDG.shp为水深点图层,其他前缀为pointlinepolygon分别为点、线、面图层。

S2、将S-52绘图指令重构为SVG图元来创建电子海图符号库,同时设计了点、线、面图层渲染和水深点图层标注的实现方法,基于符号库对转存的ShapeFile文件分图层渲染。S-52绘图指令如表1所示。

表1S-52绘图指令表

/>

S-52绘图指令重构为SVG图元流程如下:

1、首先将指令SP对应的画笔颜色在SVG中通过stoke属性定义;2、然后将指令SW定义的画笔宽度W转换为SVG中的画笔宽度0.32W,并通过SVG中的stroke-width属性定义;3、接着通过SVG中的stroke-opacity设置透明度。ST0/1/2/3分别对应stroke-opacity=100%/75%/50%/25%;4、指令PU和PD中的坐标信息传递给SVG中的x1、y1、x2、y2或者points属性,可在SVG重构出直线/折线;5、指令PU和AA中的坐标信息传递给SVG路径图元中的C属性,可以重构出圆弧;6、指令PU、PMO、CI、PM2、FP中的圆心坐标和半径传递给SVG圆形图元的cx、cy、r属性,可以重构出圆,FP中的填充颜色传递给SVG中的fill属性;7、指令PU、PM0、PU/AA/PD、PM1、PU/AA/PD、PM2、EP、FP中的坐标信息传递给SVG多边形图元的points属性,可以重构出多边形,EP、FP的线条宽度信息和填充颜色信息分别传递给stroke-width、fill属性。

点图层渲染流程为:

1、获取图层名称和几何类型;2、判断是否为点图层,并在符号库中检索对应的符号;3、若有匹配的符号,则获取对应的SVG符号,若没有匹配的符号则不进行渲染;4、创建点符号渲染样式,并删除默认渲染样式,在点符号渲染样式中添加符号,并通过图层中的特征要素属性信息获取渲染规则;5、若没有特殊渲染规则,则构建单一渲染器,将图层中所有特征物以渲染器中的方式进行渲染,并刷新图层,实现符号化渲染;6、针对需要注记或有渲染规则的图层,则构建规则渲染器,并传入对应的渲染规则,遍历规则并对匹配规则的特征要素进行渲染,并刷新图层。

线图层渲染流程为:

1、获取图层名称和几何类型;2、判断是否为线图层,并在符号库中检索对应的符号;3、若没有匹配的符号,则通过图层中特征物的属性信息来确定线图层的渲染样式,并将具体信息存储到样式字典;记录下线图层的渲染样式,并构建单一渲染器,以渲染器中的渲染方式来渲染所有特征物,并刷新图层,实现简单渲染;4、若有对应的符号,则设置线图层渲染的SVG符号,进行符号化渲染并刷新图层;5、若需要设置渲染规则,则构建规则化渲染器,传入线图层的渲染规则,遍历规则并对匹配规则的特征要素进行渲染,并刷新图层。

面图层渲染流程为:

1、获取图层名称和几何类型;2、判断是否为面图层,并在符号库中检索对应的符号,若有匹配的符号,则获取对应的SVG符号;3、通过图层中特征要素属性信息获取图层渲染规则,若无渲染规则,则构建单一渲染器,创建面图层渲染样式,传入对应的SVG符号,对图层中所有特征物进行符号化渲染,并刷新图层;4、若有渲染规则,则构建规则渲染器,遍历图层中的特征要素,对其规则化渲染,刷新图层;5、若无匹配的面符号,该图层为无填充单一填充多色填充,同样构建渲染器,然后构建填充层,设置填充样式、填充颜色、边界线颜色和样式,并将对应的样式传给渲染器;6、若是无填充或单一填充,则构建单一渲染器来渲染图层中的所有特征物,并刷新图层;7、若是多色填充,则构建规则渲染器,获取并传入面图层渲染规则,遍历规则并以渲染器中的样式对匹配规则的特征要素进行渲染。

水深点图层渲染流程为:

1、获取图层名称,判断是否为水深点图层;2、创建水深点图层的单一渲染样式,将水深点图层所有特征物的填充颜色和边界线设置为无填充和无实线;3、构建单一渲染器,并将水深点图层所有特征物以渲染器中的渲染样式进行渲染,刷新图层;4、创建水深点图层的标注器和文本容器,设置标注的字体样式和字体颜色;5、获取并设置水深点图层的标注样式,遍历水深点图层所有特征物进行标注。

S3、如图5所示,将电子海图WGS84地理坐标系经墨卡托投影变换为计算机屏幕可显示的坐标系。

地理坐标系下的经纬度坐标(X,Y)到墨卡托坐标系下的坐标(B,L)的变换公式如下:

墨卡托投影坐标变换公式为:

X=R

式中,L

式中,N

墨卡托投影逆变换公式为:

其中,

目标物标符号、属性设计如下:

如图6所示,为了在海图上更形象地反映出特定事件点,按照SVG符号构建方法,创建目标物标符号。目标物标符号分为上下两个部分,上面为船帆,船帆上有特定事件标志符号;下面为船体部分,船体上写着目标物标的编码。

按照S-57国际标准中规定使用6个大写英文字母字符和数字的组合代表物标名及其属性编码,并且每个物标都有A、B、C三个属性集。其中A用来存储物标的特征信息,B用来存储物标应用及显示的相关信息,C用来存储物标的描述和管理信息。为了更全面的记录特定活动的相关信息,在S-57国际标准规定的物标属性外新增一些特定专题的物标属性。新增的物标属性编码采用6个小写英文字母、字符和数字的组合,新增的物标代码按照IHO非标准物标和属性(16388-65534)代码范围采用5位以数字60开头的代码,以此与S-57国际标准中原有的物标属性进行区分。设计的目标物标属性如表2所示。

表2目标物标属性表

特定事件点与电子海图经纬度范围匹配显示方法如下:

S1、加载电子海图文件,并获取M_COVR图层所包含的几何要素Geometry,通过调用Geometry.getEnvelope()函数获取整张电子海图的覆盖范围cover;

S2、加载特定事件点文件,并初始化操作,即遍历该图层所有特征物,并将所有特征物的isshow属性字段值设置为0;

S3、通过GetNextFeature()函数遍历特定事件点层中包含的所有特征物,并依次获取每个特征物对应的几何要素geometry;

S4、通过geometry.GetX()和geometry.GetY()函数获取该几何要素的经纬度,将其与cover进行比较,看是否在经纬度范围内;

S5、若geometry在经纬度范围内,则将该特征物的isshow字段值设置为1,否则为0;

S6、设置显示规则函数rules=('rule1','isshow=1','SVG目标符号'),规则化渲染特定事件点图层,实现在电子海图覆盖范围内加载显示目标物标符号。

高斯混合分布模型为:

其中p(x)为混合高斯分布的表达式,π

如图7所示,IPRM算法由改进学习阶段和增强探索阶段构成,

在改进学习阶段会检测栅格化环境信息模型中的采样点位置,如果采样点落在可航区域内,则加入到船舶无向航线网络图中;如果落在不可航区域内,使用采样点重置函数(Sample Point Reset,SPR)生成新的采样点代替不可航区域中的采样点,提升改进学习阶段中采样点的使用率。

其中SPR满足下面等式:

其中,v代表不可航区采样点位置,B代表新的采样点位置,z代表半径。以原采样点为圆心,以恰当的半径z做虚线圆,则虚线圆上每一个属于船舶可航区域内的采样点都可以替代不可航区域内的采样点。

增强探索阶段采用Dijkstra搜索算法从无向船舶航线图中搜索出一条最短且无碰撞的航线,并采用道格拉斯-普克(Douglas-Peukcer,D-P)算法提取出航线中的关键航迹点(Key Track Point,KTP),依次连接KTP形成初始优化航线,以减少船舶航行过程中的转向次数,再使用欧拉螺线拟合平滑初始优化航线得到特定区域设计航线。

使用D-P算法获取初始优化航线的基本步骤为:

1、依据特定区域航行环境信息及初始航线的航迹点个数确定阈值

使用欧拉螺线平滑处理初始优化航线的方法如下:

将获得的各KTP坐标设为Q(x

式中s

其中θ

图8为本发明平台整体框架图。

仿真实验:

为验证本发明的有效性,如图9所示,以S-57文件EA200004.000为仿真对象,使用本发明提供的平台进行加载显示,同时加载显示特定事件点层。

如图10和图11所示,利用本发明提供的IPRM算法设计航线,比传统PRM算法规划的线路航迹点数更少、长度更短。如图12所示,在加载全球特定事件点层后,属性表可以显示所有目标物标的属性信息。如图13所示,在本发明提供的平台主界面中,选择菜单栏中航线规划,输入随机起讫点坐标分别为(45.0647E,12.7134N)和(45.9056E,12.2612N),“确认”按钮为触发事件,设计航线如图所示。

需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。

本领域的技术人员容易理解,以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • Android平台下电子海图引擎及无时延显示方法
  • Android平台下电子海图引擎及无时延显示方法
技术分类

06120115930424