1、基于 GIS 的街区紧急疏散模拟实验目的(1) 掌握利用 GIS 的网络分析功能制定科学的疏散计划预案,充分利用现用的交通网络与人防设施。(2) 掌握使用 ArcMap 创建具备特定分析功能的 Model。(3) 掌握基于 ArcServer 相关的编程方法,利用编程实现紧急疏散功能。实验条件(设备、数据等)实验数据:背景地图 SchoolMap,道路网图层 school_road。软件准备:ArcGIS Desktop、ArcGIS server、ArcGIS Silverlight API 2.1、Visual Studio 2010、Silverlight 4。实验原理1疏散要素疏散计划
2、的核心内容是解决以下决策优化问题:疏散多少人,疏散哪些人,什么时候疏散,以及疏散到什么地方,这些都要从全局出发,周密计划,妥善安排。疏散计划最优化的目标是发挥整个疏散系统的最大效率。疏散效率的评价指标有多种表示方法:如总体疏散时间,疏散距离,灾害发生前到达安全目的地的人数以及疏散网络的可靠性等等。因此疏散计划优化在数学上是一个多目标优化问题。2疏散模型根据疏散要素以及疏散的特点可以把其模型简化为如下图所示:则可以通过其建立一个最优的疏散分配模型。假设需要疏散的事故点为 m 个,每个事故点数为 ia (i=1,2.m) ;假设有 n 个疏散目的地,每个疏散目的地所能容纳的最多人数为 jb (j=
3、1,2n) 。这样就构成了一个最优疏散的问题。模型如下:上述模型中,Z(x)为总的疏散距离;i=1 , 2 . m ;j=1 , 2 . n ;ijX从事故点 ia到疏散目的地 jb的疏散量; ijl事故点 ia到疏散目的地 jb的长度; ia各个事故点的待疏散人数; j各个疏散目的地能容纳的人数。这种模型可以找到其对应的原始模型运输问题。运输问题是为了把某种产品从若干个产地调运到若干个销地,已知每个产地的供应量和每个销地的需求量,如何在许多可行的调运方案中,确定一个总运输费或总运输量最少的方案。为了降低解算的复杂度,避免大量的计算,采用解决运输问题的方法来解算疏散模型中的人数的分配问题。3模
4、型解算方法解决运输问题的快速算法为表上作业法。表上作业法是指用列表的方法求解线性规划问题中运输模型的计算方法。是线性规划一种求解方法。当某些线性规划问题采用图上作业法难以进行直观求解时,就可以将各元素列成相关表,作为初始方案,然后采用检验数来验证这个方案,否则就要采用闭合回路法、位势法等方法进行调整,直至得到满意的结果。其中还要判断表上作业法得到的初始解是否退化,如果退化则要补零。模型解算流程如下:通过解算,就可得到具体的分配方案。在本模型中编写一个用于解决运输问题的类,如上图,传入的变量为疏散目的地的人数、事故点人数、还有成本矩阵,该类的作用就是根据这三种参数输出调运方案,得到的结果为某地向
5、某地运输多少人。其中初始解的解算方法为最小元素法,检验数的计算采用闭回路法。实验方案(方法及步骤)1、使用 ArcMap 制作 Model因为疏散模型的解决方案是依靠运输问题实现的,该模型需要的参数为:事故点的人数,疏散目的地的容量,以及事故点到疏散目的地的路程或者时间。这三种参数需要从地图图层上获取,部分需要用户的输入。客户端 API 只提供了基本的地图操作接口,因此无法进行高级的地理分析。由于 API 中有各种 Task 分析,所以只需借助其 Task 就能实现疏散的模型。本模型主要使用的是 Geoprocessing(简称 GP) Task 和 Query Task,即地理处理分析和路径
6、分析。由服务端发布各种服务,客户端输入参数来调用其服务。GP Server 主要的注意点在于模型的制作,可以简单的拖拉 ArcMap 本身提供的工具来组合模型,也可以使用 Arc Engine 编写模型,或者利用 Python 脚本语言来编写模型。利用 Arcgis Server 发布 GP Server,然后查看其相应的参数,了解参数后,并可在客户端调用了。但值得注意的是,GP Server 处理的方式有两种,根据其同步和异步的差别,选择不同的操作来执行 GP Task,然后获取处理结果。发布 GP Server 来处理最短路径,需要注意的是把模型拖入地图中,发布带有地图的 GP Serve
7、r,将最短路径的图层添加到地图相应的图层上。模型中用到的 Query task 比较简单,查询图层的相关信息,在本模型中需要获取疏散目的地的人口容量。本实验需要用到的模型为成本矩阵模型和最短路径模型,利用 ESRI 提供的 ArcMap 软件制作而成。成本矩阵模型的作用是获得各个事故点的到各个疏散目的地的距离或者时间,而组成的矩阵。该模型的设计如下:该模型的输入要素为:道路网、事故点和疏散目的地。输出的要素为距离矩阵或者时间矩阵。通过 Arc Server 发布为服务,然后通过客户端来调用便可获得其成本矩阵了。最短路径模型的目的在于获取事故点到疏散目的地的最短路径,该模型图如下图所示:最短路径
8、模型的输入参数为停靠点,在疏散模型中则为事故点和疏散目的地。通过ArcServer 发布 GP 服务,在客服端调用,便可实现最短路径的分析了。下面重点介绍上述模型制作过程,利用 ArcMap 中的 ModelBuild。(1)数据准备原始数据如上图所示为:校园基础地图相关图层。主要的是各个道路要素图层。在ArcCatalog 软件中把上图三个道路要素图层生成 New Network Dataset 得到:school_road 道路网络图层。并且在 ArcCatalog 软件中建立一个名称为 ODMatrix 工具箱,如上图所示。(2)模型制作在 ArcMap 中打开 school_road,
9、并在 ArcToolBox 中加入刚才新建的 ODMatrix,并在ODMatrix 上点击右键,new 一个 model,命名为 ODCostMatrix,按照上面的模型图制作成本分析的模型。制作模型需要注意很多,首先要加入 Network 的扩展模块,Tools-Extension,选择Network Analyst 复选框。A、将 Network Analyst Tools 工具箱打开,选择 Analysis-Make Route Layer,拖入Model 窗口,当然如果找不到这个工具,可直接在 Search 里面搜就行了。双击 Make Route Layer 工具,在 Input
10、analysis network 中选择我们在 ArcMap 中添加的图层streets_ND(名字可自定义,以下截图图层名均与原始数据名有出入,但不影响实际) ,其他的选项可以都选择默认。这时在模型中,输入项变成蓝色,工具变成黄色,输出为绿色。B、再找到 Add Locations 工具,拖入 Model 窗口。右键单击工具,选择 Make Variable-From Parameter- Input locations。C、在 Input locations 这个输入项上单击右键,选择 properties.,给这个数据项做如下参数设置,data type 是 Feature Set,sy
11、mbology from 选择streets_ND_Junctions.shp,其实后面这个是确定你在输入 Feature 时的样式和包含字段,可以选择 ArcGIS 里面保存的样式,这个为了方便随便选的一个点数据层,表明样式随选择的数据层而定,加入的点数据和 streets_ND_Junctions 的字段是一样的。D、双击 Add locations 工具,Input network analysis layer 选择之前生成的 Route 层,Sub layer 为 Origins,表明我们要在 Route 层加入成本矩阵的源点,此外,还有barriers,表明障碍物。Input loc
12、ations 为上一步加入的层,其他的默认。E、在 Model 窗口内再拖一个 Add Locations 工具,步骤和添加源点的步骤差不多,是为成本矩阵分析添加目的地的过程。需要注意的是 sub layer 为 Destinations。F、在 Model 窗口拖入 Solve 工具,双击,在 Input network Analysis layer 中选择上一步生成的 Network Analyst Layer 图层,如下图。G、生成的结果处理,一种直接把路径结果作为附加图层显示出来,将 select data 工具拖入 Model 窗口,select data 工具用 直接与上一步生成的
13、 Network Analyst Layer(2)连起来,双击 select data 工具,Child Data Element (optional)选择 Lines,表明输出的结果图层是直线。如下图:H、开始做模型的时候以为这样就完事了,其实疏忽了一个非常容易丢掉但又很重要的环节,就是确定模型的输入输出项,如果我们不做这一步,模型就是空的。这个模型有两个输入项,Origins(设置源点) ,Locations(设置目的地),一个输出项 Line,street_ND 其实也是一个输入项,但是因为我们制作模型时就已经设置了,不作为用户输入。设置方式如下,右键单击设置项,选择 Model Par
14、ameter,在起右上方显示字母“P” 。这样整个模型就制作完成了。(3) 、模型测试保存刚生成的模型,在工具箱中双击模型,可以看到模型框框。在 ArcMap 的图层上点击,输入两个站点和一个障碍,运行后就可以看到结果作为一个图层显示出来。(4) 、发布 GP 服务将刚刚做好的 ODMatrix 模型拖入 ArcMap 中的 Layers 里,作为第一个图层,school_road 作为分析层为第二层,保存为一个 mxd(EvacuationService.mxd) 。同时校园基础地图 SchoolMap 原数据单独保存为一个 mxd(EvacuationBasemap.mxd) ,作为路径分
15、析的底图,如果有其他数据也可以加进去,这个不是重点。EvacuationBasemap 直接发布为一个 MapService,不在赘述,用 ArcCatalog 或者ArcServer Manager 发布即可;EvacuationService 发布为一个 GeoprocessingService,具体步骤如下:A、发布服务之前要 Add ArcGIS Server,然后 Add GIS Service,Type 选择Geoprocessing Service,并给服务起一个名字。其他的默认就行。B、选择 Synchronous(同步)执行方式,发布方式选择发布一个 map 的方式,并在 Data Frame 中选择 Layers,选中 Show Messages 复选框。至于 Synchronous 和 Asynchronous 的区别,前者是同步执行,用于不很复杂的 GP 服务,效率较高;后者是异步执行,不做赘述。其他的选择默认设置,完成。(5) 、测试 GP 服务打开一个空的 ArcMap,从 ArcCatalog 中直接把刚刚发布的 BaseMap 拖入 Layers,在
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。