http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> 行业应用 >> 正文

地理数据处理服务在青海省气象灾害预报预警地理信息系统中的应用

作者:尹振良、…    文章来源:尹振良等    点击数:    更新时间:2010-8-3
摘要:随着Web Services技术的兴起,地理信息服务技术应运而生,面向服务的系统架构被放在了一个十分突出的位置上,地理信息共享、分析与可视化在一个新的起点上继续向前发展。针对气象信息服务行业而言,一旦气象预报结果出来,气象信息服务的时效性要求该结果必须立刻提供给多个信息服务部门使用和进一步分析处理,以往基于单机的信息服务系统越来越无法满足实际的需要,有必要发展基于Web Services、具有网络信息交换与共享服务特点的气象灾害预报预警地理信息系统。 本文拟结合青海省气象灾害预报预警地理信息系统探讨地理数据处理在气象灾害预报预警功能实现方面的应用。本系统采用ArcGIS Server for Java平台。

1 前言
    最近几十年来,经济和社会的快速发展为气象信息服务提出了日益增长、不断提高的需求。气象信息服务通常包括决策服务、公众服务、专业服务等几大类别,针对不同的受众,其信息服务的内容和要求呈现多样化、多层次的特点。气象灾害预报预警业已成为气象预报及其信息服务部门日益重要的职责组成部分,并在不断满足全社会各个领域日益增长的需求的基础上向前发展。不同类型的气象灾害因其成因机制不同,影响的范围和频次都有很大的差异,针对不同的地理单元所造成的影响也有显著的不同。满足实际需求的气象信息服务普遍需要地理信息技术的支持。因此地理信息系统与气象信息服务业的有机结合成为目前发展的一个重要趋势。
    随着Web Services技术的兴起,地理信息服务技术应运而生,面向服务的系统架构被放在了一个十分突出的位置上,地理信息共享、分析与可视化在一个新的起点上继续向前发展。针对气象信息服务行业而言,一旦气象预报结果出来,气象信息服务的时效性要求该结果必须立刻提供给多个信息服务部门使用和进一步分析处理,以往基于单机的信息服务系统越来越无法满足实际的需要,有必要发展基于Web Services、具有网络信息交换与共享服务特点的气象灾害预报预警地理信息系统。
    本文拟结合青海省气象灾害预报预警地理信息系统探讨地理数据处理在气象灾害预报预警功能实现方面的应用。本系统采用ArcGIS Server for Java平台。
2 地图服务及地理数据处理服务概述
    ArcGIS Server是ESRI公司推出的一套后台基于ArcObjects搭建的强大的B/S开发工具,用于构建集中管理、支持多用户的企业级GIS应用平台。它不仅可以提供在线地图发布和在线地图浏览的功能,而且可以提供在线的地址编码服务(Geocode Service)、地理数据处理服务(Geoprocessing Service)、地理数据服务(Geodata Service)和3D地图服务(Globe Service)等。本系统在建设过程中实际使用到地图服务和地理数据处理服务的网上发布和功能调用。
    地图服务是使用最多的一种ArcGIS Server服务。该服务可以支持发布二维地图(ArcMap的mxd文档)。通过该服务,用户可以访问以ArcMap组织的地图数据和地图表现样式。地图服务中还支持建模操作,OGC WMS和KML数据格式,以及在线编辑空间数据等功能。地图服务部署在ArcGIS Server上,运行中需要服务器对象管理器(SOM)和服务器对象容器(SOC)的支持。SOM主要在地图服务的管理、启动和关闭以及地图服务的运行服务器(SOC)的添加、删除及负载均衡方面起着专门的作用。SOC主要负责运行地图服务并处理应用层提交的请求。
    地理数据处理服务就是将在ArcGIS Server服务器端建设好的地理数据处理模型或者包含一个地理数据处理模型工具层的地图文档发布为一个服务。地理数据处理模型是一个定义空间模型或地理数据处理工作流的工具,可以用可视化工具Model Builder创建地理数据处理模型,也可以用文本编程以脚本的方式创建模型。所有的地理数据处理工具可以用作创建模型中的处理,一个模型包含一个或多个处理,它们可以链接在一起,也可以不链接在一起。一个处理包含一个工具、输入和输出。通过构建地理数据处理模型,可以自动完成地理数据处理工作流。地理数据处理服务是一个基于Web的地理数据处理工具,客户端提交处理请求,服务器执行空间分析和建模,然后把执行结果展现在客户端,它便于组织内部数据的集中管理和操作,实现了功能的共享。
    ArcGIS Server的服务可以通过Local或者Internet两种方式进行连接。Local方式直接连接到SOM上,通过AO进行交互,所以必须在本地有AO对象才可以进行连接。Internet方式直接连接到Web Service的引用地址,它是通过本地对象连接的。对于Java ADF而言,本地对象表示连接ArcGIS Server的类存在于本地JRE中。ArcGIS Server在发布每一个服务时,也同时发布了一个Web Service,因此我们可以通过Web Services的方式来直接访问ArcGIS Server上的服务,这样极大的提高了部署的灵活性。用户可以通过在Java中创建代理类的方式访问这个Web服务,如下图(图1)所示。本系统采用Internet方式在Java中创建代理类的方式来访问ArcGIS Server上的地图服务和地理数据处理服务。


