基于GIS的海量气象数据预处理技术研究论文
摘要:由于气象观测数据种类多,文件存储数目大,一般难以对海量气象数据进行深入的处理,挖掘和分析。该文通过对气象数据类型,文件种类等进行研究,通过建立气象数据库并连接GIS软件进行数据分析,较好的解决了海量数据分析和处理问题。该方法利用编程软件,数据库软件和GIS技术对海量气象数据进行预处理,为海量气象数据分析提供高效、精准的数据存储和管理。并最终将数据库直接连接入强大的分析处理软件ArcGis。经过测试表明,该方法可靠性和可操作性很强,成功实现了对海量气象数据的预处理。
Abstract: Because meteorological observation data has more kinds and large number files to store. Generally , Mass meteorological data is difficult to process ,mine and analyze for further. This paper introduces a method of data analysis through the establishment of meteorological database and the connection of GIS software, based on the type of meteorological data,file type and so on. It is better to solve the problems of massive data which should be analysed and processed. This method uses the programming software, database software and GIS technology to preprocess the massive meteorological data. It provides efficient and accurate data storage and management for mass analysis of meteorological data. And finally the database connects directly into the analysis software ArcGIS, which is good at data processing. According to test results, the reliability and maneuverability is very strong, it is successful to achieve the pre-processing of the massive meteorological data.
Key words: GIS; Database; Meteorological data; Pretreatment; ArcGis
1 引言
地理信息系统(GIS)作为一门重要的信息技术,近年来在气象气候领域内引起了广泛的关注并得到了初步应用。[1]特别是随着现代气象观探技术的迅速发展,各级气象业务部门可获得的气象数据容量越来越大,海量的气象数据背后隐藏许多重要信息。但是在传统的气象数据库应用系统中,用户无法发现气象数据中存在的某种关系和规则,同时缺乏发现气象数据背后隐藏知识手段,从而出现“数据爆炸而知识贫乏”现象。[2]此外气象数据库系统作为气象信息共享平台的重要管理系统,其体系结构和技术的复杂程度均是前所未有的,需要在集约化和标准化原则下,充分利用成熟的商业数据库技术和大气科学领域的相关技术加以构建。[3]而GIS技术具有很好的数据分析和海量数据支持的能力。本文将GIS引入气象领域,同时GIS在气象领域的应用也是一个新的尝试。利用GIS提高了气象数据管理的可视化程度和人机对话功能。[4] 尝试利用GIS技术为详细分析气象数据的组织结构、表达和处理方法做准备。[5]针对气象数据的存储和处理,目前有很多技术手段包括王杨刚等以面向对象的思想,运用C++技术设计并制作了自动气象站数据处理程序,它可以对22项气象数据进行预处理。[6]吴文玉以ArcGIS Desktop9.3为地理信息系统平台,通过在ArcGIS下与远程气象数据库的连接方法,将数据库数据直接应用到GIS中,实现GIS与气象数据库的数据融合,具有较强的实用性。[7]无论哪种方法对气象数据库系统的建设是气象信息系统(气象信息共享平台)建设的核心和基础。[8]所以最有效的保存和交流使用数据的途径就是应用计算机技术建立数据库系统来归整,管理这些重要气象数据。[9]然后直接连接GIS软件使用GIS技术对气象数据进行处理。因为地理信息系统技术可以将气象数据所具有的空间特征、属性特征及时间特征等特点较好地表现出来,是实现空间数据管理的有效手段。[10]本文通过对气象数据的文件类型,存储格式进行研究后提出了一条采用GIS技术对海量气象数据进行预处理的方法。
2 问题的提出
气象数据一般为多年的观测数据,数据的种类多,观测年限长,数据的存储文本文件多。如中国气象共享网下载的1970-2013年日值气象数据为例,数据时间跨度有44年,826个气象站台,分为7大类数据,超过15000天的观测数据,7000万行的记录数据,4亿多数据单元。数据总量达到5.9G之多。对海量气象数据进行存储,分析,管理和处理成为一个难题。目前的处理方式主要有两种方式:(1)在数据量不大的情况下,对数据进行人工筛选,然后导入Excel中进行处理。(2)根据要求通过编程实现对TXT格式的气象数据的处理。
气象数据的记录文件数量巨大,数据类型众多,文本格式数据的数据单元几乎都是采用空格的方式进行隔离,而Word无法对txt格式数据进行批量处理,Excel只能根据特殊符号或者根据一个空格一个格的形式进行数据导入而且数据的行数有限制也无法满足数据的批量入库和处理;利用编程的方式需要对数据进行大量的预处理,编程工作量较大。对于气象数据的分析往往需要地理信息数据,在现阶段基于GIS的气象数据预处理已经被广泛应用。针对于此,本文提出一种解决问题的思路:首先利用批处理命令处理文本数据,然后建立数据库并利用ArcSDE与ArcGIS相连实现数据的存储为数据分析做准备。
3 解决问题的流程
气象数据是根据数据的类型,日期分批的按照TXT的格式进行存储并利用空格进行单元数据隔离。所以需要先对数据进行合并然后利用文本编辑软件对数据进行批量预处理,再利用MS Sql Server进行批量入库和存储,最后利用ArcSDE进行数据连接,批量接入ArcGIS进行数据处理,分析和挖掘。具体技术路线如图1所示。
4 气象数据处理流程
4.1 数据批量预处理
气象数据是根据数据的类型,日期分批的按照TXT的格式进行存储并利用空格进行单元数据隔离的。所以需要先对数据进行合并然后才能对数据进行批量预处理。此处可利用windows的TXT批量合并命令代码实现,使用下面的代码命令可以使的所在一个文件夹中的所有文本文件合并入一个命名为0.txt的文本文件中,具体代码如下所示。
for % %i in (*.txt) do type %%i>>0.txt
将该命令代码复制进文本文件中并将数据的格式名改为bat。
此处需先将气象数据中的数据按照数据的.存储类型比如湿度,温度,气压等进行分批处理分别存储于不同的文件夹中,然后再进行数据合并。这样每一个气象类型中的0.txt文件都会存储着具有相同样式的行数据,便于高精确的批量处理。采用此种方法进行批量合并除了可以很好地进行数据预处理外,更重要的是非常简单高效,不需要任何复杂的编程和进行繁琐的软件操作。
4.2 用宏命令批量处理数据
对数据按照数据类型进行合并处理后,需要对单个数据单元进行精确分离,以便于后面的数据导入。此处可利用宏命令对隔离数据的空格利用逗号进行替换,实现所有数据单元按照逗号形式进行隔离。这样后面的数据入库将会全部按照逗号进行隔离入库,不会出现空格和数据存储的错位。可以大幅提高数据的精确性。
此处可以用 UltraEdit这款代码编辑器对每一个气象数据类型下的0.txt文件进行处理。由于每一个0.txt文件数据量都很大,如果直接利用windows自带的文本编辑器,容易导致编辑器崩溃,且显示格式凌乱不利于处理。其他的文本编辑器或者代码编辑器如 Notepad++,EditPlus等都存在着运行过慢或者数据量过大无法支持的问题。相关文本处理软件处理能力如表1所示:
利用UltraEdit启动宏命令后,利用宏录制下空格被逗号批量代替的过程和逗号被批量清理为一个数据单元一个逗号的过程形成宏命令。利用该命令就可以批量处理所有的0.txt文件实现所有数据的标准化,如图2所示。
数据导入完成后所有的气象数据按照地温、气压、蒸发、降水、湿度、日照、气温七类数据分表存储。可以根据需要对数据进行查询编辑输出需要的数据。由于每一个数据表中都含有对应的站点号、经度、纬度、高程,年、月、日数据。
4.4 数据库中的数据处理
由于气象数据中的经纬度数据值,是按照度分秒直接合并的,数据值不能直接使用,更不能实现对数据的直接操作,需要在数据库中对经纬度数据值进行批量处理,实现数据的标准化操作。
代码实现如下:
EVP蒸发 set X=(经度值/100)+((经度值%100)/(60+0.0))
注:EVP蒸发为数据库中的表,X为处理完成后所赋值的经度值,经度值代表数据库中EVP蒸发的非正常显示经度数据值。
代码运行后,所获得的数据值,完全可以达到数据的操作要求。
4.5 利用ArcSDE连接气象数据库
ArcSDE是ArcGIS与关系数据库之间的GIS通道,它允许用户在多种数据管理系统中管理地理信息,并使所有的ArcGIS应用程序都能够使用这些数据。ArcSDE可以支持MS sql server,DBM,Oracle数据库。ArcSDE是一种数据连接方式,数据不需要经过繁杂的数据导入过程,而且可以保证数据的完整性。
打开ArcToolbox工具,选择数据管理工具-地理数据库管理-创建企业级地理数据库即可。为了连接已经建立的气象数据库我们在创建企业级数据库时,必须保证企业级地理数据库的实例名和数据名与气象数据库一致。
数据库连接完毕,在ArcGis中便可直接查看到气象数据库中的信息,可以直接进行数据挖掘和相关操作。
5 结束语
本文介绍了一种基于GIS的海量气象数据预处理方法。该方法直接实现了海量气象数据的分类入库和管理,解决了一般软件由于数据支持能力限制而无法对海量气象数据进行存储和分析的问题,该方法不需要进行复杂的编程、数据精确度高、数据更新方便和可操作性强,节约了编程开发的时间和成本。该方法解决了海量气象数据下的部分数据挖掘和数据分析的问题,为气象数据基于地理信息的空间化分析提供了数据准备。
参考文献:
[1] 吴焕萍.GIS技术在气象领域中的应用[J].气象,2010(3):90-100.
[2] 李集明,王国复.气象数据库系统总体设计综述[J].气象科技,2007(S1):1-5.
[3] 张波.数据挖掘在气象中的应用研究与实现[D].电子科技大学,2013.
[4] 李江南.GIS在气象数据处理中的应用[J].广东气象,2002(4):14-15+9.
[5] 何永健,曹芸,黄勇.GIS气象数据的管理与表达方法[J].南京信息工程大学学报:自然科学版,2011(3):232-237.
[6] 王杨刚,赵文吉,宫辉力.自动气象站数据预处理研究[J].首都师范大学学报:自然科学版,2006(2):81-84.
[7] 吴文玉,杨太明,何彬方.GIS与气象数据库的数据融合应用[C]//安徽省气象学会.第三届安徽科技论坛农业与气候生态学术研讨会论文集.安徽省气象学会,2004:3.
[8] 赵芳.气象数据库系统的建设[C]//信息技术在气象领域的开发应用论文集(二),2006:5.
【基于GIS的海量气象数据预处理技术研究论文】相关文章:
基于网格的数据传输与复制技术研究论文11-07
基于数据挖掘的数字图书馆检索技术研究论文11-06
浅析GIS多源数据集成模式论文04-27
基于Java EE的Web系统中数据库设计技术研究论文11-06
关于气象雷达数据分析论文06-26
观测地面气象数据的方法论文04-27
大数据时代基于云计算的数据监护研究论文11-01