科学技术飞速发展,信息化技术和数字化技术在各行业中得到了广泛的应用。电子海图显示与信息系统(ECDIS)作为航海技术的重大革新,已经取代传统纸质海图,成为舰船航海中重要的导航系统。目前,为保证海洋航行的安全性和应对飞速发展的海洋航运格局,国际海事组织安全会已经制定了船舰必须配备ECDIS的要求[1]。
船舶在海面航行过程中,由于海洋情况复杂多变,为保证安全、可靠、稳定的航行,必须实时获得和处理航行过程中周围海洋环境中的水文气象数据,辅助ECDIS进行导航[2]。作为船舶安全航行保障的水文气象数据,其获取方式多样,获取的信息量和数据格式也呈爆炸的方式增长,将获得的大量信息和多种数据格式进行快速高效的处理,成为ECDIS系统中必须解决的关键问题之一。传统采用文字描述的方式已不再适用于环境多变的海洋船舶航行,因此,必须对水文气象情况进行可视化,令其能够更加准确直观地呈现在观察者面前,降低非专业人员获得理解适用海洋水文气象的门槛[3]。
针对以上问题,本文研究了海洋水文气息的获得、处理和可视化,并将其和电子海图结合起来,使得船舶能够更加简单参考和使用水文气象信息,丰富ECDIS系统的同时,保证了船舶安全可靠航行。
1 交互式信息融合技术理论基础 1.1 交互设计相关理论为了实现ECDIS系统的设计开发,必须学习和了解交互设计的本质特征。而交互设计本身则是更多的从用户角度考虑,它是为了使得软件和系统的使用更加方便[4]。
本文设计的软件系统采用MVC(Model View Controller)架构模式。在ECDIS中使用MVC能够有效提高电子海图中功能块的复用率,从而很好地解决需求方对电子海图系统的多样化需求。此外,在系统的设计过程中,MVC使用能够有效减小重复代码的使用,降低代码维护量,一旦模型代码发生改变,也容易维护。模型对基础数据结构和系统业务逻辑进行封装,并提供对外访问接口;视图是程序与用户之间的接口,用于显示软件内容;控制器的作用是对外界请求作出响应,执行控制命令并在视图中显示出来[5]。
本文采用Qt图形用户界面应用程序开发框架,它是一种跨平台的C++程序开发框架,可广泛应用于GUI程序、控制台工具和服务器的开发。Qt具有良好的跨平台特性、面向对象开发、使用简单且运行速度快、支持OpenGL绘制、支持三维和二维图形渲染等优势,适用于ECDIS系统的设计和实现。在Qt中,利用信号与插槽机制进行对象之间联系的建立。这种机制面向对象,稳定性高,封装性好,类重用性高[6]。
1.2 电子海图相关理论和技术电子海图在类型上可分为光栅海图和矢量海图两种,其中,光栅海图通过对纸质海图的扫描建立数字化信息海图库,它提供的信息与纸质海图相似。矢量海图即ECDIS利用存储在数据库中的海图矢量数据对水文气象信息等航海信息进行查询,帮助航海人员监控航行、设计航线、显示航行信息。常规的ECDIS由主机、计程仪、GPS、雷达、罗经组成,它执行ECDIS显示IHO S52显示标准和电子导航海图ENC IHO S-57数据标准。
在存储和传输过程中,电子海图以经纬度坐标对空间地理位置进行表示,因此在显示过程中,必然需要在地理空间坐标和二维之间进行转换和逆转换。电子海图中常使用墨卡托投影进行地理空间坐标和二维平面坐标之间的转换,墨卡托投影是一种非线性变换,精度较高,深刻影响着电子海图系统的性能和相应速度,目前该技术已发展成熟和完善。
1.3 水文气象数据可视化理论和技术本文选择i4Ocean平台对水文气象数据可视化进行绘制、开发和实现。i4Ocean平台是一款专门针对海洋虚拟现实和信息可视化应用进行开发的系统软件,通过多远数据可视化技术和虚拟现实技术的结合,实现了对海面、海底等动态信息,及海洋关键数据的等值线、等值面、矢量化箭头的可视化。同时,它也能够实现流场数据二三维度的可视化表现、标量场数据体绘制及卫星云图可视化功能。
在水文气象税局可视化过程中,将水文气象数据信息分成矢量场数据和标量场数据,基于二维平面的可视化方法进行研究。对于海洋中海表面高度、海水位温、海水温度、海表面气压和海水盐度等水文信息提取标量场数据,并利用彩色剖面和二维标量场进行渲染绘制。彩色剖面图的可视化包括彩色剖面的生成和绘制,生成过程主要通过剖面相关参数获取数据场中相对应的数值,由于水文气象数据为规则的网格形式,所以只需要对特定位置相邻的4个网格点的值线性插值便能得到该位置的属性值,最后根据规则生成几何面片,彩色剖面的绘制指获取几何位面中的相应坐标和颜色,利用OpenGL绘制管线并在屏幕上显示。而在等值线的绘制过程中,首先进行离散数据的网格化,并将网格点数值化,对等指点进行计算和追踪,最终光滑标记等值线。
对于流场、风场和浪场等海洋水文气象矢量场数据,通过矢量箭头进行可视化,它在网格中依托矢量场属性描绘箭头表现矢量的数据特征,其中,矢量的大小依靠箭头颜色表示,矢量的方向通过箭头的方向表示,值得注意的是,必须结合网格分辨率对箭头大小和网格点数目进行选择。
2 信息融合技术研究与实现 2.1 传统水文气象与电子海图的融合海洋水文气象信息传统可视化手段包括彩色剖面、等值线、矢量箭头3种,这3种可视化手段的融合有利于增加电子海图中水文气象信息的显示和表达方式。由于电子海图SDK和i4Ocean平台之间底层融合困难性大,因此在应用层集成这2个系统的设计效果。换言之,通过数字图像处理融合技术,将i4Ocean平台绘制的可视化效果图和电子海图显示的效果图利用Windows DC实现融合并在显示屏上显示。具体融合过程如下:
1)电子海图基本模块显示,该步骤将EC2007 ECDIS NERNEL SDK中电子海图相关功能集成进Qt GUI设计开发的电子海图系统中;
2)海洋水文气象数据预处理,通过i4Ocean中的数据转换器MD-Builder,预处理水文气象数据,并保存为可视化所需的MarineData数据结构;
3)海洋水文气象数据可视化渲染绘制,在上一步的基础上,根据数据特点,选取适合的可视化方法,进行等值线、矢量箭头或者彩色剖面的渲染绘制;
4)水文气象数据和电子海图可视化融合,通过双缓存渲染绘制技术,借助DC拷贝,i4Ocean平台渲染绘制流水线,Qt绘制图像函数对水文气象数据和电子海图进行可视化融合。
2.2 卫星云图与电子海图的融合卫星云图通常被用来分析识别不同的天气系统,定位其位置并估算其强度和发展方向,是天气预报的重要参考依据。本文设计中采用的是红外云图数据进行可视化。根据红外辐射强度和温度的关系,利用卫星探测到的红外辐射强度分析云层和地面的温度分布情况,而推算云层离地面的相对高度。随后,结合相关的地理位置信息,构建三维高程网络数据模型,从而实现i4Ocean对云团渲染绘制。云图可视化过程如下:
1)云图数据预处理,通过MD-Builder获取云图温度数据;
2)计算云层高度信息,对任意云顶温度C,对应的云层高度计算公式如下式所示:
$H = {H_0} + {H_1} \times \frac{{{C_{\max }} - C}}{{{C_{\max }} - {C_{\min }}}}。$ | (1) |
式中,Cmax和Cmin是云层顶端温度数据的极大值和极小值,H0是云团的云底高度,H1为云层最大高度;
3)创建和绘制云图三角网格,该步骤的关键是三维高程网格数据模型创建,因此只需要对云图的网格数据进行分割即可,分割效果如图 1所示。
4)计算云图三角网格定点颜色和透明度, 该步骤的基本思想是设置任意三角网格定点为白色,而通过透明度来显示云层的明暗,其规则为:高程度小的顶点透明度高,高程值大的顶点透明度低,两者之间的关系为线性关系。
5)绘制与显示卫星云图,该步骤通过i4Ocean平台绘制流水线渲染进行卫星云图可视化。
2.3 融合效果展示如图 2所示,以卫星云图和海面风场和电子海图的融合效果来代表水文气象数据与电子海图的融合,本文的融合方案可通过数据剪切获得任何位置的云图,图 3为海面风场矢量图效果。
本文首先介绍了海上运输行业在航洋经济中的地位,然后介绍了目前的电子海图显示与信息系统(ECDIS)在航海技术中的革新作用。接着介绍了交互式信息融合技术理论基础,包括交互设计相关理论、电子海图相关理论和技术以及水文气象数据可视化理论和技术。最后介绍了水文气象数据与电子海图的统合技术。
[1] | 何炎平, 谭家华. 大型自航绞吸式挖泥船的发展和有关问题的思考[J]. 中外船舶科技, 2008 (2): 8–13. |
[2] | 刘厚恕. 国外挖泥船发展新态势[J]. 船舶, 2009 (6): 1–7. |
[3] | 唐明伟, 卞艺杰, 陶飞飞. RESTful架构下图书管理系统的研究与实现[J]. 现代图书情报技术, 2010 (9): 84–89. |
[4] | 洪重阳, 李晨英, 王雁, 许岩青, 塔娜. 一种用于不同系统平台间XML格式元数据交换的实用方法[J]. 现代图书情报技术, 2005 (8): 16–19. |
[5] | 谷方舟, 沈波. JSON数据交换格式在异构系统集成中的应用研究[J]. 铁路计算机应用, 2012 (2): 1–4. |
[6] | 欧阳荣彬, 王倩宜, 李丽, 等. 基于属性规则的数据权限模型研究与实现[J]. 大连海事大学学报, 2010 (2): 81–83. |