图1.ArcGIS Server服务的两种连接方式

3 系统体系结构
    本系统基于Web Services的理念,采用ArcGIS Server 9.3 + SQL Server + J2EE软件开发模式搭建了一个B/S架构的业务运行系统。整个系统自下而上可分为数据层、服务供给层和应用层三个部分(图2)。数据层主要包括基础地理数据库和气象数据库,存储在数据库服务器中,采用SQL Server进行气象历史数据、预报数据的有效存储与管理。地理数据采用ESRI Geodatabase数据模型,通过空间数据库引擎ArcSDE保存在SQL Server中。服务供给层的作用是从数据库中提取所需要的气象数据、地理数据,然后通过地理数据处理服务对数据进行处理分析,形成分别满足决策气象服务、公众气象服务、专业气象服务和气象信息发布需求的气象信息产品。这里需要用到地理信息系统空间数据及属性数据编辑功能、矢量数据叠置分析功能、地统计分析和栅格数据分析功能以及地图制图功能。这些功能通过ArcGIS Server Web应用程序定制或者地理数据处理服务来实现。应用层的主要内容就是定制一个易学易用的用户界面,用以实现有关气象信息与地理信息组合产品的网上发布,并进行用户访问控制,根据用户职能分别赋予不同的访问权限。


图2.系统体系结构示意图

4 基础地理数据库
    本数据库包括基础地理数据、气象数据两个方面。其中气象预报结果需要经过处理和变换生成的矢量图层数据库和气象灾情服务信息数据库。数据库的组织采用ArcGIS空间数据库Geodatabase体系结构。在Geodatabase中,所有基础地理矢量数据、数字高程模型、遥感影像和数据表单均保存在一个地理数据库中,并组成层次分支结构。在地理数据库中包含一个数据集、一个数字高程模型、若干不同分辨率遥感影像,以及若干数据表单。数据集中包括所有的基础地理矢量数据。本地理数据库内容包括基础地理数据、数字高程模型、卫星影像数据,以及有关表单。所有数据存储在一个Geodatabase中,位于分支树顶端,以下包含一个数据集Albers,存储所有矢量数据。与该数据集并列的是各种影像数据、数字高程模型和表单数据。这就是说,所有矢量、栅格数据和影像数据均进行了地图投影转换,采用亚伯斯(Albers)等积圆锥投影进行数据存储和管理。相应地,其中特征属性表中的面积项是有意义的。地理数据库包括以矢量方式分层存储和管理的境界线、水系、交通、居民地、地貌等要素。数据集的分层命名与国家地形数据库数据命名方式一致。相应建立分县、乡(镇)社会经济统计数据库并通过通用政区编码字段与地理数据库中的图层建立链接关系,并参与空间数据的分析。
