1. 引言
农业气象灾害风险区划不仅是合理利用自然资源、防灾、备灾和保险理赔的重要依据,而且在优化农业结构、制定防灾减灾决策和社会经济发展规划中起着重要作用 [1] [2] [3]。相对于二、三产业,农业更加靠天吃饭;每逢发生气象灾害时,农业首当其冲 [4]。在气象灾害风险应用系统方面,HORI以山口县、名古屋的新川城市化洪泛区为示范区,借助“3S”技术、自然灾害风险评价技术、计算机模拟技术和风险管理方法及各种数量化方法对暴雨洪涝灾害风险评价与管理进行了系统研究 [5]。黄丹萍和白龙等利用监测与预报的逐小时降雨量和内涝模型,开发了南宁城市内涝监测预警系统 [6];李爽爽依托省级CIMISS数据环境和现有各类预报产品,采用B/S方式设计开发了精细化暴雨监测预报及风险预警系统 [7];兰腾达耦合了地质环境和降雨量因素,研发了宁德市地质灾害气象风险预警系统 [8]。目前,基于气象灾害风险应用系统方面,主要是针对单一气象灾害风险(如暴雨等),较少基于气象灾害风险理论的格点气象灾害风险评估。
地理信息系统(Geographic Information System, GIS)作为一门新兴学科,对气象资源信息储存、查询、分析应用与生产辅助决策等具有重要意义,并越来越受到生产和决策部门的重视。其中,ESRI公司提供的ArcGIS Engine9.3是ArcObjects组件的核心集合,它提供多种开发的接口,可以适应.NET,Java和C++等多种开发环境;能实现包括空间数据集成、管理、空间分析和可视化的表达手段等功能。
本系统在充分吸收和借鉴大量最新的计算机、空间信息处理、模糊数学理论、自然灾害与风险理论研究成果的基础上,引入ArcGIS Engine9.3提供的二次开发功能组件包,以.NET为系统开发环境,利用Visual C#高级程序设计语言进行开发,研制基于GIS的农业气象灾害风险区划应用系统。该系统能在高分辨率地理信息数据支持下实现细网格的农业气象灾害风险区划,解决了风险区划中评价因子权重赋值的问题,为区域性的农业生产合理布局、防灾备灾管理和农业保险理赔等提供依据。
2. 研究方法和主要功能
2.1. 研究方法
本系统采用C/S架构,在引入ArcGIS Engine9.3提供的二次开发功能组件包的基础上,以.NET为系统开发环境,利用Visual C#高级程序设计语言进行开发。
2.2. 系统整体架构介绍
该系统采用三层系统架构,为C/S模式。主要包含基础数据层、业务逻辑层、系统应用层。系统基本框架详见图1。
2.2.1. 基础数据层
基础数据层中的空间数据(包括矢量数据和栅格数据),如区域边界、DEM、土壤质地类型、坡度、坡向等,采用FileGDB存储管理;属性数据如用户名、密码等,采用Access 2003存储管理。
2.2.2. 业务逻辑层
系统管理人员利用ArcMap将入库的空间数据分专题进行符号化,保存图层状态为mxd文件后,利用ArcGIS Catalog9.3发布为空间数据服务。以.NET为系统开发环境,C#为程序设计语言,通过ArcGIS Engine9.3进行二次开发,通过ADO.NET访问数据。
2.2.3. 系统应用层
平台应用层是用户使用软件的客户端。具有文件、权限管理、地图操作、数据预处理、气候资源评估、气象灾害风险评估、专题图制作、帮助等功能。
2.3. 系统基本功能
系统基本功能分为文件、权限管理、地图操作、数据预处理、气候资源评估、气象灾害风险评估、专题图制作、帮助等。功能结构上各个模块相对独立,从逻辑结构和数据基础角度是系统的统一整体,密不可分。在此基础上进行系统集成和流程控制,形成完整的软件体系,如图2所示。
2.3.1. 文件
主要负责工程文件的管理。其功能包括打开工程文档、另存为工程文档、专题图输出和系统退出等。
2.3.2. 权限管理
主要负责不同权限的用户获取不同级别的数据。其功能包括用户登录和区域选择。不同权限的用户获取数据库中不同级别的数据,选定该级别所属区域进行农业气候区划或者气象灾害风险区划。在用户选定区划区域前,数据预处理、气候资源评估、气象灾害风险评估、专题图制作等功能为不能使用状态。
2.3.3. 地图操作
主要实现地图缩放及漫游、矢量和栅格数据添加、空间属性要素值查询等功能。以工具条形式实现。
2.3.4. 数据预处理
主要进行区划前的数据前期处理。包括数据格式转换、投影转换和插值等功能。通过数据格式转换,将带经纬度站点的excel格式数据转换为shp矢量数据格式,并默认空间坐标系为GCS_Beijing_1954;投影转换可将GCS_Beijing_1954经纬度坐标转换为Albers_beijing54地理坐标;插值功能则是将矢量数据通过克里金插值或反距离加权插值成栅格数据并自动裁剪出需要进行区划的区域。
2.3.5. 气候资源评估
主要实现气候资源的分区定级评估。其功能包括常用气候资源信息、区划因子分等定级、区划因子权重模型和气候区划模型等。常用气候资源资源信息利用系统提供的经验公式,自动生成年平均气温、年≥10℃的活动积温、5~10月10℃的有效积温等常见农作物所需的气候区划栅格数据。区划因子分等定级,将农业气候区划因子的栅格数据集按照不同的阈值进行分类,并用一个唯一的数值替代每一种类型中的所有数据,并赋予相应颜色。最终以GIS技术为支撑,根据农作物种植的气候适宜性,将农作物分为最适宜、适宜、次适宜、不适宜等级别。
2.3.6. 气象灾害风险评估
主要实现农作物气象灾害风险的分区定级评估。包括风险因子分等定级、风险因子权重模型和风险评估模型等功能。风险因子分等定级,将农作物气象灾害风险因子的栅格数据集按照不同的阈值进行分类,并用一个唯一的数值替代每一种类型中的所有数据,并赋予相应颜色。最终以GIS技术为支撑,利用其空间分析功能将研究区气象灾害分为高风险、中风险、低风险等级别。
2.3.7. 专题图制作
提供农业气候区划及气象灾害风险区划专题图的制作与输出功能。具体包括图层色彩分级、透明度设置、图名图例添加和专题图输出等功能。图层色彩分级功能可根据用户的实际需要选择不同的颜色分等定级;设置透明度可在区划图的底图上添加需要显示的其他图层的空间分布;图名图例添加功能指在专题图上添加图名和图例;专题图输出能根据用户的不同需求将专题图输出成不同格式的图片,如JPG,bmp等。
2.3.8. 帮助
该功能主要提供农业知识介绍、帮助文档和版本说明等信息。
3. 关键技术
3.1. 组件对象技术
COM是Microsoft组件对象模型(Component Object Model)的简称,它与具体的编程语言和平台无关 [9]。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。Microsoft的许多技术,如ActiveX, DirectX以及OLE等都是基于COM而建立起来的。这种做法的好处是可以随着技术的不断发展而用新的组件取代以有的组件。此时的应用程序可以随新组件不断取代旧的组件而渐趋完善。而且利用已有的组件,用户还可以快速的建立全新的应用。
在系统设计和开发中,采用了组件对象技术,引入了ArcGIS Engine9.3。ArcGIS Engine9.3是基于COM技术的可嵌入的组件库和工具包。它由两个产品组成:面向开发人员的软件开发包(ArcGIS Engine Developer kit)和面向最终用户的运行时(ArcGIS Engine Runtime)。ArcGIS Engine软件开发包并不是一个终端用户产品,而是软件开发人员的工具包,利用高级程序设计语言Visual C#和软件开发包提供的控件及其相应的对象、属性、方法、事件,完成了本系统需要的数据格式转换、投影转换、波段运算、空间分析、专题图制作及数据显示、放大、缩小、漫游等功能。ArcGIS Engine Runtime是一个使终端用户软件能够运行的核心ArcObjects 组件产品,被安装在每一台运行ArcGIS Engine应用程序的计算机上。
3.2. 空间插值技术
离散点形式的属性数据通常需要用空间插值技术估计无测量数据位置的相应数值。本系统提供反距离权重和克里金两种插值方法作为空间数据的插值方法。
3.2.1. 反距离权重插值
反距离权重插值公式为:
(1)
式中,
为未知点,
为已知数据点,
为第i样本点与
点距离的-r次方;r为权重指数。
3.2.2. 克里金插值
假设区域内在采样点
处的观测值为
,
,则在未知点
处的估计值
可以通过周围n个采样点的观测值
的线性组合求得,即:
(2)
式(2)需满足无偏估计和估计方差最小,即:
(3)
(4)
(3)式和(4)式成立的话,则要求权重
要满足式(5)和式(6):
(5)
(6)
式(5)和式(6)中
为观测点
与
之间的半变异值,
为采样点
与未知点
之间的半变异值,
是与方差最小化有关的拉格朗日乘数。由式(5)和式(6)可计算出权重
的值,即可求出未知点
处的估计值
。
3.3. 权重分析技术
权重的确定历来是灾害风险评估技术的重点和难点,本系统提供两种最新的权重分析技术,分别是层次分析法和模糊数学评价法。
3.3.1. 层次分析法
层次分析法(Analytic Hierarchy Process,AHP)是一种对指标进行定性定量分析的方法。它特别适用于那些难于完全定量分析的问题 [10]。运用层次分析法建模,大体上可按下面四个步骤进行 [11]:
1) 建立递阶层次结构模型;
2) 构造出各层次中的所有判断矩阵;
3) 层次单排序及一致性检验;
4) 层次总排序及一致性检验。通过以上四个步骤,最终得出每个指标的权重,以确定不同指标对同一因子的相对重要性。
3.3.2. 模糊数学评价法
利用模糊数学评价法确定灾害风险区划因子的权重一般分为以下三个步骤:
1) 建立隶属函数
隶属函数一般用来刻画模糊集,以实现定量描述模糊性事物 [12]。本系统采用典型函数法的戒下型函数刻画隶属函数 [13],隶属函数的计算公式为:
(7)
戒下型函数的分布表示某因子对灾害是否有影响。如果它超过某一界值c(本系统中取c为因子网格u的最小值),则有影响,否则没影响。公式(7)中,
为因子u的隶属函数,
,
;
为因子网格u的最大值,所对应的隶属函数的值为0.99,得到a的计算公式为:
(8)
2) 确定评价矩阵
假设需要评价m个风险因子,n个网格,则每个风险因子的评价集为
,
。因此得到m个风险因子的评价矩阵T(见公式(9)),利用隶属度公式(公式(7))计算矩阵T的每个元素。
(9)
3) 风险评价因子权重的确定
依据李登峰等 [14] 加权平均规划法计算风险评价因子权重。公式(10)为建立的多目标决策模型:
(10)
其中
,记
。
由于本系统中风险因子权重均未知,所以p = m,d = 1 (待定因子的权重之和等于1)。此外,因为每个风险评价因子不存在任何偏好,可将公式(10)中多目标决策问题等权重集结为等价非线性规划问题,最终得到风险因子权重计算公式为:
,
。 (11)
利用公式(11)可计算得到各风险因子的权重。
3.4. 风险评估技术
自然灾害风险指一定的区域和给定的时间段内,由于某一个自然灾害而引起的人们生命财产和经济活动的期望损失值。一定区域自然灾害风险是由危险性(Hazard)、暴露性(Exposure)、脆弱性(Vulnerability)和防灾减灾能力(Resistance)等四个因素相互综合作用而形成的 [15] [16] [17]。本文基于自然灾害风险形成机制建立农业气象灾害风险评估模型 [15]。
(12)
其中,DRI是风险指数,其值越大,则风险程度越大。H、E、V分别表示致灾因子危险性指数、孕灾环境暴露性指数、承灾体脆弱性指数;
、
和
相应地表示其权重;
是指标k量化后的值;
为指标k的权重,表示各指标对于风险的相对重要性。由于防灾减灾能力R是作为一项可能的减少因子来考虑,因此并未对其赋予权重值。变量a是常数(
),本系统中取a = 0.8。
4. 系统应用实例
本文以象山县农业气象干旱风险区划,进行系统应用实例分析。通过相应的权限进入到系统主界面(图3),象山县农业气象干旱灾害致灾因子主要考虑气象上的干旱机率,将河网密度、地势高度作为孕灾环境敏感性指标,选取DEM、道路面积、坡度和河网面积倒数作为干旱灾害孕灾环境影响因子,干旱灾害承灾体易损性因子选择地均GDP、人口密度和土地类型对干旱脆弱性等因子。

