面向SOA的城市风暴潮灾害评估GIS系统

  • 格式:pdf
  • 大小:1.15 MB
  • 文档页数:5

0引言上海作为长三角沿海经济带的核心城市,汛期常受台风影响,若台风影响期间逢农历初三、初八前后大汛,可能会出现风暴潮“三碰头”现象,严重的风暴潮灾害将带来巨大的经济损失[1]。

为减少灾害损失,急需建立集分析预报、风险评估及网上发布于一体的计算机系统,该系统需要对灾害涉及的庞大而复杂的众多信息进行高效地处理,为决策者提供从点信息到面信息,从实时信息到历史信息,从工程信息到社会经济信息的全面信息支持。

我国1991年成功地将GIS技术和RS技术用于严重水灾的监测和评估,上海市建立了基于ArcGIS的“上海市防汛辅助决策系统”[2],2008浙江省为提高气象服务决策建立了“基于GIS的台风灾害评估系统”[3],赵思健等研制了“基于GIS的汕头市洪涝灾害分析、评估和决策综合系统”[4]。

然而,“数字海洋”与海洋信息一体化是一项系统工程,需要海洋行业各个业务部门相互协作,实现跨部门信息资源的整合与共享,以消除行政建制下资源条块分割,彻底解决“信息孤岛”。

但目前,海洋学或水利学资料被越来越多的机构和不同研究目的的科学家收集,即使同一机构不同部门由于职能区别,数据采集的设备不同,信息处理的平台不同,数据存储的格式也不同,致使数据很难实现交换和共享,数据与系统异构性严重。

针对海洋空间数据与系统的特点本文提出了面向SOA的架构体系,以Web Service技术为支撑点,设计实现收稿日期:2010-03-03;修订日期:2010-10-15。

了跨部门应用间的数据和业务松耦合集成的风暴潮灾害评估系统,为分析洪涝形势、制定防汛减灾方案、进行灾情评估以及工程管理,提供准确、及时、全面的信息支持。

1SOA 架构与GIS 技术1.1SOA 架构SOA 是为解决网络应用环境下分布式异构系统集成及实现资源共享问题而逐步发展起来的一种系统架构设计思想,它可以根据需求对网络上松散耦合的粗粒度应用组件进行分布式部署、组合和调用。

其优点是可最大限度的重用网络上已有的组件提高程序开发的适应性及效率[5-6]。

粗粒度的组件称之为服务。

服务通过简单的、精确定义的适配器(接口)进行通信。

SOA 主要由服务消费者、服务提供者及服务注册中心组成。

面向服务的体系结构中的每个实体都扮演着服务提供者、消费者和注册中心这3种角色中的某一种(或多种)(如图1所示)。

面向服务的体系结构中的操作包括:发布、发现、绑定及调用。

SOA 有多种实现方式,其中Web Service 是一种部署在Web 上的对象/组件,具有开放通讯标准和强调互操作的特点:①Web Service 通过标准协议向网络程序提供一定的功能,通常采用的标准协议是SOAP (simple object access protocol );②Web Service 使用WSDL (web services description language )详细描述其接口,用户使用WSDL 文档和Web Service 进行交互;③Web Service 需要注册到UDDI 注册中心(universal discovery description and in-tegration ),便于潜在用户查询、发现和使用。

这些特点使得Web Service 作为SOA 的具体实现技术非常合适,成为异构系统集成的主要手段,也是目前常用的SOA 实现技术[7]。

1.2GIS 技术与地理信息共享近年来,地理信息系统(geographic information system ,GIS )技术在我国愈发得到重视,由于全球环境变化研究及海洋资源和环境管理的需求,其应用从传统的城市规划、土地利用、测绘、环境保护、电力、电信、减灾防灾等陆地领域,逐步渗透到海洋资源调查与管理、矿产资源调查等方面。

随着面向服务架构的兴起,这一软件工程方法也同样引发了GIS 软件的技术革命,形成了服务式GIS (Service GIS )。

地理信息共享经历了面向文件的共享、面向数据库的共享之后,带来了数据共享与功能共享并举的第三代面向服务共享新模式,以共享服务为特点的基于SOA 的GIS 网络正在构建之中。

Ser-vice GIS 脱胎于组件式GIS ,在面向服务的框架体系下,对GIS 现有组件库细粒度组件进行封装,形成粒度适中的全功能GIS 服务群,构成Service GIS 服务器,并向客户端发布。

由于SOA 采用标准协议进行服务通讯,使得采用SOA 思想构建的服务具有跨平台、跨网络、跨语言调用能力[8-9]。

Service GIS 最重要的功能是其具有服务聚合能力,基于Service GIS 构建的系统,可通过服务的聚合与集成现有的应用服务,快速构建业务敏捷的应用系统或升级现有的系统。

由于Service GIS 更全面地支持SOA ,通过对多种SOA 实践标准与空间信息服务标准的支持,也可使GIS 系统能与其它IT 业务系统进行无缝的异构集成。

2系统研制系统严格遵循模型-视图-控制器MVC (model-view-control )设计框架,以确保应用程序具有快速开发的优势和更高的可维护性[10]。

为适应用户在系统结构上的不同要求,各模块采用了数据层、构件层、服务层、业务逻辑层及显示层多层模式开发。

