袁雪梅,蒋永国,郭忠文
(中国海洋大学信息科学与工程学院,山东青岛266100)
海洋数据信息共享平台关键技术研究与实现*
袁雪梅,蒋永国,郭忠文
(中国海洋大学信息科学与工程学院,山东青岛266100)
根据国内外已有海洋信息共享技术和海洋专业数据格式的分析,对海洋数据信息共享平台设计中的元数据、Web GIS、MarineXML等关键技术进行研究,提出1种海洋数据信息共享平台的设计架构,结合B/S模式的Map Xtreme Java插件并采用Web GIS的瘦客户端策略和JSP开发实现该平台。运行结果表明,该平台能够较好满足海洋领域用户的信息服务需求。
海洋数据信息共享平台;元数据;Web GIS;MarineXML;JSP
海洋数据信息共享平台一般是指为海洋数据的获取、加工处理、定制下载、可视化以及专题应用等一体化服务,提供海洋数据信息化、信息共享化平台支撑,目前海洋数据信息共享平台主要有B/S和C/S 2种模式。
国际上,海洋数据共享相关项目研究主要有:美国NOAA发起的IOOS(Integrated Ocean Observing System)[1-2]、美国NSF等资助的MM I(Marine Metadata Interoperability)[3]、欧盟资助的MarineXML[4];国内海洋数据共享平台有科技部的科学数据共享工程——海洋科学数据共享中心、908-03数字海洋项目——中国数字海洋工程、“十五”863计划海洋动力环境立体监测动态信息服务集成示范系统和“九五”863计划海洋环境立体监测系统技术和示范试验——上海示范区。采用B/S结构来实现的海洋数据信息共享平台,授权用户可以在任何时间、任何地点下载、查看和使用海洋数据,用户还可以通过1个简单的浏览器界面可以访问经过专业的GIS分析产生的数据。
本论文通过对海洋数据格式和海洋数据信息平台需求进行分析,对海洋数据信息共享平台的总体架构、平台功能、元数据以及基于MarineXML的海洋数据XML展示和WebGIS等关键技术进行了分析和研究,最后用JSP和Map Xtreme Java等技术开发实现了该平台。
在设计平台之前,对已有的海洋专业数据格式进行了调研与分析,海洋科学数据有很多不同的专业存储形式和标准格式,如二进制文件、ASCII(文本)文件、NetCDF、HDF等,二进制通用气象数据表示格式BU -FR、格点化的二进制文件GRIB[7-8]等。
对二进制文件、ASCII文件和已知数据文件格式的情况下可以用多种程序设计语言读取,ASCII文件可利用Office Excel,O rigin,Surfer,Grads,MA TLAB,IDL等专业和非专业的绘图软件调入原始数据或进行统计计算后的数据进行绘图。而一般的二进制文件均可转为ASCII文件,再进行计算和绘图。对于HDF等文件需要从相关网站下载到读取相应产品的IDL,Fo rtran,M A TLAB语言的源程序或者利用HDFLook,HDFView,ENV I等专业软件。
NetCDF(Network Common Data Format,网络通用数据格式)[5-6]是美国大气研究大学协会UCAR(U -niversity Corporation for A tmosphere Research)在Unidata Projects中项目科学家开发出来的,针对科学数据的特点,提出的1种面向数组型数据、适于网络共享的数据描述和编码标准。NetCDF是1种二进制的、自描述的独立于机器的用于保存科学数据的文件格式,存储量小,读取速度快。它也是1个数据类库接口,这个数据类库包含了访问数组格式的功能。这种格式的接口和类库都支持产生、访问和共享科学数据。NetCDF是1组针对阵列数据访问的接口,1个可自由分发的数据访问库(包),支持C,Fo rtran,C++,Java以及其他的语言。这个NetCDF库为表示科学数据提供跨平台的、与机器无关的数据格式的支持。这些接口、库以及数据格式可以让科研工作者更方面的创建、访问和共享科学数据。
HDF(Hierarchical Data Fo rmat,层次式数据格式)[9-10],由美国伊利诺伊大学的国家高级计算应用中心NCSA于1987年组织开发,是1种新型的分层式数据文件,这种文件中既可以包含不同维数的二维、多维数组,又可以包含图像等,将有关数据格式描述的元数据和数据存放在同一个文件中,元数据除了包括如何解读数据本身的描述数据外,还包括产品类型,采集时间,卫星轨道参数及经纬度信息等各种参数。HDF格式已经被广泛用于目前国外各种卫星传感器的标准数据格式,目前最为流行的读取HDF文件的语言是交互式数据语言
IDL(Interactive Data Language)或创建复杂算法(如矩阵运算和线性代数)的MA TLAB语言。Fo rtran,C等传统程序设计语言工具也可以读取HDF文件,但程序代码较为复杂。
海洋数据信息平台的创作目的是通过网络实现涉海院校的海洋调查数据和产品数据共享,为不同用户提供多级海洋数据信息。该平台的主要功能就是面向海洋应用、研究和开发,采用GIS和数据库复合形式组织与管理各种海洋多维数据,实现了海洋GIS数据多元浏览和空间查询,快速查找海洋记录和数据集以及基于海洋元数据的数据查询与管理,本平台面向大专院校学生和海洋科技工作者,为不同用户层面提供多级海洋数据资料和信息产品,全面提升平台资料信息共享能力。本平台的技术特点是使用比较流行的面向对象语言,界面友好,操作方便快捷,同时该平台具有较好的移植性和安全性,较好满足海洋用户信息服务的要求,在一定程度上提高了海洋数据的利用率。
依据海洋数据信息共享平台的安全性需要,该平台的用户大致可以分为2类:普通用户和授权用户。根据用户的身份,授予不同的权限,以保障海洋数据使用的安全。
通过海洋数据格式及海洋数据信息平台的需求分析,对海洋数据信息共享平台的总体架构进行设计,以便平台更好的开发实现,本平台主要包括3部分:数据层、业务层、应用与门户,具体架构见图1。
图1 海洋数据信息共享平台的架构图Fig.1 A rchitecture of marine data info rmation sharing p latform
为了达到海洋数据信息共享平台各个功能模块具有高内聚、低耦合,此平台的功能模块包括了海洋基础数据信息、海洋元数据查询、Web GIS系统、XML数据查询和产品数据查看等功能模块。其中Web GIS系统实现了海洋GIS数据多元浏览和空间查询,快速查找海洋记录和数据集;海洋基础数据信息可以使用户清晰的查看物理海洋、海洋遥感、海洋生物等数据的元数据描述;海洋观测数据可以使授权用户下载自己感兴趣的观测数据,具体功能模块见图2。
图2 海洋数据信息平台的功能模块Fig.2 Functionalmodelsof marine data information shaming p latfo rm
目前该平台可以提供的海洋基础数据包括:物理海洋数据、海洋遥感数据、海洋生物数据、海洋气象数据、海洋地质数据、海洋化学数据及其他。
元数据(M etadata)是关于数据的数据,可以用于描述海洋信息的内容、结构和访问方式等。元数据的使用能够在一定程度上消除数据资源之间的语义独立性和异构性,帮助实现数据资源的整合和交换。随着海洋数据生产者和用户数量的增加,利用合适的元数据来描述海洋信息,是海洋信息生产、存储、更新和再利用的必然趋势。
目前,海洋环境信息没有统一的、被业界所公认的海洋数据的元数据标准。通过研究发现海洋环境数据的结构与地理信息系统中空间数据的结构相似,空间数据的属性值相当于海洋数据的要素值;空间数据中空间实体包括有点、线、面等多种类型,因此,可以借鉴比较成熟的空间地理数据元数据标准,以此为蓝本形成海洋环境信息的元数据标准。
为此,本平台所采用海洋元数据格式参考国际地理信息元数据标准(ISO 19115)、澳大利亚海洋数据中心(AODC)的M arine Community Profile of ISO 19115、生态科学数据元数据标准(GB/T 20533-2006)、气象数据集核心元数据标准(QX/T 39-2005)、国土资源信息核心元数据标准(TD/T 1016-2003)和中科院网络信息中心的科学数据库核心元数据标准V 2.0,认为海洋信息元数据主要包括所描述数据资源的标识信息、内容信息、联系信息、数据质量信息、空间信息、分发信息等实体。海洋信息元数据元素总体上可分为:1)核心元素:各类科学数据通用的元数据元素;2)海洋核心元素:海洋领域各类专门的元数据元素;3)个别领域元素:某一具体海洋类数据使用,适用于个别海洋学科数据。
如图3所示,所制定的海洋信息元数据(M arineMD_MetaData)根节点主要包括联系信息(MD_Contact-Info)、标准名称(M dStandName)、版本信息(M d-StandVer)、标识信息(MD_Identification)、内容信息(MD_Content Info)、分发信息(MD_Distribution Info)、质量信息(MD_DataQuality Info)、参照系信息(MD_ReferenceSystem Info)。具体子节点的XML描述由于本文篇幅原因就不在一一介绍了。
图3 海洋信息元数据XML根节点Fig.3 XML root node of marine information metadata
从描述粒度上看,以上所制定的基于XML海洋信息元数据标准,满足海洋数据实际和以后扩展的需要,也就是说满足原始数据文件、标准数据集、数据表、数据库和数据仓库等数据状态交换与集成的需要,同时也支持各种具体的海洋元数据服务。
用户可以选择海洋元数据的数据中心、数据类型、原始数据来源、负责单位等信息,用户也可以指定元数据的时间段、经纬度等信息来查询感兴趣的海洋数据和元数据信息。
Web GIS[11]是指基于Internet/Intranet平台进行信息发布、数据共享、交流协作。Web GIS是以Web页面作为GIS软件的用户界面,将Internet和GIS技术结合在一起,能够进行各种交互操作的GIS,其核心是在GIS中嵌入H TTP和TCP/IP标准的应用系统,实现了在Internet/Intranet环境下空间信息管理。Web GIS具有空间显示和查询功能、发布速度快、发布范围广以及Web GIS具有较低的软件成本和系统维护较方便,本平台采用了Web GIS技术,使用户可在任何时间、任何地点通过网络比较直观的、可视化的访问GIS服务。
国外比较有代表性的Web GIS系统平台[11]有ESRI公司的A rc IM S;Map Info公司的M ap Xtreme;Autodesk公司的Map Guide;Intergraph公司的Geo-M edia Web M ap等。国内Web GIS平台[11]有由武汉吉奥信息工程技术有限公司的GeoSurf,国家遥感应用工程技术研究中心的地网GeoBeans等平台。Web GIS的开发涉及很多技术,所有的功能都从底层做起,将是1项非常庞大的工程,且M ap Xtreme Java[12]是Internet/Interanet上的纯Java的地图服务器,因此,海洋数据信息共享平台采用了M ap Info公司的M ap Xtreme Java作为开发插件来地理系统的2次开发工具,此插件能提供1个可视化、直观的地图信息。
M ap Xtreme Java主要由M apJ,Map XtremeServlet,Renderer和DataProvider组成。M apJ对象主要是获取客户端对地图的操作和管理地图的各种状态;M ap XtremeServlet是1个非常关键的组件,接收M apJ对象的地图绘制请求,同时还能向数据提供者(DataP-rovider)发送数据请求信息;DataProvider提供的数据是M apJ对象和地图数据之间的关键环节,每个图层都有自己内嵌的DataProvider,还可以访问数据源;Renderer是地图渲染组件,显示地图数据。各部分之间的关系见图4。
图 4 Map Xtreme Java组件之间的关系Fig.4 Relationship among componentsof Map Xtreme Java
XML[13-14]已成为Internet环境下事实上的数据表示和数据交换的标准。XML具有强大的数据描述能力,它是结构化的描述语言,采用的是树型存储结构,支持深层次的嵌套表达,这使得它非常适合于统一描述结构复杂的海洋观测数据,简化数据交换,实现海洋数据共享。当前,国际上对基于XML的海洋数据交换格式M arineXML(海洋XML)的研究和应用已逐步兴起,并取得了一定成效[15-16]。
MarineXML技术实现海洋数据的统一表示,封装海洋观测数据来实现海洋数据的有效存储、传输和显示。在进行本平台总体设计和详细设计的同时,平台课题组已对海洋水文、海洋气象、海洋生物生态、海洋物理、海洋化学、海洋地质、海洋地球物理、海洋遥感等海洋环境调查数据进行了XML标准化研究,下面以海洋水文的温盐深调查数据为例,图5显示了海洋温盐深调查资料的XML内容模型图。
图5 海洋温盐深数据资料的XML根节点Fig.5 XML root node of Marine TSD Data
如图5所示,海洋温盐深M arine TSD调查资料主要包括Remark(对温盐深XML文件的备注说明)、Contact(与XML文件有关的个人和组织的联系信息)、QCDetails(与XML具体调查数据的质量控制相关具体细节信息)和Marine Data(温盐深等调查数据的信息)等子节点。同时,海洋温盐深Marine TSD的根节点还具有name,description和creationdata 3个属性,分别表示所创建XML文件的关键词、描述和创建日期。Marine TSD根节点的XML组成如下:
图5中的QCDetails是指记录与温盐深数据的质量控制相关具体细节描述信息,主要包括agency,operator,date和status 4个属性,分别表示质量控制处理单位、操作者、质控日期和质控后的状态,见图6。
图6 海洋温盐深数据质控节点——QCD etails Fig.6 Data quality control node of MarineTSD-QCDetails
图7 温盐深节点——MarineDataFig.7 Node of MarineTSD-MarineData
图5中M arineData节点包括航次信息(Cruise)、站位信息(Station)、其它属性信息(Property)和数据记录信息(DataReco rd)子节点,见图7。以上子节点中最关键的具体记录节点(DataRecord)的详细信息见图8。
图8 具体温盐深记录节点-Data Record Fig.8 Specific Record node of Marine TSD-Data Record
DataRecord节点主要是描述温盐深及其它测量值的有关信息,该节点为记录温度、盐度和深度及其它值的节点,包括观测层深度(ObservationalLayerDep th)、水温(Water Temperature)、盐度(Salinity)和其它观测值(OtherValue)等子节点。因为温盐观测资料分为颠倒采样器、温盐自记仪(CTD)和深温(BT)3种测温盐方式,所以盐度(Salinity)和其它观测值(OtherValue)这2个子节点是可选的。DataReco rd节点的XML组成定义如下:
根据平台的需求,由于JSP具有可扩展性,便于在不同的系统间进行移植操作,因此选择JSP作为该平台的开发语言。同时,该平台还利用了JavaScrip t,M ap Xtreme Java,CSS等技术实现控件的友好界面。
JSP(JavaServer Pages)[17-18]采用Java语言的服务器端技术,拥有Java语言内在的简洁性,可用于创建高度交互性和灵活的Web应用程序。JSP具有比一般脚本语言(如ASP,PHP)和CGI更快的执行速度,且JSP具有Java语言所拥有的“一次编写,随处运行”的特点,因此,JSP与平台无关的特性使其可以无缝地运行在UN IX/L INUX和Window s平台下。
本平台采用了用户界面层、业务逻辑层、数据库层的3层体系结构,便于平台的维护,提高了代码的可复用性。用户界面层是呈现在用户面前的是一些JSP页面或GIS页面;业务逻辑层封装了JavaBeans,web服务器和M ap Xtreme应用服务器,可以很好地实现业务逻辑和前台程序的分离,使得平台具有更好的健壮性和灵活性。数据层考虑到跨平台和存取速度选用O racle10g来存储各种海洋数据信息,还封装了一些地图文件信息。采用JSP+JavaBeans的工作模式。用户通过浏览器发出1个HttpRequest请求,收到客户端的请求后,JSP页面编译出的Servlet从一个JavaBean中请求信息,该JavaBean可以从数据库或其他后台服务器中请求信息。一旦JavaBean获得需要的信息后,JSP Servlet可以查询并以HTML形式通过Http Response送到客户端显示,见图9。
图9 3层体系结构Fig.9 Three-tier A rchitecture
海洋地理信息系统主要提供给用户一个可视化的、直观的的数据搜索和分析方式。在这里,提供了放大、缩小、移动、选择等常用的地图操作功能,也可以进行各种数据搜索下载服务。
图10 基于Map Xtreme Java的Web GIS数据流程Fig.10 The data flow of Web GIS based on MapXtreme Java
本平台采用的Map Xtreme Java的工作方式总体来说是瘦客户端的工作方式,客户端看到的地图是服务器端根据用户的请求,动态的生成某种格式的图片,如.jpeg格式。当用户在客户端对地图操作(如放大、缩小、移动等),客户端浏览器首先Web服务器发送H TTP请求,Web服务器收到该请求后,向Web服务器端地图引擎(包含M apJ对象的用户自定义的servlet)发送地图操作请求,M apJ对象更新自身的状态。之后,M apJ对象对M ap XtremeServlet发送地图绘制请求,通过DataProvider服务器,M ap XtremeServlet可以获得地图绘制所需要的数据,但图像请求由地图渲染器(renderers)服务器来操作。最后经过渲染的地图以栅格图的形式嵌入JSP网页中返回客户端,见图10。
结合海洋数据信息平台的功能特点以及M ap X-treme Java开发工具,选用以下软硬件工具搭建本平台的运行环境:
(1)服务器端 硬件环境采用专用服务器,Intel Xeon处理器3.0GHz以上,内存2G以上;软件环境包括Linux系统,Oracle 10g,Tomcat 5.5,Map Xtreme 4.7.1,JD K1.4等软件工具。
(2)客户端 硬件环境包括普通PC机,Intel处理器2.0GHz以上,内存1G以上;软件环境包括window s XP Professional系统,IE 6.0以上的浏览器。
海洋数据信息共享平台主界面见图11,该界面显示了本平台的主要功能。
图11 海洋数据信息共享平台的主界面Fig.11 The Homepage of marine data information sharing p latfo rm
海洋数据信息共享平台的Web GIS系统的界面见图12,该界面显示了Web GIS系统的主要功能。
图12 海洋数据信息信息共享平台的Web GIS界面Fig.12 The WebGISpage of marine data information shaming p latform
海洋数据信息平台采用了3层架构,即用户界面层、业务逻辑层、数据层,便于本平台的开发、调试、管理和维护。通过分析海洋数据格式,对海洋元数据进行了设计并展示了基于MarineXML海洋数据的XML。为了使海洋数据数据的可视化显示及查询等操作,本平台采用了Map Info公司开发的Map Xtreme Java开发插件作为二次开发来实现Web GIS系统的主要功能,实现了地图的放大、缩小、移动等基本功能,还实现了图层控制、查询以及其他功能(如数据下载、查看图例等)。
[1] 汪洋,詹易生,曹东.美国海洋监测集成系统项目IOOS介绍[J].海洋技术,2003,22(4):114-116.
[2] 靳熙芳,王硕.海洋环境数据智能化监控的现状与关键技术[J].海洋预报,2009,26(2):95-102.
[3] NSF,SURA,ONR.Marinemetadata[EB/OL][2007-2-11],http://marinemetadata.org.
[4] IOC.MarineXML Project[EB/OL][2004-3-20],[2010-02-10].https://www.seegrid.csiro.au/tw iki/bin/view/Marinew eb/MarineXML,[2010-02-10].
[5] Stefano Nativi,John Caron,Ethan Davis.Design and imp lementation of net CDFM arkup language(NcML)and its GML-based extension(NcML-GML)[J].Computers&Geosciences,2005,31(9):1104-1118.
[6] 刘峰,刘娟,李萍,等.基于MA TLAB实现3中气象数据的读取和绘图[J].广东气象,2007,29(4):45-47.
[7] 乔云亭,谢逸.GRIB数据及其在GRADS中的使用[J].广东气象,2001,23(3):25 - 27.
[8] 刘媛媛,应显勋,赵芳.GRIB2介绍及解码初探[J].气象科技,2006,34(增刊):61 - 64.
[9] NCSA.HDF5 User’sGuide[EB/OL].[2004-06-10],[2010-02-10].http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/Feb.
[10] NCSA.HDF4 User’s Guide HDF4.3r[EB/OL][2004-06-10],[2010-02-10].http://hdf.ncsa.uiuc.edu/doc.htm l.
[11] 马林兵,张薪长,伍少坤.Web GIS的原理与方法教程[M].北京:北京科学出版社,2006.
[12] Map Info.Map Xtreme[EB/OL][2000-05-11],[2010-02-10].http://www.mapinfo.com/mapxtreme.
[13] 田友强,于磊,张晓峰,等.海洋XML数据集成系统原型的设计与实现[J].中国海洋大学学报:自然科学版,2005,35(4):691-696.
[14] Jiang Yongguo,Feng Yuan,Che Zhaodong,et al.Implementing marine xm l for observed CTD data in a marine data exchange platform[J].Journal of Ocean University of China,2008,7(4):393-396.
[15] Isenor A W,Low ry R K.Final rep rot of the ICES/IOC study group on the development of marine data exchange using XML[R].Canada:Defence R&D Canada-A tlantic Technical Report 2005TR2005-005.
[16] RonaiB,Sliogeris P,Matthew de Plater.Development and use of marine XML within the Australian oceanographic data centre to encapsulate marine data[M].Australian:Australian Oceanographic Data Centre,2003.
[17] 吴建,张旭东.JSP网络开发入门与实践[M].北京:人民邮电出版社,2006.
[18] 李建刚,秦兴桥,郑雨贝.JSP网络编程技术与实践[M].北京:清大学出版社,2008.
Design and Implementation of Marine Data Information Sharing Platform
YUAN Xue-Mei,JIANG Yong-Guo,GUO Zhong-Wen
(College of Info rmation Science and Engineering,Ocean University of China,Qingdao 266100,China)
According to analysis of the existing internal and overseasmarine information-sharing technology and marine professional data formats,this paper studies meta data,Web GIS,Marine XML of marine data sharing information platform,and a design framework of marine data sharing platform is presented,combining B/Smode’s Map Xtreme Java plug-in,using the thin-client Web GIS strategy,the platform is developed at last with JSP.The results show that the platform is better to meet information service needs of marine users.
marine data information sharing platform;metadata;Web GIS;MarineXML;JSP
TP13
A
1672-5174(2010)12-147-07
国家自然科学基金项目(60974025)资助
2010-03-11;
2010-06-02
袁雪梅(1984-),女,硕士生。E-mail:yuanxuemei10@163.com
责任编辑 陈呈超