数据和功能服务

在海洋信息网格中,空间数据以Web服务的形式提供。这些空间数据服务广泛分布在广域网中,发布在网格资源管理和调度中心。当系统需要数据时,只需要在本地找到相应的数据服务并加载,就可以进行相应的操作。海洋信息网格平台包括三种数据服务:Argo数据服务、海洋矢量场数据服务和海洋标量场数据服务。ArgoDataService包括二维数据服务和三维数据服务,分别由ArgoData3DService和Argo Data3D Service提供。海洋矢量场的二维数据服务基于四个Web服务:CurrentsDataService、OceanCurrents、Winds-DataService和OceanWinds,海洋矢量场的三维数据服务由CurrentDa-ta3DService提供。海洋标量场数据服务还包括2D数据服务和3D数据服务,分别由ScalarDataService和ScalarData3DService提供。层级关系如图6.1所示:

表6.1空间服务的最高分类

6.1.1.1阿尔戈数据服务

Argo数据网格服务模块主要提供两个Web服务:ArgoDataService和ArgoData3DService,其中ArgoData3DService是二维服务,Argo Data3D Service是三维服务。Ar-goDataService服务提供Argo数据的各种操作和分析功能,主要包括两个子功能:①Argo数据信息请求,为用户提供可以使用的Argo数据信息,包括Argo浮标号、周期、某一断面的温度、盐度、压力等;②Argo数据的温、盐、密度图形生成功能提供两种方式:根据空间位置选择生成图形;基于属性生成图形。

图6.1数据服务层次结构

二维服务模块的功能主要体现在ArgoDataService的三种方法上,即Ar-go数据服务、Argo图形生成服务(按空间位置)和Argo图形生成服务(按属性)。基于网页,用户可以通过使用相应的方法得到预期的结果。功能可以如图6.2所示如下:

图6.2 Argo数据模型图

Argo data 3D grid服务是从已发布的ArgoData3DService (MapService或GlobeService)中获取Argo数据,然后根据获取的Argo数据在海洋信息网格多维业务分析平台中生成Argo在垂直方向上的三维温度曲线和三维盐度曲线,实现海洋温度场和盐度场的时空变化分析,其可视化效果以彩色地图6.1和6.2显示。

6.1.1.2海洋矢量场数据网格服务

海洋矢量场数据模块的实现主要由四个二维数据服务组成,即CurrentsDataService、Ocean-Currents、WindsDataService、OceanWinds和一个三维数据服务,下面分别介绍。

(1)当前数据服务。该服务为用户提供了在网格资源管理和调度中心注册的所有洋流数据的列表。用户可以通过查询得到洋流数据列表,了解服务器目前提供哪些洋流数据,从而可以根据自己的需求选择某个洋流数据进行相应的应用分析(图6.3)。

图6.3海洋流场数据请求图

(2)洋流服务。该服务提供了海流数据的三大功能服务,包括海流数据展示、海流数据属性查询和海流数据过程展示。该服务需要确保坐标数据和时间数据的有效性。对于属性查询,操作过程是通过空间坐标的选择来获取对应选定点的洋流数据属性,因此需要保证空间选择的准确性。时间序列的可视化要保证时间序列的正确性,要对应真实的时间序列(图6.4)。

图6.4海洋流场数据查询和处理服务示意图

(3)风向数据服务。该服务为用户提供了网格资源管理和调度中心发布的所有海风数据目录的列表。由于海风数据和洋流数据都是矢量数据,其处理方法与洋流数据类似。对于洋流数据,管理方式也是文件管理,不同的是它管理的文件格式是NetCDF文件(图6.5)。

图6.5风场数据请求图

(4)海洋风能服务。该服务提供了对海风数据进行处理和分析的功能,包括海洋风数据显示、海洋风数据属性查询、海洋风数据玫瑰图生成和海洋风数据过程显示(图6.6)。

图6.6海洋风场查询和处理服务示意图

(5)CurrentsData3DService。海洋矢量场三维展示和功能分析服务,提供海洋矢量数据的三维可视化和三维运算分析。

对于海洋数据来说,它是动态的、多维的。因此,利用观测到的海洋数据对海洋要素进行多维可视化表达,并提供多维可视化分析功能,可以更直观地展示海洋要素的现象和过程,有利于对海洋要素的分析和利用,进而更直观地认识海洋。

在该服务中,由于系统选择的结构是松耦合的,所有功能的实现都是基于Web Service的,所以需要保证服务的稳定性。调用服务时,需要判断返回值的状态,以确定服务是否正确执行。同时,由于Web服务的请求是有时间限制的,所以在调用时需要保证足够的调用时间。您通常可以将呼叫时间设置为无限长。

