基于WebGIS的区域自动气象站数据综合处理系统的研发
2011-11-07王宝
王 宝
(云南省玉溪市气象局,云南 玉溪 653100)
基于WebGIS的区域自动气象站数据综合处理系统的研发
王 宝
(云南省玉溪市气象局,云南 玉溪 653100)
通过研究各厂家自动气象站的数据采样方式、存储方式,运用WebGIS和数据库技术,采用 asp.net开发平台,设计开发了一套基于WebGIS的自动气象站数据查询系统,使多厂家气象自动站数据在同一界面显示,提供多种形式的统计查询,方便用户分析和应用。成果可为相似系统的开发提供关键技术和方法方面的借鉴。
WebGIS;自动气象站;数据处理
1 引言
随着气象现代化建设的飞速发展,越来越多的气象现代化设备投入业务使用,自动气象观测站便是其中之一。近年来,玉溪市气象局安装了“玉溪市乡镇雨量遥测网”(包括单要素站、人工影响天气特种六要素站、烤烟特种多要素站),初步建成了新一代自动气象观测网络,将有利于提高精细气象服务水平和天气预报准确率。但是,这些设备来自不同的生产厂家,即使是同一厂家的产品,因不同的业务需求,产品型号也不尽相同。数据采集时间间隔、传输方式、存储格式、数据显示方式等都互不兼容,给气象数据的有效、及时应用带来了困难,降低了气象数据的使用效率。这对业务应用造成了一定困难,不利于天气预报员进行天气分析,同时也无法满足相关单位的资料共享需求,特别是为政府决策提供及时直观的数据。
因此,研究各个厂家的数据采样方式、存储方式,通过对数据初步处理、数据格式转换和数据整理,形成统一数据格式和不同需求形式数据 (按类、月、日、时和按数据库与文本方式等),运用 WebGIS和数据库技术,采用 asp.net开发平台,设计开发了一套基于WebGIS的气象自动站数据综合处理系统,使多厂家气象自动站数据在同一界面显示,进而方便用户分析和应用,同时,提供多种形式的统计查询,不仅可以提高气象服务的及时性和方便性,而且为加密探测气象数据的深入应用打下了基础。
2 WebGIS概述
WebGIS,即互联网地理信息系统,指在网络环境下,以支持标准 Html的浏览器为统一的客户端,通过 WebServer向 GISServer提出 GIS服务请求的网络化 GIS[1]。WebGIS采用的 HTTP协议是基于C/S的请求 /应答机制,具有较强的用户交互能力,可以传输并在浏览器上显示图形、图像。用户通过交互操作对空间数据进行查询分析,利用Web来寻找所需要的空间数据,并且进行地图放大、缩小、漫游等各种操作。因此,与传统的 GIS相比,WebGIS具有明显的优势[2]。
3 系统设计
3.1 系统结构
系统体系结构方面,采用基于Microsoft.NET架构的浏览器 /服务器体系 (浏览器、应用服务器、数据库服务器)应用模型,及三层客户机 /服务器模型(用户界面层、中间件服务器、GIS数据层)进行设计。Web程序平台方面,采用开放式的 ASP.NET技术,从而实现对 HT ML、scripts和可重用的 Active服务器组件组合,构建本次基于 Web的查询应用系统。
3.2 系统功能
考虑到自动气象站的数据量大、数据结构简单和规则的特点以及WebGIS在空间数据管理和分析上的强大功能,结合当今数据库技术和 GIS的发展趋势,采用大型关系型数据库管理系统 SQL Server 2005和 GeoLibSDK平台进行开发,主要分为气象自动站观测数据的显示处理平台和查询分析平台两大模块,各模块又包括若干功能。系统功能模块图如图 1所示。
图 1 系统功能模块图
3.3 系统技术体系架构
基于 Microsoft.NET Framework 2.0,在 Visual Studio 2005下用 C#语言开发 ASP.NET站点。采用GeoLibSDK平台提供 GIS相关功能服务。大量使用Ajax技术以增强用户的客户端体验,并能有效避免ASP.NET页面回发所带来的性能损失。
系统基于多层架构设计[3],逻辑上分为数据实体层、数据访问层、应用逻辑层、应用表现层,多层架构的设计将后端的开发代码进行了合理规划,便于应用的维护和升级使用。
3.4 系统数据来源及数据库设计
系统空间数据主要来源于玉溪市行政区划图和交通旅游图,自动气象站位置数据来源于实测;属性数据来源于自动气象站所传输的各类实时数据。
数据库的设计充分考虑今后可扩展性和易维护性。主要包括三个表:自动站属性表、自动站数据表和用户表。自动站属性表存放站点属性信息,如站号、站名、经纬度以及传感器的相关信息等;自动站数据表存放各种气象要素观测数据,有雨、温、风、湿、地、压等气象要素的实时观测数据以及观测时间等相关信息,数据表所有字段涵盖了所有型号自动气象站的观测项目,为今后自动气象站的建设提供了充分的选择空间;用户表存放用户帐号、密码和用户权限等用户数据,便于系统管理和维护。
3.5 系统性能设计
气象自动气象站数据发送频繁,站点众多,每次发送的信息量大,对服务器及数据库造成了巨大的压力,尤其是随时间的增长,数据库所承受的压力集中表现在应用系统中。为此,需要对应用系统进行数据一级的优化访问处理。基本原理是:在记录实时监测信息的数据表上创建适当的触发器,在触发器内部,实现将记录按照一定时间间隔存储在不同的物理表内部。在应用程序代码中,不直接访问存储所有数据的大表,而是根据用户查询时间范围,去搜索由触发器创建的按时间段命名的存储少量数据的小表[4-5]。实践证明,此模式能够有效解决因数据量特别大对应用系统响应性能所带来的影响。
4 系统功能实现
系统在W indowsXP操作系统下开发完成,采用Microsoft.NET Framework 2.0技术,选用 Visual Studio 2005集成开发环境下 C#语言,数据库管理系统选择 SQL Server 2005,运行于 W indows Server 2003下。系统主界面如图 2所示。
图 2 系统主界面
4.1 地图浏览
地图浏览功能的实现,采用 GeoLibSDK平台所提供的多个控件直接实现。地图浏览实现的功能包括:地图拉框放大 (Zoom In)、拉框缩小(ZoomOut)、自由缩放 (ZoomFree)、地图漫游 (Pan)、地图刷新 (Reflash)、全图显示 (ViewEntire)等。
4.2 图层管理
由于系统中自动气象站的种类多,且不同种类的自动站位置有可能重复,为了便于用户查询时的直观性和清晰性,系统提供了图层管理控制面板(图 2),将不同类型的自动站存放于不同的图层,图层信息以图例的形式置于其中,用户可以直接更改图层的的可显示性以及图层标注信息,地图窗口中就有互动的效果图显示出来。
4.3 数据查询分析
数据查询功能包括查询控制和结果显示两大部分。查询控制又分为:要素选择、实时数据查询、历史数据查询、单点查询等;查询结果的显示由后台代码实现,采用 Ajax技术以增强用户的客户端体验,避免 ASP.NET页面回发所带来的性能损失,使用户几乎感觉不到屏幕的抖动现象。
4.3.1 要素数据查询分析 以雨量的查询为例(图 3),当用户选择“雨量”要素时,系统图形显示界面将显示 20—08时各站的雨量数据;当用户选择历史雨量查询的相关查询条件时,图形显示界面便显示这段时间内各站的累计雨量数据。
图 3 要素查询分析
4.3.2 单点查询分析 用户选择单点查询工具按钮,并在地图上点击某站点后,进入单站资料查询页面,可查询当天小时雨量及任意时段雨量,并根据雨量数据自动绘制出柱状图、序列图等。
4.3.3 空间分析 包括距离测量,面积量算、绘制等值线等功能。
5 小结
将WebGIS技术和数据库管理系统结合起来管理、分析和显示气象要素数据,对WebGIS在气象业务中的应用,进行了一次有益的尝试。系统的建成使多厂家自动气象站数据在同一界面显示,方便用户分析和应用,完善了天气预报制作时对自动气象站资料实时性和直观性的要求,提高了气象服务的及时性和方便性,而且为加密探测气象数据的深入应用打下了基础,并为政府的决策服务提供了丰富及时的资料。
[1] 刘中伟 .WebGIS的解决方案及开发方法[J].长春科技大学学报,2000,30(1):26-28.
[2] 邬伦,刘瑜,张晶,等 .地理信息系统:原理、方法与应用[M].科学出版社,2001.
[3] 邬伦,张晶,唐大仕,等 .基于 WebGIS的体系结构研究[J].地理学与国土研究,2001,17(4):20-24.
[4] 夏既胜,张静,谈树成 .基于组件式 GIS的云南省易门县旅游资源查询系统的设计与实现[J].云南地理环境研究,2005,17(6):38-43.
[5] 王宝,谈树成,等 .基于 GIS的矿产资源规划管理信息系统的研发[J].矿产保护与利用,2007,8(4):4-7.
TP311
B
1003-6598(2011)01-0045-03
2009-09-28
王宝 (1972-),男,工程师,主要从事资源环境与 GIS应用方面的研究。