国际标准电子海图系统关键技术研究

电子海图显示与信息系统(ElectronicChartDisplayandInformationSystem,ECDIS)是随着航海事业及科技的发展而产生的一种集成式的实时导航信息系统,已经成为现代航海中不可缺少的辅助导航、保障航行安全的工具。因此,研究电子海图国际标准,开发具有独立知识产权的ECDIS具有十分重要的意义。

基于组件开发是软件开发的一次革命,组件式GIS(GeographicInformationSystem)是基于组件技术发展起来的新技术,已经成为一种非常重要的趋势,拥有众多优势的组件式GIS与当今可视化开发语言的集成二次开发方式已经成为GIS应用系统开发的主流。目前市场上的GIS组件虽然种类很多,但都不支持国际标准电子海图数据格式。开发支持国际标准电子海图数据格式的GIS组件已成为一项急需解决的任务。

1电子海图国际标准

电子海图的飞速发展使国际海道测量组织意识到它有可能完全取代纸质海图,但其发展前景却令人担忧。因为市场上出现的电子海图是由电子软件设计人员和电子产品制造商生产的,其可靠性和完整性及内容更新都得不到保证。航海者采用这样的电子海图可能对航行安全带来危害。为此,国际海事组织、国际海道测量组织和国际电工委员会三个与电子海图密切相关的国际组织成立了协调小组,共同参与电子海图方面的技术讨论,并制定了一系列的电子海图规范与标准。与ECDIS相关的国际组织及国际标准见图1。


2系统总体分析与设计

国际标准ECDIS是以计算机为核心,连接各种导航定位设备。以S-57标准电子导航图为基础,综合反映船舶行驶状态,为船舶驾驶人员提供各种信息查询、量算和航海记录的专门工具。按照国际标准电子海图显示与性能标准的要求,ECDIS应该具有海图显示、海图汇算、海图改正、航线设计、定位及导航、航海信息查询、雷达信息处理、航路监视、航行记载、报警等功能。根据ECDIS的功能,可以把整个系统划分为电子海图显示平台和应用系统两大部分。系统功能见图2

3基于组件开发电子海图系统可行性分析

3.1传统开发方法的弊端

目前电子海图系统的开发大部分采用的是传统的软件开发模式,即不依赖任何工具组件,所有的算法都是开发者独立设计。这种方式的好处在于无须依赖任何商业工具软件,减少了开发成本。但对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化工具软件相比。这种开发模式主要有以下弊端:

1)软件开发难度较大,开发周期长,多为低水平重复开发。

2)系统各部分联系紧密导致系统维护复杂。

3)升级困难,不利于系统功能的扩展。

4)结构复杂,用户掌握困难。

3.2基于组件开发的优势

基于组件开发的软件开发不只是一种分布计算新形式,而且是一种广泛的体系结构,支持包括设计、开发和部署在内的整个生命周期计算的一种思想方法。组件GIS是基于组件技术发展起来的新型GIS技术,以分组件的方式封装GIS的各种功能,且在二次开发中能由开发人员根据行业要求组织功能结构,开发出具有较强适应性和针对性的应用系统。可以说,组件GIS已经成为软件开发的一种非常重要的趋势。组件化GIS有许多优点,如高效无缝的系统集成、无须专门开发语言及大众化等,且在与管理信息系统融合、Internet应用、降低开发成本和使用复杂性等方面具有明显优势。它打破了GIS基础软件由少数厂商垄断的局面,小型研究机构和厂商有机会以提供专业组件的方式打入GIS基础软件市场。目前市场上的GIS组件虽然种类很多,但没有较好地支持国际标准S-57数据格式的GIS组件,因此急需开发支持国际标准海图数据的GIS组件。

4电子海图显示平台组件化

4.1显示平台组件的组织结构

在COM组件(COMcomponent)中,接口就是一切。对于客户来说,一个组件就是一个接口集。组件的设计从某种意义上说就是接口的设计[7]。作为国际标准ECDIS的子系统,显示平台的功能主要包括海图缩放、海图漫游、海图旋转、海图分层显示、海图要素查询、白天黑夜显示、最小比例尺控制、安全水深控制和安全等深线控制等。该组件应该具有以下接口(见图3):

1)系统电子导航图(SystemElectricNavigationChart,简称SENC)操作接口:实现SENC的生成和SENC的读取操作。

2)海图显示接口:实现S-52表示库,完成S-57标准海图的显示。

3)海图算法接口:实现地理坐标、墨卡托投影坐标与屏幕坐标的转换,任意两点间的距离和方位的计算等。

4)显示控制接口:通过用户的输入参数来控制电子海图的显示状态。

5)要素查询接口:用于查询要素信息。

6)海图操作接口:实现海图的缩放、移动、旋转等操作。


4.2显示平台关键技术实现

