李 涛,邱忠洋,张 辉
(南京信息工程大学电子与信息工程学院, 南京 210044)
摘要:在海洋气象浮标站提供的海量海上气象水文资料准确性不断提高,对近海海域灾害性天气和气候变化预测预警能力的不断增强的前提下,提出了以GIS技术作为系统基础,选用C/S(Client/Sever)开发模式,以C#作为开发语言,设计了基于GIS的海洋气象综合观测应用平台系统。结果表明,该系统运行效果良好,采用GIS技术极大地提高了系统的信息管理能力、动态分析能力以及对近海海域灾害性天气的预警能力。
教育期刊网 http://www.jyqkw.com
关键词 :GIS技术;C#;海洋气象;观测平台;海域预警
中图分类号:TP399 文献标识码:A 文章编号:0439-8114(2015)06-1492-07
DOI:10.14088/j.cnki.issn0439-8114.2015.06.055
Desiging Integrated Observation and Application Platform System
of Marine Meteorology Based on GIS
LI Tao,QIU Zhong-yang,ZHANG Hui
(College of Electronic and Information Engineering, Nanjing University of Information Science and Technology, Nanjing 210044, China)
Abstract: With the continuos improvemrnt of accuracy of marine meteorological and hydrological data provided by the marine meteorological buoy station and the increase of the ability to forecast and warn the coastal waters of disastrous weather and climate change, the system based on GIS was proposed. C/S (Client/Sever) was used as development mode and C# was used as development language of marine meteorological observation and application platform system based on GIS. Result of system operation showed that the system greatly improved the ability of managing information, dynamic analysis, and early warning of offshore waters.
Key words: GIS; C#; marine meteorological; observation platform;sea warning
收稿日期:2014-05-25
基金项目:国家公益性行业(气象)科研专项(GYHY201306070)
作者简介:李 涛(1978-),男,河南信阳人,副教授,博士,主要从事数据挖掘、计算机软件研究,(电话)15195975428(电子信箱)thnxx@126.com;
通信作者,邱忠洋,主要从事计算机软件、地理信息系统研究,(电子信箱)qzy_nuist@163.com。
21世纪人类面临人口、资源和环境三大问题,而解决这些问题的关键因素是海洋,海洋对全球气候和环境起到主导作用。在全球陆地资源日趋紧张、环境不断恶化的今天,世界各国纷纷将目光转向海洋。我国《国家中长期和科学技术发展规划纲要》对海洋科技发展提出了中长期规划,要求海洋科技为海洋经济和社会可持续发展、海洋资源发展、海洋环境保护和减灾防灾等提供有效保障,提出了海洋事业的观点,而海洋观测是海洋事业的基础。海洋观测目的在于全面、及时、准确地掌握海洋环境的变化规律及了解人类活动对海洋环境的影响,为海洋开发、管理、保护提供依据[1]。开展海洋水文气象观测是对近海或者海岸附近海洋上的天气条件和水文环境进行观察和监测,观察项目包括气压、湿度、风向、风速、降水、潮汐和海水温度以及海浪和海水盐度等等,这些要素与人类生产和生活息息相关,因此,开展海洋水文气象观测具有极其重要的意义。本研究设计的综合观测系统以GIS为核心技术,以C/S(Client/Sever)为开发模式,以C#为开发语言,极大地提高了系统的信息管理能力、动态分析能力,通过从后台数据对海洋要素数据的提取、分析,将海洋水文气象要素直观简洁地展示在平台上,准确、及时、可靠地将各要素信息提供给预测预警的决策机构,对于气候变化研究和灾害预警、海洋工程建设、海洋能源开发、国防等方面具有极其重要的意义[2]。
1 系统相关技术
1.1 地理信息系统技术
地理信息系统(GIS)是一门集计算机科学、信息学、地理学等学科为一体的新型科学,是由计算机系统、地理数据和用户组成的,是一种特定的十分重要的空间信息系统。在计算机硬、软件系统支持下,对整个与地球表面有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述。通过GIS技术可以将具有控件内涵的数据按照实际的需要准确、真实、图文并茂地展示出来。目前,GIS技术在各行各业的使用已经趋于潮流化。当前面向GIS开发方式主要有3种:独立开发、宿主机二次开发、基于GIS组件的二次开发(表1)[3]。通过3种开发方式的比较,以基于GIS组件的二次开发方式对商业GIS工具软件的依赖性弱,开发成本适中,GIS基本功能的实现难度适中,开发周期适中,对开发者要求低等优势被观测平台系统所选用。基于GIS组件的二次开发方式常用组件式GIS软件包含ArcObject、ArcGIS Engine、MapObjects、MapX等,其中Arc GIS Engine以其伸缩性强、较强的独立性(可以脱离ArcGIS平台)、功能非常强大(包括数据添加、图层显示、特征和属性查询、空间分析、统计分析、内容表、图形编辑、专题制图、地图输出等)优势被海洋气象综合应用观测平台系统所选用[4]。系统在实施过程中主要使用到了MapControl、PageLayoutControl、TocControl、ToolbarControl等组件式控件,这种组件式的开发方式提高了系统的开发灵活性,系统的功能也易于扩展,同时系统的维护和安全性方面的维护也得到了保障。
1.2 数据库设计
1.2.1 属性数据库 系统使用Oracle 10 g大型数据库作为后台数据库,可以满足海量水文气象数据存储需求,其极大地提升了系统的吞吐能力,提高了整个系统的稳定性。在处理气象数据过程中,对海量数据能准确地备份、查询检索、气象数据挖掘。在前期的数据处理中,针对海量水文气象资料进行数据库设计[5,6],主要包含用户信息表、日志信息表、海洋站点基本信息表、站点状态信息表、常规气象要素表、海洋气象要素表等,图1为具体的数据库设计图。
1.2.2 空间数据库 系统的基础图件大部分是以地图的方式提供的,地图的比例尺、投影方式、坐标系统各不相同。系统选用Arc/Info地理信息系统软件核心拓展模块ArcScan进行数据扫描并使其矢量化。所有数字化的图件都将在Arc/Info下实现坐标转换,投影以及建立空间拓扑结构,最终转化成ArcView的.shp格式矢量文件,所有的空间数据在系统中都由ArcView控制。系统底图china.max、一级河流、三级以上河流、国界、省界以及生成的 .shp图层文件都是由ArcView机制进行控制。
1.3 海洋水文气象数据资料类型及处理
1.3.1 数据资料类型 海洋气象观测站提供的数据类型繁多,内容也比较丰富。按照内容可以分为常规和特殊观测资料,比如温度、湿度、气压、光照、风速、风向、雨量等就属于常规观测资料,雷达、卫星云图、全球定位系统等则属于特殊观测资料。本研究主要是针对海洋常规水文气象观测资料进行解析、挖掘、存储,同时将海洋常规气象资料与雷达、卫星云图等特殊观测资料进行融合,得出有用的决策信息。
1.3.2 数据资料处理 数据资料是以txt文件形式存在,通过FTP/GPRS等方式传递到中心服务器,由于报文种类的多样性系统采用了多线程的操作方式[7],报文A使用相对应的主线程、读写线程、解析线程、入库线程。在解析线程过程中,使用了数据质量控制方法如时间一致性、极值检查、空间一致性、内部一致性等,为进一步提高数据的准确性还使用了数据挖掘中的BP神经网络算法。另外,在使用多线程处理数据的过程中,一方面使用了线程同步机制,即处理数据的各线程依赖扫描主线程,需要扫描线程提供消息进行唤醒调用,而其他线程则是处于等待状态。另一方面当有若干个线程要使用共享资源时,又用到线程互斥机制,即任何时候最多只允许一个线程使用资源,其他要使用该资源的线程必须处于等待状态,直到占用资源的线程释放了该资源。
1.4 等值线插值算法的分析与选择
在数据处理过程中,为直观简洁地反映海洋水文气象要素的变化特征,系统采用等值线法将制图对象(气压、温度、风速等)数量指标值相等的各点连成平滑曲线,由地图上标出的表示制图对象数量的各点,采用内插法找出各整数点绘制而成。
1.4.1 综合比较使用插值算法 GIS中常用的地理空间插值方法有很多种,系统主要综合使用了如下3种插值方法[8]:
1)距离加权倒数空间插值法(IDW)。距离加权倒数空间插值法基于地理学第一定律距离相近区域相似性高于距离较远区域的相似性,其缺点在于不能对误差进行估计,其表达式如下:
式中,Z是估计值;Z i是第i(i=1,...,n)个样本;di是距离;P是距离的幂,其显著影响内插的结果,选择标准是最小平均绝对误差,距离的幂越高,内插结果越具有平滑的效果。
2)克里格空间插值法(OK)。克里格空间插值法源于地统计学,最初用于地质找矿,该法是利用区域化变量的原始数据和变异函数特点,对未采样的区域化变量的取值进行线性无偏最优估计,其表达式如下:
3)样条函数法(SPLINE)。该方法适用于变化平缓的表面区域,属于精确插值方法,其目的在于寻找一个平面,使它满足最优平滑原则,也就是说利用样本点拟合连续光滑曲线,使其表面曲率最小,其表达式如下:
通过对3种插值算法分别对需要插值处理的要素进行测试比较,最终确定了对各要素插值算法的选择。最终系统选择混合使用这3种插值算法对研究海洋区域内其他未知区域的特征数据进行地理空间信息的推理和估计,从而构建一个连续的地理特征表面分布。
1.4.2 等值线平滑拟合算法选择 根据上述算法得到排列好的等值线控制点序列,如果不经过曲线拟合,绘制出来的等值线将是折线,故为了得到平滑的等值线,必须编写曲线拟合程序。选择使用3次B样条曲线拟合算法。设求得控制点坐标序列为Pi(xi,yi)。P(t)是沿曲线的位置向量,那么基于B样条的曲线可表示为:
2 系统的设计与实现
基于GIS的海洋气象综合观测应用平台系统设计是指通过人机交互的方式,对基于多种检测手段(采集器和人工等)获取的海洋水文气象数据资料进行时间序列变化趋势分析、空间分布及变化趋势分析、海洋环境分析并结合GIS技术动态显示,通过友好的图形化界面表现出来,最后以此统计信息作为决策的依据。对于海洋气象综合观测应用平台系统设计主要是指系统的总体设计以及各个数据模型设计。
2.1 系统架构
考虑到系统对完善的编辑功能以及网络数据负载太高,安全性、稳定性、拓展要求较高,本系统选择使用C/S(Client/Sever)开发方式,其三层架构模式[9]如下图3所示,避免B/S模式下的编辑功能拓展的完善性不强,网络数据量负载过大等局限的瓶颈。
1)表示层。系统主要包括系统主界面、操作对话框,其中多文档系统主窗体由基本菜单项、图件管理器、数据库管理器构成系统主界面,子窗体由图层控制模块、站点管理模块、要素折线图模块、动态展示模块构成。
2)逻辑层。包括核心开源制图ZedGraph类库和Engine提供的具体操作地图的类库如GeoDatabase类库、GISClient类库、DataSourcesFile类库、3DAnalyst类库等,这些类库将配合系统实现制图,动态展示等功能[11]。
3)数据层。包括底层数据库,数据文件、GIS二次开发平台空间数据库,数据库访问类DataAccess。
2.2 系统数据处理过程
系统数据处理过程经过4个层次进行,包含从底层到顶层依次连接的设备层、通信解析层、汇聚处理层和表示层(图4)。
1)设备层。设备层与通信解析层通过GPRS或3G/4G网络进行远程通信。设备层实现各气象自动站的无缝接入,该层兼容了基准站、基本站、一般站、区域站及卫星通信站等,将数据通过上述方式传递给通信解析层。
2)通信解析层。通信解析层在整个系统框架中起到承上启下的作用,通过防火墙实现自动气象站数据和中心服务站的通信和数据解析,数据解析为该层核心功能。
3)汇聚处理层。汇聚处理层实现对通信解析层传入的数据进行收集和质量控制,最后进行入库处理。
4)表示层。表示层实现对数据处理状态的监视记录、数据统计、参数管理、数据库备份、文件处理、文件传输。数据采集在设备层完成,数据预处理在通信解析层完成,数据质控、分类以及入库在汇聚处理层完成。
2.3 系统总体设计
根据基于GIS的海洋气象综合观测应用平台系统业务需求,需对系统的结构和主要功能进行合理设计,对用户界面进行友好性、方便性、直观性统一设计,系统主要设计包含如下模块。
1)数据库操作模块。此模块主要用于控制系统与数据库之间的连接,登录数据库身份验证包括数据源、用户名、密码、服务器图层路径设置等。通过对上述设置的修改可以实现对后台数据库、图层文件数据库以及空间数据库的连接。
2)站点基本信息Tip展示模块。利用GIS技术中闪烁Tip框提示的方式实现观测平台系统近海海域站点信息的查询,包括区站号、经度、纬度、观测平台海拔高度、采集器型号等。
3)站点信息管理模块。该模块包含删除历史文件、站点统计信息、站点信息管理3个子模块,实现对站点正常和异常状态信息统计、站点信息的查询、添加、删除、修改、站点信息导入等。
4)站点历史信息记录模块。该模块用于对常规要素、海洋要素基本信息的查询以及备份导出,为分析海洋气候变化规律提供直接数据依据。数据获取的方式有两种,分钟要素和整点时间要素。
5)海洋要素变化曲线模块。该模块主要是基于时间跨度对海洋要素进行分析,平台使用ZedGraph将要素按照时间制图,对近海海域气象要素随时间变化规律进行分析,这对于海洋气象要素信息数据挖掘、未来预报预警提供有力的评估基础。
6)要素数据最近记录查询模块。该模块主要方便观测人员能够实时对最近数据进行检索查询以传递最新讯息。
7)要素动画展示模块。该模块是基于空间跨度对海洋要素进行分析,主要是按照要素分布的强度和密度,把检测值相同的点用线连接起来形成等值线,在空间地理信息基础上对近海海域的监控数据进行分析推算,实际是按照每秒刷新(风速、温度、气压等)栅格图层方式进行操作[10]。
8)其他子模块。包括鹰眼子模块用于控制地图视野,海区选择子模块可以实现对多种近海海域站点的定位选择,在菜单中包括对地图的放大、缩小、拖动、全视野、框选放大、框选缩小等,显示浮标站点在指定时间点温度、气压、波浪分布状况及画面显示等功能。主菜单模块中包含页面设置、打印预览、打印、系统设置等功能,在地图模块中有底图和制版两个子功能以及对系统登录时间、当前坐标、比例尺的记录。系统基于时间跨度和空间跨度对海洋要素数据进行检索、分析、评价以及管理,借助分析的结果信息可以在很大程度上反映海洋环境质量和变化规律,为决策机构预警提供可靠的依据。图5为系统总体设计框架图。
3 系统的运行
系统采用C#语言和最新的.NET技术编程,同时结合Oracle 10 g大型数据库,提高了系统处理数据的能力,并大大降低了应用程序开发的复杂性,系统采用C/S架构,对于系统的稳定性以及拓展性提供了很大的保障。其次使用了GIS技术(二次开发Engine组库)对多种图层类型的数据进行处理,其中动态生成并刷新地图的方式非常直观简洁地将海洋信息变化趋势展示出来,提高了系统的使用性[11]。系统运行环境为Windows 7,实际运行效果表明系统各项性能良好,能够满足客户的基本需求。系统部分运行效果图如图6、图7所示。
4 小结
基于GIS的海洋气象综合观测应用平台系统设计目的在于满足环境监测业务分析以及海洋自身管理的需要,实现对海洋要素数据的分析和评估,提高海洋灾害预警预测的准确性。该平台优势在于:①对采集器采集的数据进行合理的数据质量控制;②采用多线程的操作方式对海量数据进行入库处理;③采用数据插值算法对海洋气象数据进行推理和估计。
由于系统涉及到要素数据量较大、内容复杂、图层数据生成量大,系统在运行过程中还存在数据处理速度缓慢的问题,未来系统将在数据处理、代码优化等方面作进一步的完善。
教育期刊网 http://www.jyqkw.com
参考文献:
[1] 宋欣茹.我国海洋地理信息系统发展研究[J].海洋信息化建设,2010(4):3-5.
[2] 唐 荣,戴永寿,孙洪涛,等.海洋水文气象观测数据采集监控系统设计与开发[J].中国石油大学,2010,6(1):11-20.
[3] 文远保,杜亚辉.基于GIS的集成二次开发[J].北京轻工业学院学报,2000,18(2):39-47.
[4] 陆建平,徐淑芳,陈军冰,等.基于GIS组件式开发的水利工程管理系统研究[J].水利水文自动化,2009,3(1):3-9.
[5] 华连生,丁宪生,吕 刚.基于Oracle的气象数据共享系统[J].计算机应用,2010,32(2):162-164.
[6] 占才亮,张 为,岳 遥,等.基于GIS的洞庭湖区水沙信息数据库系统的设计与实现[J].科学技术与工程,2009,9(11):2996-2999.
[7] 薛建军,周 杰,杜景林.改进型实时气象资料处理系统设计与实现[J].计算机工程与设计,2012,33(4):1623-1628.
[8] 李 新,程国栋,卢 玲.空间内插比较[J].地球科学进展,2000, 15(3):260-265.
[9] 李兰友,杨晓光.Visual C#.NET程序设计[M].北京:北方交通大学出版社,2004.
[10] 高太长,刘西川,刘 磊,等.自动气象站及气象传感器发展现状和前景分析[J].仪器仪表学报,2008,29(8):127-133.
[11] 卜志国,高晓慧,李忠强,等.基于GIS的海洋生态环境监测数据分析评价系统研究[J].中国海洋大学学报,2012,42(1-2):36-40.