5 系统功能
    根据需求,本系统需要实现如下功能:
    (1) 基本信息查询检索功能:在Web页面上所有用户可以通过放大、缩小、漫游、查询、度量等工具进行青海省基础地理图层的操作,可以将有关图层显示和关闭,可以查询特征图层的属性数据表。
    (2) 气象数据导入及其处理:系统在气象台局域网中与MICAPS系统文件夹下的数据集保持链接关系,有权限的用户可以通过菜单和弹出对话框方式选择要导入的气象数据类型(如气温)、设置插值方法、设置等值线间距等参数。在服务器端完成数据格式从文本文件到ESRI Shapefile数据格式的转换,并实现气温、降水量、气压等气象要素的站点记录在地图上的显示,以及风向风速的风向杆标注;系统还可以调用服务器上的地理数据处理服务对站点数据进行插值等操作,最终以等值线或者等值面的形式显示在地图上。
    (3) 灾情范围的确定与在线勾绘:将数据编辑功能集成到网页中,授权用户根据天气形势分析结果,在网页上用鼠标手动编辑、交互式绘制灾害影响区域,用于发布灾害预警或者灾害损失评估分析。
    (4) 暴雨洪水预报:操作人员依据天气预报结果勾绘暴雨范围,系统将此暴雨区域与地理数据中的流域分区图层进行叠置分析,得到暴雨落地各个流域的范围大小,形成结果表单。进而如果知道暴雨量大小,就可以估计产生洪水径流量的多寡。
    (5) 灾害损失评估:操作人员依据天气预报或气象分析结果勾绘冰雹、干旱、暴雪等灾害性天气的影响范围,然后将该图层与政区图、草场资源分布图等进行叠置分析,结合政区图、草场资源分布图以及相关的统计数据分析灾害性天气可能造成的人口、财产损失,结果以表单形式存储。
    (6) 制图打印功能:以图像形式保存结果分析地图页面,或直接送打印机输出。
    (7) 灾情信息管理与快报生成:对参与灾情分析的气象站点进行管理,添加新站点,删除不再发挥作用的站点;进行灾情信息资源管理,添加新的气象灾情报告记录到数据库中,并对已有报告记录进行数据库维护;添加或修改灾情防止对策数据库记录;在这些数据库建设的基础上根据灾情预警决策的需要自动完成气象灾情快报的制作。
    (8) 用户管理:将系统用户分成系统管理员、数据库管理员、灾情评估分析员和普通用户四种类型,不同类型的用户赋予不同的操作权限。本模块可以创建、删除用户,并赋予相应的权限。
    (9) 基于Google Earth API的天气形势分析与预警模块:本模块基于Google Earth API,可充分有效地利用Google Earth丰富的地理信息和遥感影像资源,授权用户在气象数据导入完毕、灾害影响区域手动勾绘完毕后可以通过点击菜单将气象数据和灾害预警区域导出到三维显示平台,进而可以在三维场景下浏览气象数据和灾害预警数据。本模块集成本系统所建立的青海省基础地理数据集,实时叠加和更新等温线、等压线、降雨色斑图、灾害预警区域等数据,以及实时显示FY-2卫星云图、环青海湖公路自行车赛天气预报等功能。
6 地理数据处理建模及其服务发布
6.1 数据格式转换及数据导入处理过程
    由于原始的气象观测数据是以文本格式、单站点记录形式保存,无法实现在地图上标注及生成等值线等操作,进而也无法满足气象部门工作人员对气象数据的分析与判断,所以需要先将原始的气象数据转换成ESRI Shapefile数据格式,在此基础上再经过插值、平滑处理、定义投影坐标系、裁切、导入Geodatabase等一些列地理数据处理过程实现气象数据以不同的方式在地图上标注与显示,数据格式转换处理流程如下图所示(图3)。在本系统中,这一功能主要是通过建立地理数据处理模型发布地理数据处理服务来实现的。


图3. 数据格式转换处理流程

    在系统开发过程中,根据实际调研,需要将温度、降雨、气压、风向风速四类气象台站数据转换为地理数据在地图上进行标注显示。这四类数据中温度、降雨、气压既需要在地图上标注出单个观测站点的数据也需要把经过地理数据处理生成的等温线、等压线和降雨量色斑图显示在地图上;风向风速数据只需要将单个站点的观测数据用风向杆根据风速的大小在地图上标注出来即可。所以,系统建立了站点观测数据导入模型、等值线数据导入模型、降雨量数据导入导入模型、风向风速数据导入模型,以满足四类气象数据的格式转换与在地图上标注显示的要求。
    站点观测数据导入模型(图4)实现如下功能:把温度、降雨、气压三类气象数据的站点Shapefile数据作为模型的输入数据,经过模型的处理操作后将输出数据拷贝到显示图层,进而完成站点观测数据在地图上的标注显示。系统在实现过程中,在地图文档中添加三个点状图层分别作为温度、降雨、气压三类气象数据的站点观测数据的显示图层。模型每次运行时,根据气象数据的类型决定把导入的站点观测数据拷贝到哪个显示图层。模型处理完成后,刷新地图页面即可实现新导入的数据在地图上显示。


图4. 站点观测数据导入模型

    等值线数据导入模型(图5)实现如下功能:把温度、气压两类气象数据的站点Shapefile数据作为模型的输入数据,经过模型的处理操作后将输出数据拷贝到显示图层,进而完成温度、气压数据以等值线的形式在地图上显示。


图5. 等值线数据导入模型

    降雨量数据导入模型(图6)实现如下功能:把12小时降雨、24小时降雨、过程降雨三类降雨数据的站点Shapefile数据作为模型的输入数据,经过模型的处理操作后将输出数据拷贝到显示图层,完成降雨数据以降雨量色斑图的形式在地图上显示。


图6. 降雨量数据导入模型

    风向风速数据导入模型(图7)实现如下功能:把风向风速数据的站点 Shapiefile数据作为模型的输入数据,经过模型的处理操作后将输出数据拷贝到显示图层,完成风向风速数据以风向杆形式在地图上显示。其中风向杆是通过风向杆字体ESRI Weather标注实现的,风向杆的旋转角度则是从原始数据中经过数据格式转换得到的旋转角度;风速的大小换算成风向杆字体大小的等级,再加上字体的其实ASCII值,便得到风速所对应的风向杆字体的ASCII码值,最后将ASCII码值赋给speed字段,用以在地图上标注显示。


