基于GIS的街区紧急疏散模拟武汉大学测绘学院实.docx
《基于GIS的街区紧急疏散模拟武汉大学测绘学院实.docx》由会员分享,可在线阅读,更多相关《基于GIS的街区紧急疏散模拟武汉大学测绘学院实.docx(32页珍藏版)》请在冰豆网上搜索。
![基于GIS的街区紧急疏散模拟武汉大学测绘学院实.docx](https://file1.bdocx.com/fileroot1/2023-5/15/4eeeeb58-1f23-44cc-b2a9-fe5ea8c1244c/4eeeeb58-1f23-44cc-b2a9-fe5ea8c1244c1.gif)
基于GIS的街区紧急疏散模拟武汉大学测绘学院实
基于GIS的街区紧急疏散模拟
实验目的
(1)掌握利用GIS的网络分析功能制定科学的疏散计划预案,充分利用现用的交通网络与人防设施。
(2)掌握使用ArcMap创建具备特定分析功能的Model。
(3)掌握基于ArcServer相关的编程方法,利用编程实现紧急疏散功能。
实验条件(设备、数据等)
实验数据:
背景地图SchoolMap,道路网图层school_road。
软件准备:
ArcGISDesktop、ArcGISserver、ArcGISSilverlightAPI2.1、VisualStudio2010、Silverlight4。
实验原理
1.疏散要素
疏散计划的核心内容是解决以下决策优化问题:
疏散多少人,疏散哪些人,什么时候疏散,以及疏散到什么地方,这些都要从全局出发,周密计划,妥善安排。
疏散计划最优化的目标是发挥整个疏散系统的最大效率。
疏散效率的评价指标有多种表示方法:
如总体疏散时间,疏散距离,灾害发生前到达安全目的地的人数以及疏散网络的可靠性等等。
因此疏散计划优化在数学上是一个多目标优化问题。
2.疏散模型
根据疏散要素以及疏散的特点可以把其模型简化为如下图所示:
则可以通过其建立一个最优的疏散分配模型。
假设需要疏散的事故点为m个,每个事故点数为
(i=1,2...m);假设有n个疏散目的地,每个疏散目的地所能容纳的最多人数为
(j=1,2…n)。
这样就构成了一个最优疏散的问题。
模型如下:
上述模型中,Z(x)为总的疏散距离;i=1,2......m;j=1,2......n;
——从事故点
到疏散目的地
的疏散量;
——事故点
到疏散目的地
的长度;
——各个事故点的待疏散人数;
——各个疏散目的地能容纳的人数。
这种模型可以找到其对应的原始模型——运输问题。
运输问题是为了把某种产品从若干个产地调运到若干个销地,已知每个产地的供应量和每个销地的需求量,如何在许多可行的调运方案中,确定一个总运输费或总运输量最少的方案。
为了降低解算的复杂度,避免大量的计算,采用解决运输问题的方法来解算疏散模型中的人数的分配问题。
3.模型解算方法
解决运输问题的快速算法为表上作业法。
表上作业法是指用列表的方法求解线性规划问题中运输模型的计算方法。
是线性规划一种求解方法。
当某些线性规划问题采用图上作业法难以进行直观求解时,就可以将各元素列成相关表,作为初始方案,然后采用检验数来验证这个方案,否则就要采用闭合回路法、位势法等方法进行调整,直至得到满意的结果。
其中还要判断表上作业法得到的初始解是否退化,如果退化则要补零。
模型解算流程如下:
通过解算,就可得到具体的分配方案。
在本模型中编写一个用于解决运输问题的类,如上图,传入的变量为疏散目的地的人数、事故点人数、还有成本矩阵,该类的作用就是根据这三种参数输出调运方案,得到的结果为某地向某地运输多少人。
其中初始解的解算方法为最小元素法,检验数的计算采用闭回路法。
实验方案(方法及步骤)
1、使用ArcMap制作Model
因为疏散模型的解决方案是依靠运输问题实现的,该模型需要的参数为:
事故点的人数,疏散目的地的容量,以及事故点到疏散目的地的路程或者时间。
这三种参数需要从地图图层上获取,部分需要用户的输入。
客户端API只提供了基本的地图操作接口,因此无法进行高级的地理分析。
由于API中有各种Task分析,所以只需借助其Task就能实现疏散的模型。
本模型主要使用的是Geoprocessing(简称GP)Task和QueryTask,即地理处理分析和路径分析。
由服务端发布各种服务,客户端输入参数来调用其服务。
GPServer主要的注意点在于模型的制作,可以简单的拖拉ArcMap本身提供的工具来组合模型,也可以使用ArcEngine编写模型,或者利用Python脚本语言来编写模型。
利用ArcgisServer发布GPServer,然后查看其相应的参数,了解参数后,并可在客户端调用了。
但值得注意的是,GPServer处理的方式有两种,根据其同步和异步的差别,选择不同的操作来执行GPTask,然后获取处理结果。
发布GPServer来处理最短路径,需要注意的是把模型拖入地图中,发布带有地图的GPServer,将最短路径的图层添加到地图相应的图层上。
模型中用到的Querytask比较简单,查询图层的相关信息,在本模型中需要获取疏散目的地的人口容量。
本实验需要用到的模型为成本矩阵模型和最短路径模型,利用ESRI提供的ArcMap软件制作而成。
成本矩阵模型的作用是获得各个事故点的到各个疏散目的地的距离或者时间,而组成的矩阵。
该模型的设计如下:
该模型的输入要素为:
道路网、事故点和疏散目的地。
输出的要素为距离矩阵或者时间矩阵。
通过ArcServer发布为服务,然后通过客户端来调用便可获得其成本矩阵了。
最短路径模型的目的在于获取事故点到疏散目的地的最短路径,该模型图如下图所示:
最短路径模型的输入参数为停靠点,在疏散模型中则为事故点和疏散目的地。
通过ArcServer发布GP服务,在客服端调用,便可实现最短路径的分析了。
下面重点介绍上述模型制作过程,利用ArcMap中的ModelBuild。
(1)数据准备
原始数据如上图所示为:
校园基础地图相关图层。
主要的是各个道路要素图层。
在ArcCatalog软件中把上图三个道路要素图层生成NewNetworkDataset得到:
school_road道路网络图层。
并且在ArcCatalog软件中建立一个名称为ODMatrix工具箱,如上图所示。
(2)模型制作
在ArcMap中打开school_road,并在ArcToolBox中加入刚才新建的ODMatrix,并在ODMatrix上点击右键,new一个model,命名为ODCostMatrix,按照上面的模型图制作成本分析的模型。
制作模型需要注意很多,首先要加入Network的扩展模块,Tools->Extension,选择NetworkAnalyst复选框。
A、将NetworkAnalystTools工具箱打开,选择Analysis->MakeRouteLayer,拖入Model窗口,当然如果找不到这个工具,可直接在Search里面搜就行了。
双击MakeRouteLayer工具,在Inputanalysisnetwork中选择我们在ArcMap中添加的图层streets_ND(名字可自定义,以下截图图层名均与原始数据名有出入,但不影响实际),其他的选项可以都选择默认。
这时在模型中,输入项变成蓝色,工具变成黄色,输出为绿色。
B、再找到AddLocations工具,拖入Model窗口。
右键单击工具,选择MakeVariable->FromParameter->Inputlocations。
C、在Inputlocations这个输入项上单击右键,选择properties...,给这个数据项做如下参数设置,datatype是FeatureSet,symbologyfrom选择streets_ND_Junctions.shp,其实后面这个是确定你在输入Feature时的样式和包含字段,可以选择ArcGIS里面保存的样式,这个为了方便随便选的一个点数据层,表明样式随选择的数据层而定,加入的点数据和streets_ND_Junctions的字段是一样的。
D、双击Addlocations工具,Inputnetworkanalysislayer选择之前生成的Route层,Sublayer为Origins,表明我们要在Route层加入成本矩阵的源点,此外,还有barriers,表明障碍物。
Inputlocations为上一步加入的层,其他的默认。
E、在Model窗口内再拖一个AddLocations工具,步骤和添加源点的步骤差不多,是为成本矩阵分析添加目的地的过程。
需要注意的是sublayer为Destinations。
F、在Model窗口拖入Solve工具,双击,在Input networkAnalysislayer中选择上一步生成的NetworkAnalystLayer图层,如下图。
G、生成的结果处理,一种直接把路径结果作为附加图层显示出来,将selectdata工具拖入Model窗口,selectdata工具用
直接与上一步生成的NetworkAnalystLayer
(2)连起来,双击selectdata工具,ChildDataElement(optional)选择Lines,表明输出的结果图层是直线。
如下图:
H、开始做模型的时候以为这样就完事了,其实疏忽了一个非常容易丢掉但又很重要的环节,就是确定模型的输入输出项,如果我们不做这一步,模型就是空的。
这个模型有两个输入项,Origins(设置源点),Locations(设置目的地),一个输出项Line,street_ND其实也是一个输入项,但是因为我们制作模型时就已经设置了,不作为用户输入。
设置方式如下,右键单击设置项,选择ModelParameter,在起右上方显示字母“P”。
这样整个模型就制作完成了。
(3)、模型测试
保存刚生成的模型,在工具箱中双击模型,可以看到模型框框。
在ArcMap的图层上点击,输入两个站点和一个障碍,运行后就可以看到结果作为一个图层显示出来。
(4)、发布GP服务
将刚刚做好的ODMatrix模型拖入ArcMap中的Layers里,作为第一个图层,school_road作为分析层为第二层,保存为一个mxd(EvacuationService.mxd)。
同时校园基础地图SchoolMap原数据单独保存为一个mxd(EvacuationBasemap.mxd),作为路径分析的底图,如果有其他数据也可以加进去,这个不是重点。
EvacuationBasemap直接发布为一个MapService,不在赘述,用ArcCatalog或者ArcServerManager发布即可;EvacuationService发布为一个GeoprocessingService,具体步骤如下:
A、发布服务之前要AddArcGISServer,然后AddGISService,Type选择GeoprocessingService,并给服务起一个名字。
其他的默认就行。
B、选择Synchronous(同步)执行方式,发布方式选择发布一个map的方式,并在DataFrame中选择Layers,选中ShowMessages复选框。
至于Synchronous和Asynchronous的区别,前者是同步执行,用于不很复杂的GP服务,效率较高;后者是异步执行,不做赘述。
其他的选择默认设置,完成。
(5)、测试GP服务
打开一个空的ArcMap,从ArcCatalog中直接把刚刚发布的BaseMap拖入Layers,在ArcToolBox中将刚发布的Geoprocessing服务加载进来,这时可以看到模型的图标变为一个小垂头:
。
双击这个模型,进行参数输入执行。
如果发布的模型没有问题,出现结果将会是直线,并且显示在地图上,执行过程没有报错。
最短路径的模型制作过程也大概类似,这里不在赘述。
2、编程实现流程
本模型用到的数据为地理数据,利用ArcCatalog和ArcMap制作相应的数据。
为了简化模型,本模型中只用到最主要的两种数据:
一是道路网图层,二是校园基础地图SchoolMap。
道路网图层的主要字段为时间和路程,提供最短路径分析。
校园基础地图让程序看起来更丰富些,并无其他作用。
通过ArcServer发布模型相对应的MapService以及上述模型的GP服务,然后客户端来调用处理其task(任务)。
疏散目的地图层中地理要素的属性中最主要的是每个要素的人口容量,而道路网图层提供路径分析。
地图初始化获取地图服务,并将地图显示在浏览器中,初始化的过程中还获得了各个疏散目的地的人口容量。
单击地图添加事故点,并且输入对应的待疏散人数,单击解决按钮则可以获得疏散方案。
单击清除按钮,清除结果,可以重复演示该模型。
模型实现流程图如下所示:
首先在地图初始化的过程中,做一个查询功能,获取疏散目的地的要素集,并且获取其Population字段的字段值,获取ArcServer发布的MapServer,显示地图。
事故点的位置是由客户端来输入的,且各个事故点待疏散的人数由客户端在本模型中的控件中输入。
当输入完毕时,单击“解决”按钮,首先是调用ArcServer发布的成本矩阵GP服务,得到成本矩阵。
然后程序则实例化运输模型的类,传入运输模型的三个参数:
成本、待疏散人数、目的地容量,即可获得调配方案。
当某个事故点到某个疏散目的地的调配人数不为零时,则这两点间做最短路径分析,调用ArcServer发布的最短路径服务,把路径添加到地图上显示。
这样即简单的完成了疏散模型。
在地图显示上添加了四个图形图层(GraphicLayer):
一是显示事故点的图层、二是显示疏散目的地的图层,三是显示调配方案的图层、四是显示最短路径图层。
各个图层设置了相应的MapTip,显示相关的疏散人数信息。
疏散模型的实现为本实验的一难点,也是最为核心最为关键的。
ArcGIS模型制作为实验的一重点。
ArcGIS模型只是为了获取相关的数据供疏散模型利用,最终疏散模型输出解决方案。
实验结果与分析
1、用户界面如下:
2、事故点输入
单击地图添加灾害事故点
疏散目的地
3、疏散结果表达
说明:
蓝色代表疏散方向数字代表疏散人数,红色线条代表事故点与疏散目的地的最短路径,蓝色线条表示该事故点需向哪些疏散目的地疏散,红色的阿拉伯数字表示该事故点向对应的疏散目的地疏散的人数。
将鼠标悬置在不同的要素上,将出现下图中不同的信息。
当放置在事故点上时显示如下信息:
当鼠标悬置在红色的路径线条时显示如下信息:
3.2基于GIS的自然灾害综合风险评估模模型
3.2.1实验目的
灾害风险评估作为灾害风险管理的核心,已经成为灾害研究的热点问题。
随着我国灾害科学研究的不断深入及经济建设的日益发展,从风险角度分析灾害已成为灾害分析的一种新视角,它有助于决策者进行灾害管理和制定减灾策略时决定最佳的技术政策。
据统计,湖北省每年主要是受四种自然灾害的影响,它们分别是暴雨洪涝灾害、干旱灾害、局地强对流灾害、雪灾及低温冷冻害灾害,本实验将根据自然灾害风险分析原理,应用层次分析法确定每种自然灾害各指标因子的权重,并采用ARCGIS的权重叠加分析方法确定每种自然灾害的风险等级,参考自然灾害风险评估国际计划里的评估指标,探讨湖北省各区域的综合灾害风险水平,并将湖北省分为几个不同等级的风险区。
本实验的目的是使学生了解灾害综合风险评估的一般步骤和基本的数学方法,并结合自身空间信息工程专业知识使用ArcGIS软件实现自然灾害综合风险评估。
实验条件(设备、数据等)
实验数据:
[湖北省地级市]
软件准备:
ArcGISDesktop、ArcGISserver、ArcGISSilverlightAPI2.1、VisualStudio2010、Silverlight4。
实验原理
风险分析研究的方法大多是专家调查法和层次分析法,例如社区的火灾风险评估,就是采用以上方法综合考虑公共消防基础设施、消防力量、建筑因素得到。
本模型研究的是湖北省的自然灾害综合风险评估,将以几个县为基本单位分为五块进行研究。
本次模型中每种灾害权重的确定选取了三个指标因子,即受灾人数(万人)、死亡人数(人)、直接经济损失(亿元)。
1、层次分析法
层次分析法(AnalyticalHierar-chyProcess,简称AHP方法),是一种定性与定量相结合的决策分析方法。
它是一种将决策者对复杂系统的决策思维过程模型化、数量化的过程。
应用这种方法,决策者通过将复杂问题分解为若干层次和若干因素,在各因素之间进行简单的比较和计算,就可以得出不同方案的权重,为最佳方案的选择提供依据。
层次分析法(AHP)基本原理:
首先把问题层次化,按问题性质和总目标将此问题分解成不同层次,构成一个多层次的分析结构模型,分为最低层(供决策的方案、措施等),相对于最高层(总目标)的相对重要性权值的确定或相对优劣次序的排序问题。
层次分析法的基本步骤:
1)对总评价目标进行连续性分解以得到不同层次的评价目标,将各层评价目标用图有机地标示出来,即建立目标树图;
2)对目标树自上而下分层次一一对比打分,建立成对比较判断优选矩阵。
因素之间两两对比,对比采用相对尺度设要比较各准则C1,C2,C3……Cn对分析目标的重要性。
例如:
,
>0,
,其中
。
3)计算权重系数
第一步:
计算初始权重系数
,
公式:
接着计算归一化权重系数
,
公式:
第二步:
计算各个评价指标的组合权重系数;
第三步:
计算权重系数;乘积法求各层次评价指标的组合权重;
第四步:
对评价对象的总评价目标进行综合评估。
综合评分指数GI的计算公式:
其中Pi为第i个评价指标的测量值,m为评价指标的个数。
2、专家评分法
1)专家个人判断。
即分别征求专家个人意见,在专家各自单独给评价指标的相对重要性打分的基础上,进行统计处理,以确定各指标的权重。
优点:
专家打分时不受外界影响,有心理压力,可以最大限度地发挥个人创造能力。
缺点:
仅凭个人判断,易受专家知识深度与广度的影响,难免带有片面性。
2)专家会议。
即召开所有被挑选专家,以集体讨论的方式进行评分,然后再以统计手段确定各指标的权重。
优点:
可以交换意见,相互启发,弥补个人之不足。
缺点:
主要表现在易受心理因素的影响,如屈从于权威和大多数人的意见,受劝说性意见的影响,不愿公开修正已发表的意见等等。
实验方案(方法及步骤)
1、单一灾害分析
本过程以暴雨洪涝灾害的分析为主。
暴雨洪涝灾害位列湖北省自然灾害之首,每年给湖北省人民带来了巨大的物质财产损失和人员伤亡,是自然灾害研究和灾害防治的重点。
选择湖北省汛期大暴雨总日数、洪涝灾害总次数、汛期区域性暴雨次数三个指标进行评价,运用层次分析法确定三个指标的权重,通过对评价目标进行综合评价得到湖北省五个区域的暴雨洪涝灾害的等级。
运用层次分析法确定湖北省汛期大暴雨总日数(rainsum)、洪涝灾害总次数(floodsum)、汛期区域性暴雨次数(roznerain)三个指标的权重。
第一步:
确定三个指标间的优劣关系。
第二步:
计算三个指标的权重。
按公式
计算初始权重系数
得:
=2.4662,同理可得:
1.0000,
0.4055。
按公式
计算归一化权重系数
得:
=0.6370,
0.2583,
0.1047。
第三步:
在ARCGIS中对评价对象的总评价目标进行综合评估。
首先是加载湖北省五个区域的暴雨洪涝灾害数据。
下面先说明一下制作各个字段的专题图的相关步骤。
在图层管理器中的图层上右键,选择图层属性,在图层属性选项卡中选择Symbology,如下图所示:
在show的选项中选择UniqueValue,获得Value的独特专题图,在Valuefield中选择需要处理的字段,然后单击AddAllValues,即得到上图中的几个颜色不同的symbol,在ColorRamp中可以更换不同的颜色带,处理结果如下图:
同理,可以根据其他字段获取其专题图。
然后是将矢量图转换为栅格图。
因为使用weightedoverlay命令对三个指标求综合评估值要求的是栅格图层。
转换工具目录如下:
转换页面如下图所示:
其中Inputfeatures选择加载的湖北数据图层,field是指需要处理的字段,输出的栅格图层的值为该field的值。
我们依次选择数据中的各个分析指标进行转换。
转换得到的栅格图如下所示:
依次转换暴雨洪涝灾害中的各个分析指标:
得到三个栅格图层。
接着是三种分析指标依据权重叠加分析,用到的工具为weightedoverlay,工具目录和界面如下:
上图中则表示刚刚处理的三个栅格图层全部添加进去,
指的是栅格图层的占的权重,即用层次分析法所得到的权重。
ScaleValue是根据指标的等级赋予相应的值。
叠加分析后的结果如下图所示:
上图红色线框则是叠加分析新得到的栅格图层。
这样的效果显示不够清楚的看出等级,则需要换成替他的专题图。
过程还是如上面所说,在图层属性中设置即可,不在赘述。
过程如下图:
单击show选项中的Stretched即可,colorRamp则可改变栅格图的现实颜色。
结果如下:
这个就完成了暴雨洪涝灾害风险分析的整个过程。
根据三个指标的综合评估值计算结果将湖北省五个区域的暴雨风险程度分级,在ArcMap中采用渐变的颜色由浅到深表示受灾较轻到受灾较严重。
如上图所示湖北省的暴雨洪涝灾害受灾程度依次是鄂东北地区和江汉平原受灾最严重,鄂西南地区和鄂东南地区其次,鄂西北受灾最轻。
同理,干旱灾害、局地强对流灾害、雪灾及低温冷冻害灾害的分析过程类似。
各种灾害的分析指标的权重则用层次分析法来确定。
2、灾害综合分析
当分析四种灾害的综合风险时,则需要考虑四种风险各自所占有的权重。
在本模型的四种自然灾害中考虑了受灾人数、死亡人数、直接经济损失三个指标。
三个因子的权重分别是0.3,0.3,0.4,计算即可得到每种灾害的风险评估综合值。
对受灾人数(万人)的标准化处理,可将每种灾害的受灾人数除以四种灾害的受灾人数的总和得到百分比。
对死亡人数(人)的标准化处理,参照《自然灾害风险评估国际计划述评I一指标体系》中的计算公式:
特定灾种的死亡人数/百万暴露人口,计算相对死亡率,得到各种灾害的标准化的死亡人数。
然后可将每种灾害的标准化的死亡人数除以四种灾害的标准化的死亡人数的总和得到百分比。
对直接经济损失的标准化处理,可将每种灾害的直接经济损失除以四种灾害的直接经济损失的总和得到百分比。
1、2、3、4分别表示暴雨洪涝、干旱、局地强对流、雪灾及低温冷冻害四种灾害。
R1、R2、R3、R4分别表示暴雨洪涝、干旱、局地强对流、雪灾及低温冷冻害四种灾害的综合评估值。
按照四种灾害的综合风险评估值将湖北省五个区域分为重灾区、中度风险区、轻度风险区。
在ArcMap中将暴雨洪涝灾害、干旱灾害、局地强对流灾害、冷害灾害等级分布图进行权重叠加分析,权重如上图所示。
按照暴雨洪涝、干旱、局地强对流、雪灾及低温冷冻害四种灾害风险评估综合,得到下图。
如上图所示,湖北省四种灾害的综合等级分布依次是鄂西北综合灾害最轻,鄂西南较轻,江汉平原和鄂东南综合灾害比较严重,鄂东北最严重。
3.2.5实验结果分析
发布的地图服务由客户端来调用,客户端网页界面如下:
主要界面
单独字段专题图
暴雨等级图
局地强对流等级图
干旱等级图
雪灾等级图
综合评价等级图