电子海图数据库,是指提供电子海图数据(ENCD)的基础数据库。由国家航道测量组织采用数字形式建立,包括海图信息以及其他航海信息和航道测量信息。应当指出,国家航道测量组织应当有权对自己所负责的海域独立制作和发布ENC并进行通告改正服务。
简介
ECDB(Electronic Chart Data Base),即电子海图数据库,是指提供电子海图数据(ENCD)的基础数据库。由国家航道测量组织采用数字形式建立,包括海图信息以及其他航海信息和航道测量信息。应当指出,国家航道测量组织应当有权对自己所负责的海域独立制作和发布ENC并进行通告改正服务。
实用意义下的电子海图系统应当具备相当大的全球海图数据库(例如数千幅),具有相当数量的专业制图人员来维持和扩展海图数据库,具有完善的电子海图自动改正系统,具有庞大而有效的全球分销网点,具有与各国官方航道测量局签署的版权协议,能够兼容其他国家航道测量局制作的光栅海图(如ARCS、NOAA)和矢量海图(如ENC)数据库,具有国际组织和各国海运部门的认证证书。1992年IHO成立了世界电子导航海图数据库(WEND)专门委员会,并于1994年提出了关于建立WENC的最后报告,建议在资金和技术上有能力的国家成立区域性电子导航海图协调中心(RENC),再由各协调中心组成世界电子导航图供应和改正互联网络,最终实现建立世界电子导航图数据库的目标。根据IHO的定义:世界电子导航海图数据库(WEND)是一个公用的世界联网的ENC数据库。采用IHO的标准,设计的目的是为了在国际海上交通中使用符合IMO性能标准的EcDIS的需要;WEND利用HO国家ENC数据库。该数据库有地区性中心负责综合分发和更新;WEND是一个依赖各成员国协力合作的IHO系统;根据WEND的定义,地区性中心成为地区性ENC协调中心(RENC)。ENC更新指南应由RENC在数据更新方面提供支持;WEND采纳的一系列原则均对ENC的更新产生影响。该电子海图供应网络建成后,航海者可以从世界任何一个RENC获得所需的最新电子海图数据。1994年挪威电子海图中心(Ecc)与英国航道测量局(UKHO)率先合作在挪威斯堪的那维亚成立了第一个北欧水域的区域电子导航图协作中心,目前已有10个邻国参加。该中心的任务是从所有合作的水道测量局收集海图数据和更新数据,并将该数据汇集到通用数据库中,然后按使用者的要求,利用CD-ROM或直接通过远程通信线路将该数据库中的数据分发使用者。目前该中心正在为电子海图数据的收集、存储、管理和分配研制自动综合系统。另外,日本水道测量局正在与邻国商议准备建立东亚地区RECC,意大利和他的邻国计划建立西地中海地区RENC,美国、加拿大、澳大利亚等国也准备建立自己的数据库并通过互联网发挥作用。
电子海图索引技术
某一海域的所有海图的组织传统上是利用这一海域的《航海图书目录》,如中版《航海图书目录》和英版“Catalogue of admiralty charts and other hydrographicpublications”来实现海图的查找。这些参考书籍均建立了所涉及海域的所有纸海图的索引,在建立电子海图单元数据结构和索引结构时可以参考,但ECDIS对ENC提出了更多类智能的要求,这要求ENC用最优的数据结构和索引结构组织海图单元。电子海图系统作为高精度,实时系统,其关键技术是电子海图的显示速度,国际和国内标准都对这一指标有明确的要求。这是电子海图开发和研制人员一直关注的热点问题。空间数据的访问在很大程度上体现空间位置的局部性和相关性,例如海图开窗显示,显示的实体都在一定的空间范围内:地图漫游显示,通常浏览到相邻的区域。又如实体空间查询,也要分析一定空间范围内的所有实体。必须通过建立有效的空间索引机制,才能解决上述问题。
所谓空间索引,就是指依据空间实体的位置和形状或空间实体之间的某种空间关系,按一定顺序排列的一种数据结构,其中包含空间实体的概要信息如对象的标识、外接矩形及指向空间实体数据的指针。简单的说,就是将空间对象按某种空间关系进行划分,以后对空间对象的存取都基于划分块进行。例如按空间范围建立空间索引,这有些类似于在内存缓存技术中,把内存按地址临近原则划分为缓存槽的思想:在读取内存内容时,把一个缓存槽的数据都读到缓存槽中。这种缓存槽的划分是基于这样一种经验:“如果一个地址单元被访问,那么临近地址单元的数据被访问的概率很大”。类似的,对于空间实体数据,如果一个实体被访问,那么与该实体空间临近的实体被访问的概率也很大,因此可以按空间临近原则划分缓存槽。
空间索引技术一直是空间数据库一项基本技术,空间索引的有无可能导致效率的相差几十甚至上百倍,高效的空间索引方法更是对系统的性能有着决定性的作用。
索引技术包括:二叉树索引技术、B树索引技术、四叉树索引技术、R树空间索引技术等。这些技术对与电子海图数据库来说有很重要的意义。
电子海图数据库的设计
在电子海图数据库中,SENC的中的物标属性与数据库表中字段属性建立一一对应关系。符合IHO S-57国际标准的ENC将海图矢量数据划分为空间数据和特征属性数据两大类型。在数据库中,空间数据与特征属性数据是分开管理的。
电子海图数据库物标特征属性数据管理
电子海图IHO S-57标准规定180种物标类型,同时规定了195种物标属性。在构建电子海图数据库时,以物标种类来划分表,因此有180张表,每张表包含IHO S-57标准规定的物标对应的属性。物标种类和物标的属性严格按照5-57的分类列表。设计空间物标的特征属性与数据库中表的字段属性相一致,这样便于我们对数据库的维护和管理。电子海图数据库的物标的特征属性与表中字段一一对应,见下表是以灯标为例,介绍物标的特征属性:
(1)根据海图数据的物标分类,建立电子海图数据库的列表,表的名称与S-57标准规定的物标名相一致。灯标物标的在数据库中的表名为LIGHTS。
(2)针对每一个表,设置不同的字段属性,字段属性的命名,也按照S-57标准的设计,比如灯标的特征属性有很多字段组成:GRUP, OBJL, RVER, AGEN, FIND, FIDS,HEIGHT,OBJNAM等等。
电子海图空间数据的管理
空间属性就不能简单的采用对应关系。空间数据指在某一坐标系被标志的地理实体的坐标数据;地理实体,分为点状、线状和面状三种类型。电子海图上的物标、岸线有着各种各样的形状,就其组成元素来看是由基本的几何图形组合而成,岸线可以由多个点和线组合而成。岛屿由点、弧线、直线、多边形组合而成。Oracle 9i支持点、直线、直线多边形,弧线、弧线多变形、复合多边形、复合线、圆、矩形等九种基本的图形。如下图《Oracle spatial支持的图形类型》所示:
电子海图上的点状、线状、面状物标等可以由上述Oracle spatial支持的基本图形不同组合完成,复杂的电子海图物标可能由多种图形组合而成。
电子海图数据库坐标系统
Oracle spatial中的坐标系统(空间参照系统)能给空间位置指定坐标系和建立坐标关系,任何空间数据都有自己的坐标系。空间数据可以有
笛卡尔坐标系,地理坐标系,投影坐标系和地方坐标系(非地理参考的),各个坐标系之间可以相互转换。在电子海图数据库中,我们所使用的ENC采用的大地坐标系规定为WGS-84坐标系统,该坐标是一种地心坐标系。在建立电子海图数据库时,我们要特别考虑ENC的大地坐标系间的换算问题。历史上,各国根据自己局部的特点确定椭球体参数,并进行“定位”(确定椭球体中心位置)和“定向”(确定坐标轴的方向),建立了各自局部的大地坐标系。我国目前采用的是1954年北京坐标系,日本采用的是1918东京坐标系等。同一地面点在不同大地坐标系中所对应的经纬度(φ,λ)是不同的。世界各国海道测量局在自己出版的纸海图为资料制作ENC时,要把地理坐标由局部坐标系换算到WGS-84坐标系。当电子海图应用系统与定位导航系统所使用的坐标系不同时,要进行坐标系之间的换算,尤其是在大比例尺的图上进行高精度定位时显得更为重要,这直接影响船舶航行的安全问题。
电子海图数据库的建立过程
电子海图数据库的设计可以分为建表、设置限制条件、插入数据、建立索引等几个基本过程,下面我们就结合实例详细介绍电子海图数据库的制作。
数据库建表
在设计电子海图数据库时,建立合理的物标列表和确定特征属性的字段名称是非常重要的。为了方便管理,设置电子海图数据库中的表名与S-57标准中物标分类的命名规则保持一致,根据海图物标的不同建立约180个物标表,具体表的名称在S-57中都有详细的规定,这里就不在详细介绍。在表建立好以后,要为表指定字段,每个表都有很多字段,每个字段都表明物标的属性。S一57规定的物标属性有195个,在实际设置物标表时,根据不同物标的特征,合理确定表中的字段。
数据库表中设置元数据
在完成建表和插入数据之后,同时在建立索引之前,我们必须将限制条件插入到USER_ SDO_ GEOM一 METADATA中,主要目的是设置数据的使用范围、确定数据的精度、确定坐标系统。
通过设置将数据的范围限制在南北纬度90度,东西经度180度内,这样符合我们数据来源的要求,SRID设置为8307,表示电子海图数据库采用的是WGS -84为地理坐标系统。
数据库表中插入数据
在建立电子海图数据库框架以后,向以建好的表中插入电子海图的数据,这是海图数据库制作过程中非常重要的操作。在实际操作中,使用SOL语句集中将数据导入数据库中,这样操作比较方便,快速准确。我们插入的数据源是来自符合S-57标准电子海图数据。在数据插入表之前,海图数据先进行过虑,保证存入数据库的数据是高精度和最新的数据。由于现在的电子海图数据源,主要来自数字化的纸海图和官方发布的ENC海图数据,在同一个海图区域可能有很多张不同比例尺下的海图数据。我们还无法得到理想中的数据源,所以必须考虑数据冗余和数据精度问题。在设计数据库时,选取在该区域内比例尺最大海图的数据作为存入海图数据库的数据,在数据库的表中加入比例尺(SCALE)属性字段,作为选择数据的主要依据。
建立空闻数据库索引
电子海图数据库中存储的数据量非常大,包括海量的空间数据,在进行数据查询时,如果不建立索引,将会把全部空间数据读入内存,一个数据项就要扫描整个数据文件,这种访问磁盘的代价就会严重影响系统的效率,我们通过建立空间索引将数据在磁盘上的位置加以记录和组织,通过在内存中的一些计算来取代对磁盘漫无目的的访问,才能提高系统的效率。
空间索引是对存储在介质上的数据位置信息的描述,用来提高系统对数据获取的效率。建立空间索引是由于计算机的体系结构将存贮器分为内存、外存两种,访问这两种存储器一次所花费的时间一般为30~40ns,8~10ms,可以看出两者相差十万倍以上,尤其是电子海图数据库中涉及到各种海量的空间数据,索引对于处理的效率是至关重要的。
Oracle数据库是以R树为基础的建立空间索引。R-树则是一种高性能、多维数的空间访问方法,该方法内置于数据库内核并直接与外延数据类型协作以适当地管理空间地理数据。与标准索引不同的是,R-树并非将整个空间分割成由非重叠相邻单元组成的完整覆盖。相反,它使用的是数据分割的方法,使每一个对象自动地被完全由空间形状所决定的最小包围矩形表示,这些最小包围矩形可以相互重叠,并且不需要覆盖整个空间。在建立电子海图数据库时,也不必预先了解数据的空间范围就可以建立索引。
在将海图数据导入数据库后,利用SQL语句可以完成索引的建立。Oracle提供默认的建立索引的参数,在实际中我们采用Oracle默认的参数,当数据库中的数据发生变化时,Oracle可以动态调整空间索引参数。建立索引的语法。
电子海图数据库的管理
在航海领域,海图要经常根据航海通告或无线电警告进行改正,电子海图数据库也同样需要日常的的维护和管理,才能保证数据库的信息是准确、安全的。海图数据库的数据管理,也可以通过SQL语句方便的完成电子海图数据库的增加、删除、修改、查找等重要操作。