台风是发生在热带洋面上的一种强烈的暖性气旋性风暴,是威胁船舶安全航行的最严重的灾害性天气之一。船舶在海上遭遇台风天气,传统的解决办法是,将台风中心的预报位置和本船的船位点标绘在《台风位置标示图》上,研究本船与台风的相对位置以及相互间动态的发展态势,考虑各种因素的影响并留有充分余地,在小比例尺海图上用几何相对运动标绘的方法作图,绘算出本船应采取的避台航向。本文所研究的就是发挥电子海图地理信息系统的综合显示、综合解算和航路绘算的技术优势,运用航海技术,融合台风和船舶运动信息,形成船舶规避台风的智能控制方案,实现对船舶航线与台风路径的实时监控及快速、准确地制订绕避台风的航路规划,为船舶绕避台风提供技术手段,对弥补用传统纸海图制订绕避方案的缺点,对船舶安全有效地绕避台风具有现实意义。
1电子海图显示与信息系统
电子海图显示与信息系统是现代航海的一项新技术,它在保障航行安全和提高航行工作效率方面发挥着显著的作用,与简单的用颜色显示的纸制海图相比,电子海图包含更多的使用简单、操作容易的地理和文字信息,是一种把需要向航海人员显示和解释的各种各样信息融合成一体的实时导航系统。正是由于电子海图显示与信息系统有诸多优势,人们开始尝试以电子海图平台为基础,将其他数据信息融入其中,实现具有特殊功能的应用系统并成功地用于新的领域。
2基于台风预报误差遭遇概率算法
由于台风运动的不确定性以及目前气象预报的水平,未来航线上是否会遭遇台风,并不是个“10”的确定性问题。因此在制定船舶绕避台风方案时要充分考虑台风预报误差的存在,也就是引入船舶遭遇台风概率思想,并融入到船舶绕避台风的算法中。
2.1遭遇概率概念
如图1所示,L和O分别为初始时刻的船位和台风中心位置。F为台风中心预报位置,E为预报圆半径,M为对应时刻的推算船位点。M与F相距为R。P为预报时刻台风中心的真实位置,与F距离为r。S为船舶遭遇台风的安全距离。需要计算的是,由于F点的预报存在误差,以S为安全距离,船舶M遭遇台风影响的概率为K(即L落入P-S圆的概率)。设台风中心位置的预报误差的概率密度为P(r),则
显然,当x2≤S2时,船舶将落入台风带来的恶劣天气区[4,5]。显然,K∈[0,1]。k的数值越接近1,船舶遭遇台风的可能性越高。
2.2遭遇概率算法
如图2所示,
L为当前船位,F为预报台风位置,虚线圆为船舶安全距离圆,点划线圆为台风预报圆,船舶位置一直保持在台风预报位置的危险大风圈外,即R≥S。由于台风预报误差的存在,在θ=0状态下,台风影响船舶安全的范围为[R-S,R+S],台风影响船舶安全的角度范围为[-θ(max),θ(max)],即台风在以上范围内变化将影响船舶航行安全。θ1在角度状态下,图中阴影部分为台风所处范围,因此当得知台风中心位置的预报误差的概率密度之后,就可以通过象限[R-S,R+S]和[-θ(max),θ(max)]进行遭遇概率的计算,如式(1)所示。
如图3所示,L为当前船位,F为台风预报位置,虚线圆为船舶安全距离圆,点划线圆为台风预报圆,当船舶位置进入到台风预报位置的危险大风圈内,
再如式(1)所示[7],得到最终遭遇概率公式为:
如果利用70%概率圆计算,积分区间Rθ要落在E之内,若式(5)和式(6)确定的积分界限为R*θ,则Rθ=min(E,R*θ)。而所求K为面积,在每个θ(i)~θ(i+1),由于δθ的步长很小,可以用三角形面积近似[8,9]。对于非天气预报时刻的某一时刻T,可有台风预报内插得到其预报位置,计算方法同前
3系统结构和功能设计
3.1系统结构设计
图4示出船舶绕避台风系统软件结构图,设计充分考虑了系统需要实现的所有功能和可行的结构形式,结构紧凑,相互关联密切
从图4可以看到,系统主要由海图显示模块、数据库模块、船舶信息显示模块、台风信息显示模块、船舶绕避台风方案制定模块和设置模块构成。系统的所有模块都以海图显示模块为基础,海图显示模块包含海图的基本操作:换比例显示、移图、绘算和换海图等。船舶和台风的数据库模块以ODBC数据库形式存储和管理,运用数据库技术增强了对数据的管理能力。数据库模块向船舶信息显示和台风信息显示模块提供船舶和台风数据信息,船舶信息显示和台风信息显示模块将这些数据信息加工处理后与海图数据进行叠加,并根据设置模块的设置显示在电子海图上,使得船员能够直观地观测船舶和台风的当前位置以及它们的变化。船舶绕避台风方案制定模块则在后台对这些数据进行分析,高效地制定船舶绕避台风方案,为船舶安全快速地绕避台风提供可靠依据。
3.2系统具体功能设计
3.2.1信息数据输入及其相关的设计
如图5所示的序列图,用户选择改变当前海图功能,类对象Change的操作SFile()被调用,选择相应海图;调用类对象EcdisDrawer的操作Create(),进行海图的绘制;调用类对象CEcdisCon的操作Read(),进行海图数据的读取,调用操作initialize()和Load()操作进行海图数据初始化和拼接;调用类对象Change的操作WPasseord(),进行数据管理模块的登陆;调用类对象EditPassWord的操作Submit()和Check()完成密码的提交和审核;调用类对象EditPassWord的操作Edit(),进行船舶、台风数据进行编辑准备;调用类对象ImportBoatBase的操作Transmit(),进行船舶数据的自动导入;调用类对象DataBase的操作Input_t(),将船舶数据写入数据库;调用类对象ImportBoatBase的操作WInfo(),进行船舶信息的手动输入;调用类对象DataBase的操作Input_w(),将船舶数据写入出据库;调用类对象DataBase的操作Set(),进行系统设置前的准备;调用类对象DataBase的操作SetBoat()、SetSaill()和SetTF(),分别进行船舶相关、启动相关和台风相关的设置。
以上实体类的设计和相互关联关系,就实现了船舶绕避台风系统中海图显示、船舶和台风信息的管理功能。具体完成了海图显示及其相关操作、船舶数据的输入和管理、台风数据的输入和管理、系统启动所需的设置功能。
3.2.2信息数据应用及其相关的设计
如图6所示的序列图,用户选择改变当前海图功能,调用类对象Change的操作SFile(),选择相应海图;调用类对象EcdisDrawer的操作Create(),进行海图的绘制;调用类对象CEcdisCon的操作Read(),进行海图数据的读取,调用操作initialize()和Load()操作进行海图数据初始化和拼接;调用类对象BoatTable的操作WatchInfo(),进行船舶简表的观察;调用类对象DataBase的操作LookUp_b(),进行船舶信息的查询;调用类对象TFTable的操作P(),进行台风简表的观察;调用类对象DataBase的操作LookUp_t(),进行船舶信息的查询;调用类对象BoatStrategy的操作Make(),制定船舶绕避台风方案;调用类对象FbktDssVC的操作SetSelect_b()和SetSelect_t(),分别进行船舶绕避台风方案的显示设置
以上实体类的设计和相互关联关系,就实现了对船舶和台风数据信息的可视化显示。具体完成了在海图上绘制船舶位置和航线、台风的位置和未来位置、对船舶和台风数据的实时查询和显示以及根据船舶和台风信息制定船舶绕避台风方案。
4船舶绕避台风系统实现
船舶绕避台风系统启动后,通过船舶和台风数据管理功能将船舶和台风数据引入数据库中,在海图显示平台的基础上,通过设置显示方式,根据船舶和台风的当前位置选调合适海图,将船舶位置和航线以及台风当前位置和移动路径在电子海图上进行叠加。随着船舶和台风信息的变化,其显示内容实时进行变化,并随时可对船舶和台风信息进行查询,监控船舶和台风的当前位置和发展趋势。如图7所示,系统实现了基本的海图以及缩略图的显示,并成功将船舶位置和航线以及台风位置和未来时间的位置信息以可视化的形式显示在电子海图上,并通过鼠标的选择和点击,对实时船舶和台风数据进行查询,以数据对话框的形式显示出来。
图7右侧的控制面板包含对海图进行基本的操作功能,对船舶和台风的数据信息进行管理的功能,船舶和台风信息显示设置和绕避方案制定的功能。根据当前船舶和台风的具体位置和发展趋势信息,通过台风预报误差遭遇概率算法制定船舶绕避台风的具体方案。
5结语
本文成功地将电子海图显示平台和船舶与台风数据信息相结合,引入预报误差遭遇概率算法,实现了船舶绕避台风系统。不仅将船舶的位置和航线以及台风的位置和发展趋势形象和实时地显示在电子海图平台上,而且还能高效地制定船舶绕避台风方案。利用此系统,可以有效地发挥电子海图平台的显示优势,在船舶遭遇台风天气情况下实时观测船舶与台风的相对位置,根据绕避台风方案改变航速和航线,更加安全可靠地完成航行任务。