第29卷第3期 2011年9月 干 旱 气 象
Journal of Arid Meteorology Vo1.29 No.3 Sept,2011
文章编号:1006 7639(2011)一03—0372—05
引 言 基于GIS的自动气象站数据系统的研发
沙 莎 ,邱新法2,何永健2
(1.南京信息工程大学大气科学学院,江苏南京210044;2.南京信息工程大学遥感学院,江苏南京210044)
摘要:依据气象业务需求,以SQLServer、AreSDE为数据库依托,以Delphi为开发工具,以Are GIS Engine Development Kit 9.2为开发平台设计并实现了基于GIS的自动气象站数据系统。在对自动气 象站数据自动采集、规范管理和质量检查的基础上,实现了气象要素的多条件灵活查询、异常天气条 件的监测和预警等功能,提供了色斑图、折线图、表等形式多样的服务产品表达方式。该系统大部分 功能已在北京市气象局决策服务系统稳定运行2 a,取得了较好的应用效果。 关键词:GIS;自动气象站;气象要素;图形化 中图分类号:P413 文献标识码:A
自动气象站(Automatic Weather Station,AWS,
以下简称自动站),最多可对54种气象要素进行24
h的实时观测,所采集的气象数据是气象部门业务
运行过程中的重要数据源和重点参考对象¨J。自
动站数据提高了观测数据的及时性,增加了观测数
据的时问和空间密度,在中小尺度天气系统的监测
和预警方面发挥着重要的作用 J,为气象台站的预
报和决策服务提供了重要依据。为此,各级气象业
务部门都加紧了自动站的布设,有的业务部门根据
自身的需求开发了适与自身使用的自动站数据显示
查询系统 ‘’ 。
目前自动站数据的应用存在以下问题:(1)资
料的接收、存储、处理、使用均在1台计算机上,易造
成数据未被接收或数据丢失的现象;(2)观测资料
以文本文件存放,数据的统计、计算制表等工作都需
要手工完成,数据查询、气象信息图形化等数据应用
效率低下;(3)大多现有非GIS系统的图形化功能
较弱,实现方法灵活性差,精确性差,独立性差。
气象数据本质上是地理信息,没有地理位置的
气象要素是没有任何意义的 。J。自动站观测数据
观测项目多、观测频率高,是海量数据。地理信息系
统(GIS)作为一种新技术,结合数据库技术为这种 海量空间数据的管理、分析、表达提供了有效的工
具,是当前气象科学研究和业务应用中的热点,正被
广泛地应用到气象领域中 J。本文结合实际业务
中对自动站数据的应用需求,以SQLServer、AreSDE
为数据库依托,以Delphi为开发工具,以ArcGIS En—
gine Development Kit 9.2为开发平台设计并实现了
基于GIS的自动气象站数据系统。系统具有安全、
高效、易用等特点,实现了自动气象站数据的科学管
理、快速查询统计、气象数据可视化表达等功能,为
自动站气象数据提供了一个稳定、快速的数据平台,
节省了大量的人力和时间,从而为气象预报、决策服
务、防灾减灾等业务工作提供快速、准确的信息保
障。
1 自动气象站数据系统设计
1.1总体设计
该系统设计的目标是实现自动站数据文件(Z
文件或者格式化文本文件,以下简称AWS文件)自
动入库,同时进行统计计算和初步质量控制;丰富的
数据查询,并以空间分布图、时间序列图、表等多种
方式表达查询结果;气象数据的标注;制作各气象要
素色斑图;温湿风的实时监i贝0和预警,为气象决策服
务提供数据支持。
考虑到气象应用的大数据量,选用SQLServer
收稿日期:2011—04—07:改回日期:2011—05—04 作者简介:沙莎(1985一),女,硕士研究生,主要从事GIS在气象中的应用研究
372 l Journal ofArid Meteorology,2011,29(3):372—376
第3期 沙莎等:基于GIS的自动气象站数据系统的研发 373
2005为数据库管理平台,系统采用客户端、服务层
和数据层的3层C/S结构体系,使得用户服务与数
据分离,3层C/S结构较传统的2层C/S结构主要
优点在于:高安全性、高效率、可伸缩性。系统的总
体结构如图1所示。
参数配置 用户应用 l
Intemet/Int ̄met n
墼I SDE l 9
问1 晷l用
lI 仆 { ll
…习罔
图1总体结构图
Fig.1 Overall system structure
(1)数据层:包括基础地理数据(站点、行政边
界、行政街道)和气象数据库,其中基础地理数据为
辅助数据,用于实现气象数据的空间查询、制图等;
气象数据库主要包括实时气象数据库和根据各种气
象要素生成的派生数据库。
(2)服务层:利用ADO数据访问组件、ArcGIS
Engine各种接口封装数据接口,形成功能模块,以实
现各种用户需求,如数据处理、数据查询、空间分析、 空间分布图制图等功能,是系统的核心功能。
(3)客户端:用户可在客户端进行数据库链接,
专题图模板设置,菜单、工具条定制等。
1.2系统主要功能
基于GIS的自动气象站数据系统除了缩小、放
大、平移、属性查询等基本的地理信息功能外,还包
括以下核心功能:
(1)数据处理功能:主要包括AWS文件解码入
库、数据统计、质量控制等,采用后台自动运行方式。
(2)数据查询功能:主要包括气温、气压、风、湿
度等常规观测实况数据的直接查询和13值数据、降
水量数据的统计查询(图2)。
(3)气象信息图形化功能:数据查询结果的图
形化,主要包括时问序列图、空间分布图功能(图
3)。
(4)监测与预警功能:通过设置警戒线,对降水
量、气温、相对湿度、风速等要素进行实时监测,当超
过警戒值时,通过站点闪烁、声音警告、警报信息滚
动等方式表达监测结果。
图2查询功能模块流程图 Fig.2 The flow diagram of data querying module
I站点地理数据 色斑图
出图模板
臣
(b)
图3气象信息图形化功能模块流程图
(a:时间序列图流程;b:空间分布图流程) Fig.3 The flow diagram of graphics module
(a)for the flow diagram of time series graphics;(b)for the flow diagram of spatial distribuition
M z ofArid mz吲, J,29(3):372—376 l
373 374 干 旱 气 象 29卷
2系统主要技术特点
2.1数据处理技术
自动站数据是海量数据,尤其是在数据库建设
初期,大量数据需要入库,应尽可能的提高数据入库
效率,本文主要采用了Bulk Inse ̄批量处理、存储过
程、触发器等数据库技术。其中数据入库采用Bulk
Inse ̄批量处理方法,数据统计生成、质量控制¨。。则 采用存储过程和触发器技术实现。这里主要介绍
Bulk Inse ̄批量处理方法。
SQLServer提供了格式化文本批量入库的方
法——Bulk Insert批量处理,所谓格式化文本(如图
4所示)即文本中每行数据与数据表结构相对应,用
固定的符号作为字段、记录的分隔符。AWS文件的
文档结构简单,与数据表结构一致,只需做简单的处
理就可以以批量的方法入库。
5;4831,2003—11—1,10001,9960,9980,11272,0113,194,25,52,n08睡,,050,847,090,2S,,,。084 54831,2083—1I-2,10081,9977,10019,0246,0132,169,27,57,00睡n,,042,063,1 01,35,,,,048 54831,2003—11-3,10149,10081,10125,0143,0070,1 O0,20,43,0000,,045,043,087,20,,,,093
图4格式化文本
Fig.4 Formatting text
用Bulk Insert处理数据入库的流程如下:
(1)处理原始文件,形成固定的格式化文本,即
以“,”为字段分隔符,以回车为记录分隔符的格式
化文本待处理;
(2)用Bulk Inse ̄命令将格式化文本数据导入
临时表,Bulk Insert语句为:
BULK INSERT SDE.DBO.[TEMPTABLE]
FR0M‘FILEPATH’
WITH(FIELDTERMINATOR=’,’,ROW—
TERMINATOR=’\n’1
其中TEMPTABLE为临时表,FILEPATH为待
处理文件,以绝对路径给出。
(3)使用SQL语句在临时表中筛选出不在自
动站数据表中的数据,导入到自动站数据表中。
筛选语句为:SELECT TEMPTABLE. FROM
TEMPTABLE LEFT OUTER JOIN STATIONDATA ON
TEMPTABLE.STAT10NID =STAT10NDATA.STA—
T10NID AND STAT10NDATA.0BSDATE=TEMPT.
ABLE.OBSDATE,将筛选语句记为B。
导入语句为:INSERT INTO STATIONDATA B
其中STATIONDATA为自动站数据表,
STATIONID、OBSDATE分别为站号、观测时间
字段。
本文以Inse ̄、Update语句逐条处理、存储过程
处理和Bulk Insert处理3种处理方案分别进行数据
入库,结果如表1所示,Bulk Inse ̄批量处理效率较
其他2种方法提高了30倍有余,而这仅是近2万条
数据的比较,随着数据量的增多,这种效率的差距会
更大。
l 374 l Journal ofArid Meteorology,2011,29(3):372—376 表1 3种数据入库方法运行时间对比
Tab.1 The running time contrast of three storage methods
2.2表连接技术
插值分析是生成空间分布图的关键,是由离散
点生成栅格数据的基本方法。系统中站点图层用于
插值分析,站点图层原始不包含气象要素查询结果
字段,这里使用ArcGIS中的表连接(Join)技术,通
过站号这一共有字段实现查询结果的插值字段与站
点图层的表连接,使查询结果成为属性表的一部分,
用以插值分析。
2.3外部文件配置
2.3.1数据查询外部配置
数据查询功能是在查询配置文件的基础上实现
的。查询配置文件为Access数据表,结构见表2,主
要包括数据查询信息和图形化信息2方面的内容。
(1)系统的查询功能由ADO组件实现,其关键
是SQL语句的使用。程序启动时通过读取配置数
据表中的配置信息,系统加载所有查询功能种类。
使用SQL语句实现数据的查询,只需要用户选择功
能名称、起始时间、站点、排序方式、阈值等,因此将
起始时间、站点、阈值等作为SQL语句的参数,将其
记录在查询配置文件中。查询数据时,通过用户的
选择生成时间、站点、阈值的筛选字符串并替换配置
文件中SQL相应的参数字符串。这种外部配置的
方法大大的减少了代码量,另一方面提高了系统的