查看原文
其他

海洋技术▏一种通用的海洋环境监测系统设计方法

胡克勇等 溪流之海洋人生 2023-05-07

点击上方“溪流之海洋人生”即可订阅哦

随着传感器技术、网络技术以及海洋科学技术的发展越来越多的监测仪器部署于规划海域对海域的海洋环境状态进行监测构成了海洋环境监测网络的硬件环境。监测仪器利用携带的传感器采样不同的海洋环境参数并转换成数字形式的数据然后对监测数据进行集成、处理及分析可以为气候变化、海洋运输等领域的应用提供数据支持以及决策依据。

近年来不同的海洋组织针对海洋环境监测系统开发开展了一系列研究并形成了针对不同应用的开发工具及资源。然而这些工具大都是专用且高度集成的不具有通用性无法在其他的海洋监测系统中进行复用原因在于在数据采集过程中由于需要利用仪器专有的命令集与其进行交互数据采集程序通常与仪器通信协议紧密耦合在使用不同类型仪器时需要不断进行修改以适应新协议在数据存储时数据库结构缺乏良好的可扩展性例如在航测基础数据库中通常按照CTD等仪器类型分别建立航次表、站位表、海面数据表、水体实测层以及水体标准层数据表并添加相应的海洋环境参数作为表的字段在采用新的监测仪器或平台时需要增加相应的表且在监测参数发生变化时需要更改相应表的结构另外尽管现在已有SufferHydroDesktopODV等多种可视化显示与分析工具但无法抽取其中的功能满足特定的系统需求导致开发效率较低。

针对上述问题本文提出一种通用的海洋环境监测系统设计方法分别介绍了采集层、数据层以及应用层采用的关键技术复用已有的工具及资源解决了多源异构数据的获取以及客户端软件的快速生成问题。该方法已在基于IEEE P2402 标准展开应用并通过多个海洋监测应用案例中对该方法的有效性及可行性进行了验证。


一、材料与方法


⒈海洋环境监测系统层次架构


1显示了海洋环境监测系统层次架构自下而上分为采集层、数据层与应用层囊括了从监测数据采集到可视化分析展示整个过程下面简要描述各层的作用及层间关系。

图1 海洋环境监测系统层次架构

在采集层中监测数据来自不同的源这些监测源采用不同的监测方式产生的数据结构也不尽相同。监测数据可以来自具体的物理监测设备依靠其携带的传感器对海洋环境参数进行测量并通过具体的协议命令与设备进行交互获取数据值监测数据可以来自分析过程通过将水样取回在实验室中进行分析得到结果监测数据可以来自数值模型利用具体算法对已有的监测数据进行二次计算得到这些数据通常以文件的形式存储结果不同的系统其文件格式及内部数据结构都不一致需要根据提交的文件编写数据解析程序。

数据层需要对来自多个监测源的不同结构的数据进行集成存储对数据进行质量控制添加数据使用时所必需的元数据另外数据层还应存储通过对某一专题范围内的监测数据进行分析整理形成产品数据支撑区域系统运行与管理的各种业务化数据支持基于地理信息的监测数据处理的地图/图像数据。由于海洋监测具有持续时间长、范围大、监测参数多等特点数据库结构应具有良好的可扩展性能够以较少的更改适应监测系统需求的变化能够向应用层提供快速查询响应、数据导入导出等服务。

利用数据层提供的服务应用层能够方便地获取监测数据利用各种工具对数据进行分析与处理以支持海洋预报、防灾减灾、环境保护领域的各种应用。应用层的工具在功能上具有相似性通常都具有监测数据的可视化功能、基于地理信息系统的显示功能、基于多种查询条件的数据搜索功能。


⒉基于配置的数据获取


由于采集的数据来自多监测源且监测数据具有不同结构本节首先对监测过程进行抽象并提取出关键对象。图2显示了对象之间的关系责任对象即不同的海洋观测部门负责监测项目的规划和方法对象的部署方法对象指监测仪器及传感器通过方法对象能够了解对监测对象的采样方式监测对象指不同的海域通常用站位进行表示指明了监测发生的地点感知对象指明了监测海域的不同海洋参数并产生结果对象结果对象负责记录针对不同参数产生的测量值。

图2  监测对象关系

在监测过程中由于责任对象及方法对象较为固定从监测数据中主要提取监测对象、感知对象以及结果对象信息设计标准数据序列结构(时间站位标识符参数标识符采样值质量标识符)。数据采集程序通过对数据流及数据文件中的信息进行提取并转换成标准数据序列实现对多源异构数据的统一管理。

为了向上层屏蔽多源数据异构性将数据采集程序分离并开发成相对独立的模块能够有效地减少由于监测环境的改变对整个监测系统的影响其结构如图3所示。一方面采集程序直接从仪器收集采样数据值对数据进行处理并向上层提供标准的数据序列。采集程序周期性地与仪器通信进行数据收集建立连接发送命令及取回数据这些操作都封装在采集函数中。针对已有的仪器开发人员可复用已有采集函数针对新类型的仪器需要根据仪器通信协议编写新的采集函数。