Figure 3. The client interface on which the system runs
图3. 系统运行的客户端界面

Figure 4. Distribution map of agricultural meteorology drought risk division in Ningbo
图4. 宁波市农业气象干旱风险区划分布图
利用本系统将所有风险区划因子处理为100 m × 100 m网格。对于气象上的干旱机率利用Kriging方法进行插值,获取像元大小为100 m × 100 m的气象要素栅格数据;对于取DEM、道路面积、坡度和河网面积倒数等栅格数据,如果像元大小不是100 m × 100 m,将其重采样为100 m × 100 m。由于所选指标的单位和量级不同,为了便于计算,使用波段运算功能将各指标原始值转换成可计算的0~1之间的无量纲指标。利用层次分析法确定各风险区划因子的权重系数,进而采用农业气象灾害风险评估模型计算各栅格象元的农业气象风险指数(DRI),其值越大,表示农业气象干旱风险程度越大。最后根据专家决策分析法对评价区内每个栅格单元的DRI值进行分析,划分成5个等级,最终结果如图4所示。
5. 结语和讨论
农业气象灾害风险区划应用系统采用C/S架构,在空间插值技术、模糊数学理论、自然灾害与风险理论研究成果的基础上,引入ArcGIS Engine9.3提供的二次开发功能组件包,以.NET为系统开发环境,利用Visual C#高级程序设计语言进行开发。
该系统是在高分辨率地理信息数据支持下,引入组件对象技术、空间插值技术、权重分析技术和风险评估技术,实现细网格的农业气象灾害风险分析与区划,具有权限管理、地图操作、数据预处理、气候资源评估、气象灾害风险评估、专题图制作等功能。以象山县农业气象干旱风险区划为例进行系统应用实例分析,表明本系统具有很好的适用性。可为各级政府做出决策响应提供科学、系统、全面的技术支持,增强各级政府的风险管理与决策水平,是一个具有合理结构和优良性能的桌面农业气象灾害风险区划工作平台。