该服务主要提供洋流数据的三维可视化表达和分析(图6.7)。具体功能如下:

图6.7海流数据三维可视化与分析功能图

生成的曲线包括:a、任意时刻任意点不同水深的速度曲线;b、任意时刻任意点不同水深的水平速度曲线;c、任意时刻任意点不同水深的垂向流速曲线。该功能可分为垂直剖面时序显示、水平剖面时序显示和体积过程时序显示。

6.1.1.3海洋标量场数据网格服务

该服务主要提供海洋标量场数据的GIS可视化和分析功能。海洋的温度、盐度、密度、波浪、潮汐、海流等数据是非常动态和多样的,单纯用图片或多帧图片无法满足任何时间和空间的查询需求。同时,难以满足用户获取海洋标量场时空动态变化的需求,无法满足网络上对海洋现象进行实时定量分析和高精度定量计算的需求。简而言之,无法实现用户与网络的“互动”。在海洋分析领域,通常以场为对象对所有元素进行处理,这样海洋数据的发布可以是动态的、连续的,可以动态地展示许多海洋现象的变化过程。

海洋地理信息系统将海洋过程从海洋的现实中抽象出来,使之成为一幅能够在数字世界中表达海洋现实的动态画面。这幅图描述了海洋中物质能量在时间和空间上的形态、结构、过程、关系、功能分布和分布格局。海洋地理信息系统中的时空过程是一个逻辑简化、高度信息化的对象。从视觉、计量和逻辑方面模拟过程对象,通过计算机程序的操作和数据的变换完全模拟信息流和信息流的结果。在海洋地理信息系统的支持下,提取海洋现象或过程不同方面、不同层次的时空特征,也可以快速模拟海洋过程的演变和思维的过程。

海洋地理信息系统可视化是将抽象的数据信息转化为静态或动态的图形图像,使研究人员可以观察其模拟和计算的过程和结果。可视化包括对图像的理解和合成,用于解释图像数据,并根据复杂的多维数据生成图像。交互是“人机”如何以协调的方式接收、使用和交换视觉信息。

海洋地理信息系统实现了对海洋中时空过程及其关系的数值模拟,使用户在时空上对每一个时空过程都有非常直观的感受。无论是在屏幕上显示一个具有无级缩放和信息查询的海洋表面温度变化过程,还是显示一个剖面的时间动态过程,对海洋现象的时空关系的理解都更加具体和直观。

因此,该服务从海洋标量场数据的网络服务需求出发,实现了海洋标量场时空过程的可视化与分析、海洋标量场数据的远程定位与查询、海洋标量场时间变化的动态可视化表达、海洋标量场时间变化的趋势分析以及时空变化过程网络的动态模拟。

在具体实现中,为了体现网格的特点,具体的功能服务由实现特定功能的Web Service的功能服务和提供数据的ArcGIS Server MapService来完成。完成特定功能的WebService和提供数据的ArcGIS Server MapService符合web服务的技术标准,具有通用性和可扩展性。

海洋标量场数据网格服务模块主要基于Web服务ScalarDataServcie,下面会介绍。

(1) ScalardDataService服务。海洋标量场主要是海洋中一些只有数据值没有方向的数据。为了实现海洋动力学的特性,主要在两个功能上实现:一个是定点海洋时间序列数据动态过程的可视化分析,主要以温度曲线的形式实现;二是实现野外数据时间序列在海洋表面的动态模拟表达,以表达海洋表面的动态变化。该服务主要选择动态表达海洋表面温度场和叶绿素场。

海洋标量场数据在该Web服务中的应用主要包括两个方面:一是定点海洋时间序列数据动态过程的可视化分析,主要以温度曲线的形式实现;二是实现海洋数据时间序列的动态模拟表达。Web服务ScalarDataServcie的实现流程如图6.8和6.9所示。

图6.8标量场过程曲线功能流程图

图6.9标量场大规模动态模拟流程图

在具体编码过程中,按照上述过程编写海洋表面温度和叶绿素的过程曲线函数和海洋标量场数据的动态演化函数,并根据需要设置界面参数。

标量场数据3D网格服务模块的详细设计描述主要针对ScalarData3DService,下面将详细描述Web服务ScalarData3DService。

(2)ScalarData3DService。该服务基于已发布的海洋标量场数据服务(MapService或GlobeService),从海洋标量场数据服务中检索相应的数据,并根据检索到的数据生成剖面图和三维显示效果图,从而实现对海洋标量场时空变化的分析。效果如图6.3和6.4所示。