图3  数据采集程序结构

另一方面很多监测数据由于采样方法的局限缺乏实时性例如人工观测的各种类的鱼数目这些数据通常记录在数据文件中然后通过程序读取。当前海洋监测领域普遍使用的文件类型包括XMLCSVTSV,利用解析程序能够对不同格式的文件自适应读取。在数据提取过程中首先要明确文件中包含的元数据按照文件内容配置监测站位、剖面及参数等信息然后解析程序需要了解具体参数值及采样时间在文件中的位置。

位置信息在XML文件中可以使用数据节点的可扩展路径标识CSVTSV文件中则是具体参数对应的列标识符。数据解析程序按照配置信息找到参数数据位置并提取相应数据值转换成标准结构的数据序列4展示了对一个XML数据文件进行配置以提取站位和参数信息的过程。

图4    XML数据文件配置

在取回采样数据后通过质量控制过程对数据进行检查。整个过程主要包含两个步骤⑴针对不完整或格式不正确的数据对采样值进行缺失标记⑵通过配置工具预先定义参数数据值的上限和下限并与采样值进行比较确保数据处于正常的范围之内针对质量较差的数据将进一步进行人工检查。


⒊可扩展的数据库结构


由于海洋监测数据类型较多本节仅从航测数据说明可扩展数据库设计方法该方法可以扩展到其他类型数据。航测数据可以分为监测元数据与监测数据元数据从时间、空间、内容等方面对监测数据进行描述航次信息主要包括航次号、航测起止时间、调查海区、调查机构、调查项目以及站位时间和经纬度等信息这些信息相对比较固定较少发生变化因此着重考虑监测数据表的设计。

为方便描述以仅含有水文参数的CTD水体环境实测层数据表为例如表1所示一个参数作为数据表的一列并跟随质量符及精度符列分别作为质量和精度描述在监测需求发生变化需要增加监测参数时表结构需要进行相应更改如表2所示。这种更改不仅会造成新增加的列中部分数据为空使得存储效率降低还会造成数据库表列太多影响数据表访问及查询性能。

 表1  原数据表

PID

1

Temperature

8.49

Temperature Quality

1

Temperature Accuracy

2


2  原数据表增加PH参数后的结构

PID

1

Temperature

8.49

Temperature Quality

1

Temperature Accuracy

2

pH

8.17

PH Quality

2

PH Accuracy

2


为应对数据库表结构的修改将监测参数单独提取出来形成监测参数表除了参数名可以按照需求扩展存储单位、参数简写等其他信息在数据表中通过外键与参数表的VariableID产生关联并存储采样值、质量及精度信息。如表3所示当增加新的监测参数时仅需在参数表中添加一行数据即可实现在数据表使用相应的Vari ableID中存储监测数据整个过程无需更改数据库的结构且数据表中空值极少存储效率高如表4所示。

 表3 参数表

VariableID

Name

1

Temperature

2

PH


 表4 本文设计数据表

PID

1

2

VariableID

1

2

Value

8.49

8.17

Quality

1

2

Accuracy

2

2



⒋模块化的客户端


由于不同海洋监测系统的需求各异直接使用Suffer等工具无法满足特定的系统需求而且这些工具大多是高度集成的不提供源代码无法抽取其中的功能模块因此海洋监测系统的客户端大多是从零开发开发周期较长维护代价较大。

海洋监测系统大多需要向用户提供数据查找、数据显示、数据分析等服务通过将这些共有功能提取出来每个功能封装成相对独立的模块组成功能模块库在有新的功能需求时设计实现新的模块放入模块库中设计人员根据系统需求从模块库中选择相应模块按照软件工程领域的基于组件的开发方法对模块进行组装快速生成客户端。

通过对海洋监测系统需求进行调研目前功能模块库主要包括

⑴地图导航模块利用二维地图方式作为数据浏览的导航界面可以直观的显示监测区域及监测系统的拓扑结构。地图导航模块利用不同的图标标识各个节点并提供该节点简要的描述信息。

⑵时间曲线模块处理时间序列的数据显示参数随时间变化的趋势。该模块扩展了传统的二维曲线显示方式支持多子窗口、多坐标系同时显示用户可以方便地进行对曲线进行放大、缩小以及移动同时多样化的标注方式包括瞬时值、特征点、文本标注等可以帮助用户更好地对数据进行分析。

⑶垂直剖面模块处理剖面数据显示参数随深度变化的趋势支持时间曲线模块的所有功能所不同的是其使用垂直的深度坐标系代替了水平的时间坐标系从而可直观显示参数的垂直变化。

⑷矢量场模块以二维形式显示基于网格的海流等矢量数据可以设置地理范围、参数类型、格点数量、数据文档或数据支持无失真的缩放、拖拽、时间动画操作。

⑸等值线模块以二维形式可视化显示基于网格的温度等标量数据将数值相等的点连接成平滑曲线能够清晰的显示参数在空间范围内的变化趋势。