4.2.1SENC的设计与实现

要设计SENC,必须遵守以下三条原则:

(1)符合国际海道测量组织数字海道测量数据传输标准,即国际海道测量组织S-57标准;

(2)支持国际海事组织ECDIS性能标准;支持电子海图内容与显示规范;

(3)按照上述原则及S-57标准数据结构,为了实现海图的高效快速显示,把S-57标准电子导航图中的数据具体封装成特征物标集、描述表集、空间物标集、海图元集、属性集五大集合(见图4)


要生成SENC,必须把物标信息从原始电子导航图中读出,然后按照封装好的数据结构写入SENC文件(见图5)

4.2.2查找表的设计与实现

S-52表示库的查找表提供了物标的显示方法说明。共有六个查找表:纸质海图点符号、纸质线状符号、简化点符号、简单线符号、简单边界符号、符号化边界符号。查找表的实现流程是:

(1)从特征物标表中获取要显示物标的目标类型、目标码、目标名和属性外键,根据目标码从物标描述表中得到该物标的物标类标识符;

(2)根据属性外键找到相应属性表,得到物标的相应属性字段的属性名称;

(3)到属性描述表中得到属性名称的英文缩写词。

按照图6的规律进行查找就可以得到要显示物标的符号指令/条件符号指令调用、显示优先级、雷达叠加标志、显示类别等,最终可到符号库中找相应符号画法进行绘制。


5基于UML的电子海图应用系统设计

根据国际海事组织决议A.817电子海图显示与信息系统性能标准,以及国内外文献中出现的各种电子海图显示与信息系统的软件资料,电子海图应用系统应该包括:用户登录、系统参数设置、海图信息管理、显示控制、航行管理、导航通讯、日志管理七大功能模块。为能够更好地理解整个系统,利用UML(UnifiedModelingLanguage)进行系统建模,把所要设计的系统结构和行为沟通起来,并对系统的体系结构进行可视化和控制。

5.1系统用例图建模

用例图是由软件需求分析到最终实现的第一步,它定义了系统的需求,展示了系统功能的结构化视图。根据电子海图应用系统得需求分析,可以确定以下两点:

1)作为一个电子海图应用系统,首先需要用户的参与,用户在登录系统后可以完成海洋信息的查询、航线的制定、航海作业的制定以及航海日志的查询等操作来辅助航行。

2)对于电子海图应用系统来说,系统的维护与管理工作也是相当重要的。

这些工作主要包括对用户信息的管理以及系统自身的管理与维护。由以上分析可以得出,系统的参与者主要有两类:系统管理与维护者、系统普通用户。结合前面介绍的系统的功能,可以得出应用系统用例图(见图7)。

5.2系统时序图时序图

描述各对象之间的动态协作,通过时序图可以描述对象之间动态的交互关系,体现对象间消息传递的时间顺序。对于分析阶段建立的用例,通过时序图进行动态描述可以使功能更加清晰。在电子海图应用系统中,每个用例都可以建立一个时序图,将用例执行中各个参与的对象之间的消息传递过程表现出来,得出系统的总时序图(见图8)。


5.3系统活动图

活动图用来描述执行算法的工作流程中涉及的活动,以及活动间是如何协同工作的。在功能复杂的电子海图应用系统中,很多功能都是可以同时进行的,它们之间并无特定的执行顺序。为了清晰地描述这些功能的执行,可以借助于系统管理员活动图(见图9)。

6系统实现

为了实现系统信息显示的集中性与直观性,系统采用控制面板的形式来实现信息的显示。航行信息、报警信息等重要信息在控制面板上直接直观地提供;次要信息通过特定的对话框显示;常用的操作通过按钮的形式排列在操作面板上。系统界面布置(见图10)。主界面左侧是电子海图显示区域,用来显示当前船舶所处位置周围的海区。显示区左上角是当前海区范围和当前显示方向图标(见图11)。


7结语

ECDIS正朝着国际化的方向发展,开发国际标准的ECDIS系统有着非常重要的意义。在ECDIS的开发过程中,组件化技术的应用把显示平台与应用系统分割开来,既保证了系统的稳定性和可靠性,又可以实现系统的无缝集成,同时有利于应用系统功能的扩展与维护。国际标准电子海图平台组件还可以用作其他相关的信息系统开发的基础。我们利用COM组件技术开发实现国际标准电子海图显示平台,并基于该组件完成了应用系统的设计与实现,从而证实了这种开发方法的优越性及其实现途径的可行性。但是还存在一些问题:

1.系统的显示性能上与国外先进的产品相比还存在差距。

2.应用系统的一些功能模块有待实现组件化,以降低系统的复杂性。

综上所述,要实现一个完备的、功能完善稳定的ECDIS还有许多工作要做,还需不断地完善和改进。