图7. 风向风速数据导入模型

6.2 灾情分析处理过程
    本系统实现的灾情分析功能也是通过建立相应的地理处理模型实现的。灾情分析过程为:气象部门工作人员先手动在相应的灾害类型数据层上在线勾绘出灾害影响区域然后与Geodatabase 中的行政区划数据层或者流域分区数据层进行叠置分析(Intersect),再经过自动计算受灾面积、生成DBF数据表、删除临时数据等地理数据处理过程,最后通过程序访问DBF表中的相关数据列显示在客户端页面上,即完成了灾害影响区域分析。灾情分析处理过程如下图所示(图8)。


图8. 灾情分析处理流程

    青海省境内经常发生的气象灾害及气象因素诱发的灾害主要有雪灾、暴雨洪涝及强降水、冰雹、干旱、雷电、低温冻害、大风、沙尘暴、山体滑坡和泥石流等九种灾害类型。系统在实现过程中根据这九类灾害在Geodatabase中建立九个多边形图层,每个多边形图层对应一种灾害类型。气象部门工作人员根据天气预报结果判断将要发生灾害时,即在相应的灾害类型图层上手动编辑出灾害影响区域,进而灾害区域在地图上根据不同的灾害类型用不同的颜色显示,达到灾害预警的目的。
    系统的灾情分析处理主要是通过灾情分析处理模型实现的,灾情分析处理模型如下图(图9)所示。灾害影响区域作为模型的一个输入数据,行政区划或者流域分区作为模型的另一个输入数据,将两个输入数据进行叠置分析。模型在运行时根据灾害类型通过程序控制参与叠置分析的灾害影响区域数据层,同理行政区划层和流域分区层也通过程序控制哪一层参与叠置分析。叠置分析后,经过自动计算受灾面积、生成DBF属性表、删除临时数据等操作完成灾情分析处理。最终灾情分析结果将以统计报表形式在客户端显示。


图9. 灾情分析处理模型

6.3 气象数据及灾害预警区域导出处理过程
    系统本部分通过建立地理处理模型实现了将等温线、等压线、降雨量色斑图等气象数据和灾害预警区域数据导出成KMZ格式数据,以便气象数据和灾情预警区域在基于Google Earth API的三维显示平台上进行显示。数据导出过程如下图所示(图10)。系统将经过数据导入处理的气象数据和灾害预警区域数据拷贝到显示图层,添加到地图文档中。在地图文档中设置好数据的显示风格,然后地图文档作为地理处理模型的输入数据,经过地理处理过程转成KMZ格式数据,即可在三维显示平台浏览导出的数据。数据导出处理模型如下图所示(图11)。


   图10. 数据导出处理过程   

         

图11. 数据导出处理模型

6.4 地理数据处理服务发布过程
    在将地理数据处理模型发布为地理数据处理服务时,ArcGIS Server对模型的输入、输出参数的数据类型有特殊的要求。以上所述的模型中,FeatureClass数据类型作为模型的输入参数,将模型发布为地理数据处理服务时系统就会报错,无法发布服务。本系统的解决方法是:先在Model Builder中建立模型,将模型集成在工具箱中;第二步建立脚本模型,通过脚本调用工具箱中的模型,脚本模型的输入、输出参数全部设置为String类型;每一个模型对应建立一个脚本模型,将脚本模型同样集成在工具箱中,最后将脚本模型工具箱发布为地理数据处理服务。这样就满足了地理数据处理服务对输入、输出参数数据类型的特殊要求。以等值线数据导入脚本模型为例,脚本代码如下图所示(图12)。


图12. 等值线数据导入脚本模型

    在ArcCatalog中,把建好的脚本模型工具箱,发布为地理数据处理服务。系统在运行时,用户在客户端浏览器通过发送访问请求到Web服务器,由Web服务器通过程序调用GIS Server上的地理数据处理服务,在GIS Server上完成数据的分析与处理,最后通过Web服务器把结果返回到客户端浏览器。这样就实现了地理数据处理服务的共享。


图13. 气象要素在地图上显示


图14. 灾情预警及评估分析


图15. 灾情预警区域三维显示

7 结论
    本文基于ArcGIS Server平台开发了青海省气象灾害预报预警地理信息系统,对地理数据处理服务在气象灾害预报预警方面的应用进行了探索。探索表明,在把原始气象数据转换成地理信息数据并在地图上显示的过程中,建立合适的地理数据处理模型并将模型发布成为地理数据处理服务是一种非常有效的方法。地理数据处理服务在WebGIS数据处理方面发挥了重要的作用。系统达到了预计的功能。

Tags:地理数据处理服务,气象,灾害  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图