⑹玫瑰图模块统计一段时间内矢量数据如海风、海流在各个方向上的统计结果。该模块分别对矢量数据的方向和速度在十六个方向上的分布进行统计结果包括矢量数据在各方向上的频率分布以及平均速度。

⑺参数关联模块显示两个相关参数之间的变化关系。例如温度和盐度横坐标显示温度纵坐标显示盐度利用一段时间内每个时刻两种参数对应的值绘制关联点由一系列关联点可以形成关联曲线。

⑻数据列表模块以列表的方式显示各参数的原始测量值。该模块有两种工作模式实时刷新和历史显示。

⑼数据下载模块提供下载监测数据的功能。通过选择时间范围以及要下载的参数NetCDFXMLCSV的格式将数据保存在用户指定目录。

二、结果与讨论

本文所提出的设计方法已经应用到不同的海洋环境监测系统开发中(见表5),涉及近岸监测、深水动力环境立体监测、水下传感器网络以及海上试验场等领域下面主要以海上试验场建设技术研究和原型设计为例展示该方法的可行性及有效性。

5    应用案例

序号

案例名称

1

基于XML的海洋信息交换与集成技术

2

青岛海洋科学数据共享中心

3

水下传感器网络关键问题研究

4

渤海海洋数据协同服务技术

5

海上试验场建设技术研究和原型设计

6

波浪能、潮流能能量转换效率模拟测试技术

7

运行状态信息综合集成处理与共享服务系统

8

南海海洋动力环境数据集成与应用技术系统开发


海上试验场数据集成系统包括三个节点分别是海床基、水下试验平台、小型多参数浮标用来监测小麦岛海域气象、水质等多种海洋参数的变化情况海床基和水下试验平台每半年回收一次进行维护参数采样间隔为一小时。采样数据通过无线或海底光缆方式到达本地服务器采集程序对数据进行解析后将数据存库客户端从数据库获取数据利用不同功能模块实现监测数据的实时展示及历史查询等。海面风的时间曲线界面如图5所示窗口中包含了两个坐标系分别用来显示海面风速和风向随时间的变化状况用户可以移动鼠标实时查看相应时刻的观测值。

图5 海面风随时间的变化曲线

另外系统利用WRF-ARW模式对该海域的海洋气象参数(海面风、海面气压、海面温度、海面相对湿度)及海洋水文参数(海水温度、海水盐度、海流、海浪)进行数值模拟并采用等值线模块、矢量场模块提供数值模拟数据的可视化展示。

6为盐度的分布等值线直观的反映了监测区域盐度的分布特征7为海流的纹理矢量图主要用纹理以及颜色的映射关系来反映出海流的流向和流速对于海流漩涡的表现有良好效果。通过设置参数可以查看不同经纬度、不同水深以及不同时间范围的盐度和海流状况并可对图像进行放大缩小以进行细粒度查看点击播放则可对不同时刻的盐度和海流状况进行连续显示从而了解其一段时间内的变化趋势。

图6  盐度等值线

图7  海流纹理

三、结论

针对海洋监测领域存在的多源异构数据的获取、数据存储结构不合理以及应用程序低效重复开发的问题本文提出了一种通用的海洋环境监测系统设计方法将系统划分为采集层、数据层以及应用层基于配置而无需修改程序的方式实现了从仪器及数据文件获取监测数据设计了可扩展参数的数据库结构设计了可复用的功能模块库以快速生成客户端从而保证海洋环境监测系统的高效快速构建。在以后的工作中一方面数据采集程序要逐步囊括各种类型的仪器及不同的文件类型另一方面要不断扩充模块库的内容逐步实现海洋环境监测系统的零编程开发。

1

END

1


【作者简介】文/胡克勇 耿润田 沈飞飞 武曲 郭忠文,分别来自青岛理工大学信息与控制工程学院、国家海洋标准计量中心和中国海洋大学信息科学与工程学院;第一作者胡克勇,1986年出生,男,山东青岛人,博士,主要研究方向为海洋信息处理;本文为基金项目,国家自然科学基金(61572448)、山东省中青年科学家科研奖励基金(ZR2016FB21;ZR2017BF043);本文来自《海洋环境科学》(2019年第4期),用于学习与交流,版权归作者及出版社共同拥有,转载也请备注由“溪流之海洋人生”微信公众平台整理。


相关阅读推荐

海洋科技▏小型海洋环境监测平台设计
海洋论坛▏世界主要国家的海洋环境监测状况
技术交流▏基于海洋环境监测与现代传感器技术的研究
知识窗▏细数我国海洋环境监测的涉及机构
海洋前沿▏应用于海洋环境和海洋工程的光纤传感技术
海洋装备▏便携型多模式水声浮标监测系统

公众号

溪流之海洋人生

微信号▏xiliu92899


用专业精神创造价值
用人文关怀引发共鸣
您的关注就是我们前行的动力 

投稿邮箱▏12163440@qq.com



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存