海洋地球物理数据库设计与实现
2015-12-15崔爱菊王建村苏天赟
崔爱菊, 王建村, 苏天赟
(1.国家海洋局 第一海洋研究所, 山东 青岛 266061; 2.国家深海基地管理中心, 山东 青岛 266061)
近几十年来, 国家有关部门投入了大量的人力、物力和财力, 在中国海域和邻近大洋地区相继开展了多次大规模的海洋地球物理调查工作, 获得了大量珍贵的基础资料。但是, 海洋地球物理数据与其他海洋专业数据相比, 有着数据类型繁多、格式复杂和数据量大等特点, 为海洋地球物理数据的有效管理和共享提出了挑战。经过长期的探索与实践, 许多海洋地学数据库和数据中心已经建立, 并且为海洋科研和工作人员提供便捷、高效的数据共享服务, 如美国NGDC的Marine Geology & Geophysics数据库、英国斯科特极地研究所的极地与冰川数据库等。
目前, 已建成或正在建设的海洋科学数据库主要是基于业务信息(如项目、航次等)对海洋专业要素进行组织和管理, 而专业要素的空间特征则作为属性信息分别存储在各个相关的数据表中, 强调数据的最小冗余度和最大一致性约束, 并没有建立空间索引机制。这种数据库虽然能够满足基于属性信息的海洋专业要素查询和共享的应用需求, 但是当基于空间特征对海洋综合信息进行空间检索、分析和可视化表达等功能时, 系统效率会明显降低, 甚至无法满足应用需求。空间数据仓库能够实现对分散的、各自独立的包含空间信息的数据集进行统一集成和管理, 形成统一空间标准(如坐标系统、投影方式、比例尺等)和空间索引机制, 支持面向主题的大数据量的空间分析和空间数据挖掘等操作[1-2]。经过10多年的发展, 空间数据仓库的相关理论和技术得到了蓬勃的发展, 并且已经出现了一些成熟的空间数据仓库产品, 如美国 ESRI公司的 ArcSDE、美国MapINFO公司的 SpatialWare、美国 Microsoft公司的 TerraServer等, 从而促使空间数据仓库在众多领域展开研究、示范和实质性应用[3-11]。
本文面向海洋地球物理数据管理和共享的应用需求, 对海洋地球物理数据库进行设计, 开发和实现了适合于海洋科学研究和海洋资源勘探开发等工作的海洋地球物理综合数据库系统。
1 海洋地球物理数据
根据调查方法, 海洋地球物理数据可以划分为导航定位、水深探测、侧扫声呐探测、浅地层剖面探测、海洋地震勘探(单道、多道或OBS)、海洋重力探测、海洋磁力探测、海底热流探测等数据。另外, 根据调查和研究阶段的不同, 海洋地球物理数据又可以划分为原始数据(Raw Data)和二次数据(Secondary Data)。具体内容及类型如图1所示。
2 海洋地球物理数据库设计
2.1 数据库总体设计
海洋地球物理数据库主要包括3部分: 元数据库、基础数据库和空间数据仓库。元数据管理是构建、管理、维护和使用数据库和数据仓库的核心部件[2], 元数据库主要对基础数据库和空间数据仓库中的数据进行描述和管理, 便于系统对数据的检索和获取; 基础数据库主要存储和管理海洋地球物理调查与研究过程中获得的基础数据和产品; 空间数据仓库主要根据一定的应用主题, 从基础数据库中进行数据提取、清洗和再组织, 基于空间特征对各专业数据要素进行管理, 为面向网络的空间信息提取和表达提供必要的支持。
图1 海洋地球物理数据分类Fig.1 The classification of marine geophysical data
2.2 元数据库设计
海洋地球物理元数据需要对数据库的内容、质量、条件和其他特征进行描述和说明, 从而帮助用户有效地定位、评价、比较、获取和使用其综合数据。目前我国海洋领域不同学科或项目为了满足特定应用需求都制定了自己的元数据标准。为了确保系统的兼容性, 主要依据现有成熟的国际海洋元数据标准(如 FGDC[12]、Dublin Core 等), 同时参考了我国“海洋信息元数据标准”, 对元数据的核心要素进行了确定。设计并制定适合于海洋地球物理数据库的元数据标准体系, 对基础数据库和空间数据库中的数据集进行描述和管理。
2.3 基础数据库设计
海洋地球物理基础数据库主要以调查任务(项目)为纽带, 以调查专业和方法为类别, 参考国内外海洋地质环境数据库标准和规范, 对海洋地球物理基础数据库结构进行设计。建模语言采用基于面向对象技术的UML(Unified Modeling Language), 统一了面向对象建模的基本概念、术语及其图形符号, 可以方便地分析和描述对象之间的各种关系(图2)。
2.3.1 全局分类
对工作流程以及数据内容进行整理和分析, 首先从全局上对数据对象进行抽象和分类。海洋地球物理数据总体上可以划分为基础信息、专业信息以及文档资料三类。其中, 基础信息包括项目、调查航次、站位、测线等信息, 这些信息是专业信息的基础,也是元数据的重要组成部分; 专业信息包括: 水深测量、海底地貌探测、浅地层剖面勘测、单道或多道地震勘探、重力场和磁力场调查等数据; 文档资料主要包括项目合同、实施方案、航次计划、航次报告、航海日志、资料处理报告、研究报告、验收报告以及相关图件等。
2.3.2 逐步细化
根据全局分类的结果, 针对每一类局部的数据对象进行逐步细化, 确定数据对象的属性和相互之间的关系, 并向数据库管理系统所支持的关系模式(即数据库关系表)进行映射, 确定关系模式的属性和码, 用于数据库的创建工作。数据对象向数据库关系表的映射应注意以下问题: (1)每一个对象类映射为一个关系模式, 即数据库中的关系表(Table), 实体的属性就是关系表的属性字段(Field), 实体的码就是关系表的关键字; (2)联系集(一对一、一对多以及多对多)的映射可以映射为一个表[13], 也可以在对象类表间定义相应的外键进行关联; (3)当数据实体之间是继承(分为父类和子类)的关系时, 可以对父类、子类分别映射表, 也可以不定义父类表而让子类表拥有父类属性, 反之, 也可以不定义子类表而让父类表拥有全部子类属性; (4)对映射后的库表进行冗余控制调整, 使其达到合理的关系范式。设计后的数据库结构如图2所示。
2.4 空间数据仓库设计
海洋地球物理数据中包含大量的空间信息, 这些空间信息对于数据的空间统计分析和可视化表达具有重要的应用价值。空间目标除了具有最基本的空间坐标位置(x,y)信息之外, 还具有与之相关的属性信息, 同时空间目标之间还具有特殊的空间关系——空间拓扑关系。为了满足对海洋地球物理空间数据进行分析和可视化表达的应用需求, 需要基于空间特征对空间目标进行设计、组织和管理, 进一步对空间目标之间的拓扑关系进行定义, 创建合理的空间索引机制。在实现空间数据存储和管理的同时, 为空间分析和可视化表达等应用提供高效的空间数据支持。
图2 逻辑结构图(基础数据表)Fig.2 Logic structure diagram (Basic data table)
2.4.1 空间数据引擎
本文主要利用了数据库管理系统 ORACLE和ESRI公司开发的空间数据引擎 ArcSDE, 为海洋地球物理空间数据仓库提供空间数据存储、查询与管理解决方案, 保障了数据库具有较高的存储效率和完整性。其中, ORACLE负责在关系表中存储数据,ArcSDE则为前端的GIS应用服务器解释数据库表中的数据。
2.4.2 空间数据存储结构
海洋地球物理空间数据仓库在设计上, 主要依照 ArcSDE提供的空间数据管理的技术方案[14], 通过矢量和栅格两种数据结构来实现空间数据的管理和表达。基于栅格的空间模型主要用来表达分布连续的空间对象, 把空间看作像元的划分, 像元的大小表示空间对象的分辨率, 每个像元的值都与所包含的空间对象的一个属性记录有关, 如水深、重力场值等; 基于矢量的空间模型主要用来表示离散的空间要素个体, 由点、线和面来描述空间要素, 有一个或多个(x,y)坐标来表示, 可以较好地表达空间要素之间的拓扑关系。
2.4.2.1 矢量数据组织结构
海洋地球物理空间数据仓库主要以层(Layer)的方式来管理地理数据。具有共同属性项的一类要素可以放到同一层中, ArcSDE为数据库中各层建立了格网(Grid)索引。格网索引是将层从逻辑上分成一个个小块, 称为单元(cell)。层中的要素则分解到各单元中加以描述, 并将此描述信息写到索引表中。落到多个单元上的要素将在每个单元对应的索引记录中加以描述, 没有数据的单元不包括在索引表中。
ArcSDE将空间要素数据分别存储在业务表、要素特征表和空间索引表中, 其中, 业务表主要存放空间要素的属性信息, 对于属性信息比较复杂的空间要素, 则通过 ID标识与外部关系属性表关联; 要素特征表以二进制形式存放要素的地理坐标、高程、拓扑关系等空间信息; 空间索引表主要存储要素类的索引格网和封装边界, 为空间数据提供优化的索引机制, 从而有效地降低空间查询所需的时间。业务表和要素特征表实现统一的关键就是要素的ID标识码。矢量数据组织结构如图3所示。
图3 矢量数据组织结构Fig.3 Organization structure of vector data
2.4.2.2 栅格数据组织结构
海洋地球物理空间数据仓库可存储管理多种格式的栅格数据层, 主要有GRID、TIFF 6.0 GeoTIFF、ESRI ASCII GRID、MrSID等格式的数据, 这些数据主要通过空间数据引擎和数据库管理系统(DBMS)按照统一格式进行存储, 以便于管理与访问。栅格数据的存储过程如图4所示, 具体的存储方式有3种。
分块存储: 在将栅格数据加载到基于 ArcSDE的数据库中时, SDE将整个栅格数据分割成N×M像素大小的栅格块(Tile), 每个 Tile对应于 raster block表中的一条记录, 而这N×M个像素的值则以二进制大对象(BLOB)格式存储在该表的 Block_data字段中。
图4 栅格数据的存储过程Fig.4 The storing procedure of Raster Datasets
压缩存储: 在存储栅格数据时, 针对不同的应用需求, 采用不同的压缩算法对图像进行压缩。对于那些像素值很重要的数据, 如分类数据或用于分析的数据来说, 采用无损压缩算法(如 LZSS)来进行压缩存储, 而对于像素值不是很重要的数据则可以采用有损压缩算法(如JPEG)来进行压缩存储。
金字塔结构: 通过 ArcSDE将栅格数据生成金字塔结构进行存储。金字塔是栅格数据的一组逐级降低分辨率的“拷贝”, 空间数据引擎(SDE)根据用户的需求确定能够在客户端窗口上显示栅格数据的最佳分辨率, 从而把相应的金字塔分块传输给客户端,从而提高栅格数据的显示效率和速度。
3 系统实现
本文采用 ORACLE数据库管理系统和ArcSDE空间数据引擎, 开发实现了基于C/S和B/S架构的海洋地球物理数据库系统。C/S架构的海洋地球物理数据库系统(图5)重点针对海洋地球物理元数据和基础数据, 提供了便捷、友好的数据录入、编辑、自定制格式批量导入、数据查询和下载等功能, 使用户能够方便、快捷地将数据录入到数据库, 并且对数据进行检索和共享。B/S架构的海洋地球物理数据库系统(图6)重点基于海洋地球物理空间数据仓库, 通过网络浏览器(如Internet Explorer、360浏览器、FireFox、Chrome等)提供基于电子地图的数据浏览、检索和下载等服务[15], 使用户不必安装任何软件即可实现直观、便捷的海洋地球物理数据的浏览和共享。
该系统在“我国近海海洋综合调查与评价”专项海洋地球物理调查过程中进行了应用实践, 能够对获得到的海洋地球物理综合信息进行统一管理, 并且可以向用户提供便捷、直观的数据浏览和共享服务, 提高了数据的使用效率。
图5 C/S架构的海洋地球物理数据库系统Fig.5 Marine geophysics database system in C/S architecture
图6 B/S架构的海洋地球物理数据库系统Fig.6 Marine geophysics database system in B/S architecture
4 结论
本文面向海洋地球物理调查和研究工作的应用需求, 在对海洋地球物理数据进行分类整理的基础上, 对海洋地球物理数据库进行设计, 并开发实现了C/S架构和B/S架构的海洋地球物理数据库系统。应用实践表明, 该系统能够面向多源、异构、海量的海洋地球物理综合数据提供统一管理、直观浏览和便捷共享等服务, 提高了数据的使用效率, 满足海洋调查、科研、管理等工作的需求。同时, 海洋地球物理数据库系统的开发和实现, 也为其他海洋学科数据的管理和共享提供了借鉴, 为我国“数字海洋”数据管理平台的建设进行了有益的尝试。
[1]邹逸江.空间数据仓库研究综述[J].测绘学院学报,2002, 19(4): 287-289.
[2]陈述彭, 鲁学军, 周成虎.地理信息系统导论[M].北京: 科学教育出版社, 2000.
[3]李振华, 胡光道, 王淑华.一个地学数据仓库的初步设计与实现[J].地质与勘探, 2002, 38(5): 67-70.
[4]刘展, 李津, 杨作升, 等.适于“数字海底”的GIS数据仓模型初探[J].西安石油大学学报(自然科学版), 2004, 19(1):77-81.
[5]于焕菊, 谢传节, 李云岭, 等.中国华北地区地震空间数据仓库的构建与分析[J].地球信息科学, 2006,8(3): 88-93.
[6]Pecar-Ilic J, Ruzic I.Application of GIS and Web technologies for Danube waterway data management in Croatia[J].Environmental Modelling & Software, 2006,21(11): 1562-1571.
[7]Nilakanta S, Scheibe K, Rai A.Dimensional issues in agricultural data warehouse designs [J].Computers and Electronics in Agriculture, 2008, 60(2): 263-278.
[8]Zhou W, Chen G, Li H, et al.GIS application in mineral resource analysis-A case study of offshore marine placer gold at Nome, Alaska[J].Computers &Geosciences, 2007, 33(6): 773-788.
[9]Rai A, Dubey V, Chaturvedi K K, et al.Design and development of data mart for animal resources[J].Computers and Electronics in Agriculture, 2008, 64(2): 111-119.
[10]苏天赘, 崔爱菊, 梁瑞才, 等.海洋地球物理空间数据仓库系统的设计与实现[J].地球物理学进展, 2011,26(4): 1478-1484.
[11]张明华, 黄冬梅, 熊中敏, 等.多源异构海量海洋数据综合管理平台构建研究[J].海洋科学, 2012, 36(2):110-115.
[12]FGDC-STD-001-1998, Content standard for digital geospatial metadata ( Revised June 1998 ) [ S ].
[13]周立柱, 张志强, 李超, 等译.数据库管理系统[M].北京: 清华大学出版社.2004.
[14]Robert W.Understanding ArcSDE[M].Redlands: ESRI Press, 2001: 5–6.
[15]周林, 刘海行, 宋转玲, 等.基于 WebGIS技术的PANDA断面海洋主题数据库系统可视化查询的设计与实现[J].海洋科学, 2009, 33(5): 86-91.