实现前台展现与后台业务逻辑的分离,客户端主要是利用地图服务对灾害评估结果进行二维、三维展示,包括模型参数输入,模型计算结果展示、评估结果展示、专题及统计图生成等,后台的业务主要是根据前台输入利用数值计算及评估模式进行运算并存入数据库当中,包括了基础地图服务及分析、模拟计算、评估计算、数据入库等网络服务(如图2所示)。

2.1数据层2.1.1基础地理数据库系统收集的地理数据主要是上海市基础地理底图数据及专题地图数据。

其中基础地理地图包括上海地区1:5000陆地地形数据、长江口区海底地形数据、长江口区潮位站信息、海岸带堤坝信息、上海地区2.5m 分辨率SPOT 卫星影像数据,南汇地区0.6m 分辨率Quick Bird 影像数据、道路信息、河流信息等。

专题数据主要是指灾害评估过程中用到的地理数据,包括上海地区236个街道的空间位置信息、上海市各个区县的空间位置信息以及参与水动力计算的50000多个计算网格信息。

所有空间矢量数据按照地理信息分级、分类及编码规则(GB104.14)进行分层,按照海洋信息化规范进行统一的坐标及投影转换,经过分幅与接边处理后,对数据进行拓扑检查,最后通过SDE 直接存储到后台Oracle 数据库中。

系统对空间数据库的访问接口可以直接调用Web Service (GeoData Service ),再由Web Service 访问ODBC 、JDBC 调用后台数据库。

图1SOA 架构体系服务注册查找发布服务消费者绑定服务提供者服务服务描述2.1.2业务属性数据库业务属性数据库主要存储了灾害评估中重要的评估评估因子信息,包括受灾区街道与区县的人口数、街道与区县重要企事业单位数、街道与区县的房屋面积信息以及风暴潮水动力模型的计算结果信息。

属性信息与空间信息通过关键字ID 相互关联。

2.1.3模型库模型库主要是对各种模型及其运行环境的存储。

模型包括模型商业计算软件及各种模式代码,运行环境则提供上述各种模型运行的相关软硬件环境。

模型库对数据库直接通过ODBC 或JDBC 调用,模型库通过把相应功能封装成Web Service 服务实现网络用户对其访问。

如对水动力模型的调用通过Web Service 的方式进行,用户在客户端输入模型参数后,将驱动服务器端组件调用计算模型,并且将计算结果存储到后台数据库中。

(1)水动力学模型:风暴潮水动力计算模型采用DHI MIKE 21水动力计算软件,MIKE 21是一个专业的工程软件包,用于模拟河流、湖泊、河口、海湾、海岸及海洋的水流、波浪、泥沙及环境[11]。

系统中采用MIKE 21水动学模块(hydrodynamics ,HD )模拟河口和海岸地区的水位变化、和由各种力的作用而产生的水流变化。

当用户为模型提供了地形、底部糙率、风场及水动力学边界等输入数据后,模型会计算出每个网格的水位和水流变化。

(2)灾害评估模型:城市风暴潮灾害评估模型以水淹预测结果、城市常住人口、企事业单位分布为数据基础,通过模糊综合评判等方法进行灾害综合评价。

采用最大隶属度原则判定受灾区的灾害等级,模式识别方法如下:设论域为上的∈(),),…,(划归=1,2,…,相对属于第1|¸öÍø¸ñ¶ÔµÚ1=max {=1,2,…,5},则该网格在时刻10(1≤=1,2,…不惟一时取其最大者)。

2.2构件层构件是遵循一定标准、具有一定的功能和结构的软件实体。

由于构件可以独立部署、组装,构件技术已成为软件复用的核心技术。

软件复用使得软件生产可以类似于“搭积木”方式进行[12-13]。

针对海洋灾害地理信息的特点,首先利用领域工程方法对已有的信息系统和模型库进行领域分析。

为了更好地体现异构性和多样性,首先从整个海洋领域相关的GIS 平台功能模块开始,对所有GIS 相关的功能模块进行分类、细分。

以各个功能单元的功能相对独立为原则,提取出实现海洋业务功能相对最小的地理操作功能单元。

提取的每个功能单元都能独立完成某项相对应的操作,而不依赖于其它的功能单元。

面向海洋业务最终加工提炼出的比较典型和复用率较高的构件,主要包括地图基本地理操作(放大、缩小、全图、漫游、鹰眼、地图控制、图层控制等)构件,距离量算(长度、高度、面积测量)构件;空间选择(点选、线选、面选)构件,地图查询(属性、空间查询)构件,专题图(曲线、柱状、饼状图等)构件,空间分析(缓冲区、最短路径、时序分析、叠加分析等)构件等6种类型构件。

所有提炼的构件以元数据方式进行描述,并对其功能进行测试最终存储在构件库中。

在构件库中可方便进行构件查找,开发者可快速定位到自己需求的构件。

在构件分类、提取的基础上,可方便的对构件进行组合,生成较粗粒度的服务构件。

比如,可以组合空间选择与地图查询构件形成空间查询构件,并将其封装为更粗粒度的服务进行发布。

如构件库中的构件及组合不能提供业务需求的功能,则需要对该功能重新进行分析与分解。

在最大限度重用的基础上,以最小的代码量重新制作构件。

例如在灾害评估过程中,需要读取网格水深信息,并对水深大于0的网格进行判定,然后依据计算网格与街道的空间关系进行灾情评估。

这时应综合考虑构件独立性及业务流程特点重新制作构件。

2.3服务层在模型库及服务构件的基础上,利用Service GIS 强大功能将服务构件及模型构件通过Web 服务方式发布出去,供其它单位直接调用。