ArcGIS网络分析(最短路径问题分析)
- 格式:doc
- 大小:696.50 KB
- 文档页数:6
基于GIS的城市道路网最短路径分析摘要运用GIS网络分析功能,针对城市道路网的特点,建立了基于路段连接的道路网络模型,并选择可达性作为道路权重对道路网进行了最短路径分析。
对经典的Dijkstra算法加以改进,提出了求解道路网任意两点间最短路径的算法,该算法搜索速度快,具有较强的适用性。
关键词最短路径;可达性;道路网0 引言随着计算机和地理信息科学的发展,地理信息系统因其强大的功能得到日益广泛和深入的应用。
网络分析作为GIS最主要的功能之一,在电子导航、交通旅游、城市规划以及电力、通讯等各种管网、管线的布局设计中发挥了重要的作用,通用的网络分析功能包括路径分析、资源分配、连通分析、流分析等。
网络分析中最基本和最关键的问题是最短路径问题,它作为许多领域中选择最优问题的基础,在交通网络分析系统中占有重要地位。
从道路网络模型的角度看,最短路径分析就是在指定道路网络的两节点间找出一条阻碍强度最小的路径。
根据阻碍强度的不同定义,最短路径不仅仅指一般地理意义上的距离最短,还可以引申到其它的度量,如时间、费用、线路容量等。
相应地,最短路径问题就成为最快路径问题、最低费用问题等。
因此,城市道路网作为一种大型网络设施有其本身的特征。
它一方面包含网络本身的拓扑特征;另一方面还包含了大量反应地理位置特征的几何数据。
本文根据道路网的特点,运用GIS网络分析功能对道路网络模型、道路的权重选择以及快速寻求路网中两节点间的最短路径算法分别进行了研究。
1 道路网模型及权重设置1.1 道路网模型建立城市道路网主要由众多道路相交、相连构成。
在纵横交织、错综复杂的道路网络中,道路间的地理位置关系相当复杂,一条道路可能与若干条道路相交相连,且其相交相连的模式复杂。
为了避免过多地考虑道路间的拓扑关系,抽取道路网中道路交叉路口作为分析对象,并对道路以交叉路口为结点进行分割,成为路段。
这样,整个网络图将由交叉路口点和路段组成,并定义交叉路口点为网络的结点,路段为网络的弧。
实验十五:最短路径分析一、实验目的1、掌握各种类型的最短路径分析;2、理解网络分析原理。
二、实验准备数据准备:City.mdb软件准备:ArcGIS Desktop9.x,ArcCatalog三、实验内容根据不同的要求,获得到达指定目的地的最佳路径,并给出路径的长度;找出距景点最近的某设施的路径。
1、在网络中指定一个商业中心,分别求出在不同距离、时间的限制下从家到商业中心的最佳路径;2、给定访问顺序,按要求找出从家出发,逐个经过访问点,最终到达目的地的最佳路径;3、研究阻强的设置对最佳路径选择的影响。
四、实验步骤启动ArcMap ,打开city. mdb ,双击city数据库,加载数据。
对点状要素place符号化:以HOME字段,1值为家,0值为商业中心。
具体步骤见操作视频:最短路径分析.exe图1 无权重参照的最短路径显示(1)无权重最佳路径的生成1)在网络分析工具条上,选择旗标工具,将旗标放在“家”和想要取得“商业中心”点上。
2)选择Analysis/Options命令,打开Analysis Options对话框,确认Weights和Weight Filter 标签项全部是None,这种情况下进行的最短路径分析是完全按照这个网络自身的长短来确定。
3)在Track Task文本框中选择Find path。
单击solve按钮。
显示最短路径(图1),这条路径的总成本显示在状态栏中。
(2)加权最佳路径生成1)在设施网络分析工具条下,点选旗标工具,将旗标分别放在“家”和想去的某个“商业中心”的位置上。
2)选择Analysis/Options命令,打开Analysis Options对话框(图2)进入Weights标签页,在边的权重上,全部选择长度权重属性。
图2 长度权重属性设置3)在Track Task文本枢中选择Find path,单击solve按钮,则以长度为比重的最短路径将显示出来(图3),这条路径的总成本显示在状态栏中。
ArcGIS软件应用实验6一、实验目的1、查找停靠点间的最快路径(最短路径)。
2、创建服务区面和创建OD成本矩阵。
二、实验内容1、查找一条按预定顺序访问一组停靠点时最快路径;2、创建一系列面,用来表示在指定时间内从一个设施点可达到的距离,称为服务区。
查找每个服务区中有多少个商店。
将识别出需要重新定位的仓库,以更好地为这些商店提供服务;3、创建一个“起始-目的地”成本矩阵,用于将货物从仓库运送到距离仓库十分钟车程范围内的所有商店。
三、实验步骤1. 准备工作(1)扩展模块中的网络分析图1(2)打开工具条中的网络分析图22. 使用网络数据集查找最佳路径路径分析概述:求解路径分析表示根据要求出的阻抗查找最快、最短甚至是最优的路径。
如果阻抗是时间,则最佳路线即为最快路线。
如果阻抗是具有实时或历史流量的时间属性,则最佳路线是对指定日期和时间来说最快的路线。
因此,可将最佳路径定义为阻抗最低或成本最低的路径,其中,阻抗由您来选择。
确定最佳路径时,所有成本属性均可用作阻抗。
可在路径分析中累积任意多个阻抗属性,但累积属性不对计算沿网络的路径造成任何影响。
例如,如果选择时间成本属性作为阻抗属性,并且希望累积距离成本属性,则仅使用时间成本属性来优化解。
路径分析类:路径分析图层由五种网络分析类组成。
●停靠点类该网络分析类用于存储路径分析中用作停靠点的网络位置。
“停靠点”图层包含四种默认符号:已定位停靠点、未定位停靠点、有错误的停靠点和有时间冲突的停靠点。
●路径类路径类存储通过分析生成的路径。
与其他要素图层相同,它的符号系统也可通过图层属性对话框进行访问和更改。
路径类是一个“仅输出”类;只有分析完成后它才不为空。
找到最佳路径后,即会在NetworkAnalyst窗口中显示该路径。
●点障碍、线障碍和面障碍障碍用于临时限制网络各部分、向网络各部分添加阻抗以及调整网络各部分的阻抗大小。
创建新的网络分析图层时,“障碍”类为空。
只有将对象添加到该类后,它们才不会为空-但不需要添加障碍。
ArcGISFlex+GP服务完成最短路径分析最近用arcgis GP服务做了几个Demo,为了不丢失自己的实践经验,我决定把过程记下来(一)最短路径分析以上为效果图,在此感谢/newOperate/html/5/51/514/15549.h tml博文给我的启发,我用自己的数据做了实验,并且汉化了路径描述(因为从英文直接汉化,因此可能有点Ehinese的不足),下面描述整个模型制作和程序实现过程:(1)数据准备这里必须是使用网络数据集,我从ShapeFile生成,在ArcCatalog里面操作,首先建立一个叫TestRouting的空文件夹,同时建立Scrach和ToolData子文件夹,Scrach用来存放模型生成的脚本结果,ToolData饱含制作模型的原数据,再建立一个叫TestRouting的工具箱,像下图这样子:在ToolData文件夹里放入我们的实验数据,并制作网络数据集,当然这个实验数据不是简单的道路数据,包括一些网络数据集必须的字段(zbcov.shp),单击右键,选择New NetworkDataset...一些基本设置都是默认的,但是有一点必须注意,在下面这个窗口中,需要对elevation数据做以下设置,field要选择自己数据中对应的字段。
一路next,生成下面的两个数据,zbcov_ND和zbcov_ND_Junctions。
(2)模型制作在ArcMap中打开zbcov_ND,并在ArcToolBox中加入刚才新建的TestRouting,在TestRouting上点击右键,new一个model,命名为ShortestRoute,按照下面的pic制作最短路径分析的模型.制作模型需要注意很多,直接用Arcgis例子里的当然不是不行,但是制作模型本来也是一种乐趣,并且有助于理解ArcGIS的一些算法过程,由于我自己在这个过程碰到了很多问题,因此打算一步步把过程写下来。
首先要加入Network 的扩展模块,Tools->Extension,选择Network Analyst复选框。
ArcGIS ⽹络分析[2.1]最短路径最短路径求解【如果看到此博客还没有⽹络数据集的,请参考第⼀章的内容,,看⽬录】最短路径,是什么最短?时间最短?距离最短?什么距离?路程距离?考虑到拥堵问题,限速问题,换乘问题,在现实的最短路径远远⽐计算机中的最短路径要复杂,因为要考虑的因素太多了。
这些因素就叫作最短路径求解过程中的“阻抗”,和电阻阻碍电流类似。
最短路径是后⾯⼏个分析类型的基础,只有求得了最短路径,才知道能覆盖多⼤地⽅(服务区)、事故点与最近设施的路径怎么⾛(最近设施)等。
在上⼀章,就已经有了最简单的路径分析:单⼀的道路⽹,阻抗仅仅为公路⽹的长度。
在这⾥不讨论最短路径的内部算法,似乎有⼤佛说过,ESRI是⽤的Dijkstra算法的变种算法。
最短路径中有什么元素呢?换句话说,最短路径要什么东西才能分析?途径点、障碍。
最短路径输出了什么?当然就是最短路径的那条线啊!换成图的形式,就是这样⼦。
输⼊必选参数[途径点],可选参数:充当障碍的[点线⾯],基于连通策略和阻抗,就能计算出最短路径。
什么是障碍呢?例如,某条路正在封闭施⼯,那施⼯的那个地⽅就是障碍,这⾥是不能通⾏的,就代表最短路径是不会⾛过障碍的。
路径分析常⽤设置在这⾥打开⽹络分析图层的属性窗⼝找到分析设置选项卡,就会有如下图:输⼊元素输出元素途径点障碍最短路径经常会使⽤到的设置是:阻抗、限制、⽅向、交汇点的U形转弯、这⼏个。
阻抗很简单,分析的时候经过这条路的花费成本,可以这么简单的理解。
可以是时间、平均消耗体⼒、道路长度等。
限制限制主要有两种:转弯限制和单⾏线限制。
有的⼗字路⼝会有禁⽌转向左边或者右边,或者⼗字路⼝等红绿灯的时间⽐较长的情况,这个就是转弯限制。
转弯限制怎么来的呢?当⽹络数据集中加⼊了转弯要素类的时候,这个复选列表就可以选择了。
有关如何制作转弯要素类,请跳到第四章。
单⾏线,有的道路只能⼀个⽅向⾛,不能来回⾛,这也是很常见的。
⽅向这个是导航设置。
ArcGIS网络分析(最短路径问题分析)第一篇:ArcGIS网络分析(最短路径问题分析)网络分析(最短路径问题分析)一、实验目的:理解最短路径分析的基本原理,学习利用arcgis软件进行各种类型的最短路径分析的操作。
二、实验准备1、实验背景:最短路径分析是空间网络分析中最基本的应用,而交通网络中要素的设置对最短路径的选择有着很大的影响。
实验要求根据不同的权重,给出到达指定目的地的路径选择方案,并给出路径长度。
λ在网络中指定一个超市,要求分别求出在距离、时间限制上从家到超市的最佳路径。
λ给定访问顺序,按要求找出从家经逐个地点达到目的地的最佳路径。
2、实验材料:软件:ArcGIS Desktop 9.x,实验数据:文件夹ex6中,一个GeoDatabase地理数据库:City.mdb,内含有城市交通网、超市分布图,家庭住址以及网络关系。
三、实验内容及步骤首先启动ArcMap,选择ex6city.mdb,再双击后选择将整个要素数据集“city”加载进来,然后将“place”点状要素以“HOME”字段属性值进行符号化,1值是家,0值是超市。
第1步无权重最佳路径的选择λ加载“设施网络分析”工具条(“视图”>>“工具条”,勾选“设施网络分析”),点选旗标和障碍工具板下拉箭头,将旗标放在家和想要去的超市点上。
第2步加权最佳路径选择λ在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在家和想去的某个超市点上。
λ选择“分析”下拉菜单,选择“选项”按钮,打开“分析选项”对话框,选择“权重”标签页,在“边权重”上,全部选择长度“length”权重属性。
λ点选“追踪任务”下拉菜单选择“查找路径”。
单击“执行”键,则以长度为比重为基础的最短路径将显示出来,这条路径的总成本将显示在状态列。
λ上述是通过距离的远近选择而得到的最佳路径,而不同类型的道路由于道路车流量的问题,有时候要选择时间较短的路径,同样可以利用网络分析进行获得最佳路径。
网络分析算法的实现,又能够在节约存储空间的前提下根据需要扩充数据,对交通网络进行综合分析。
然后是网络搜索,主要依据求解单源点间最短路径的Dijkstra算法思想,同样也可以对其进行优化改进以提高效率。
应用到的基本工具Arc mapView/toolbars/utility network analyst工具条操作流程图(尽量为图解模型)操作步骤(方法)1、对各个图层的属性表及其投影信息进行查看与了解,了解utility networkanalyst工具条中各个选项的用处。
2、最短路径的选择(1)首先打开Arc Map选择E:\Chp7\Ex2\city.mdb再双击后选择将整个要素数据进来。
然后将place点状要素以HOME字段属性值进行符号化,1值是家,0值是超市,如图1。
图1(2)在place图层上右击label features,使name字段显示在图层中。
3、最短路径的求取无权重最佳路径的选择1)在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在家和想要去的超市点上。
2)确认在Analysis下拉菜单中的Options按钮打开的Analysis Options对话框中的weight和weight filter标签项全部是none,这样使得进行的最短路径分析是完全按照这个网络自身的长短来确定的。
3)点选追踪工作(Track task)下拉菜单选择寻找路径(find path)。
单击solve键,则最短路径将显示出来,这条路径的总成本将显示在状态列。
图2 无权重最佳路径的选择加权最佳路径选择1)在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在家和想去的某个超市点上。
2)选择Analysis下拉菜单,选择Option按钮,打开Analysis Option对话框,选择Weight标签页,在边的权重(edge weight)上,全部选择长度(length)权重属性。
浅谈GIS中网络分析与最短路径的实现专业:交通信息工程及控制本科生:程海峰主导老师:林科摘要网络分析作为GIS的重要功能在电子导航、交通管理、城市规划、管线的布局设计中发挥了重要的作用。
本文侧重于从网络拓扑关系的获取到最短路径算法的实现,为进一步研究GIS中网络分析的高效访问奠定基础。
文章首先介绍了网络拓扑数据模型的一些基本概念,根据已有的研究经验,提出了自己有关网络数据模型中最基本的两个概念(网线和结点)的理解。
在这个框架之下,又分析了网络拓扑关系的建立过程,得出了网络拓扑关系获取的一般过程。
第二部先介绍了最短路径算法选择的有关问题,通过查阅有关文献发现,目前解决系统最短路径问题应用最为广泛的是Dijkstra算法的思想。
最后阐述了有关经典Dijkstra算法的主要思想并利用有关数据结构方面的知识写出了具体算法的实现过程。
关键词:网络拓扑网络数据模型Dijkstra算法目录摘要 (I)2. 网络拓扑关系的建立.......................................................................................................................... - 2 -2.1网络数据模型的基本概念.. (2)2.2网络拓扑关系的获取 (2)3. 最短路径算法...................................................................................................................................... - 5 -3.1算法选择 (5)3.2传统D IJKSTRA算法的主要思想 (5)3.3经典D IJKSTRA算法的实现 (6)参考文献 .................................................................................................................................................... - 8 -附录 ........................................................................................................................................................ - 9 -1. 引言随着地理信息系统产业的建立和数字化信息产品在全世界的普及,地理信息系统已经深入到各行各业。
ArcGIS中最短路径的实现(二)-电脑资料上次介绍了用几何网络实现的“最短路径”,这次用网络数据集实现真正的最短路径功能,跟上次一样,先处理下数据,。
1、先打开ArcCatalog,连接到目标文件夹,假定该文件下有一个名为road的道路图层。
2、在road图层上右键新建一个网络数据集,并按照其默认设置直至完成。
3、打开该地图的工作空间,把刚才新建的网络数据集添加工作空间中。
4、在网络分析菜单中选择新建最近设施点。
这时在工作空间里,可以看到多了一个名为“Closest Facility”的图层。
它下面还有4个子图层,名字分别为“Facilities”,“Incidents”,“Barriers”,“Routes”。
“Facilities”就是设施点图层,也就是目的点,“Incidents”的意思就是出发点,“Barriers”是障碍点,意思就是地图某条道路附近有一个障碍点,如果障碍点与道路距离在容限范围内,则表示此道路不通,“Routes”就是最终的结果。
这样我们编程实现最短路径的思路就出现了:1、添加出发点。
2、添加目的点。
3、生成最优路径,获取结果。
这里的添加出发点或者目的点,是往“Facilities”或“Incidents”图层上添加元素。
获取结果也是从“Routes”中获取Polyline。
往“Facilities”或“Incidents”图层上添加元素用到的主要方法是INALocator的QueryLocationByPoint函数,生成路径主要接口是INASolver和它的Solve方法。
获取结果是按属性查找,因为“Routes”类其实就是一个图层类,只不过只是存在于内存。
1 CMapControlDefault m_map;2 IPointCollectionPtr m_ipPointCollection;34 ILayerPtr ipLayer = m_map.GetLayer(0); // 网络数据集5 INALayerPtr ipNaLayer = ipLayer;6 if (NULL == ipNaLayer)7 {8 return;9 }1011 INAContextPtr ipNaContext;12 HRESULT hr = ipNaLayer->get_Context(&ipNaContext);13INAClassLoaderPtr ipNAClassLoader(CLSID_NAClassLoader);14 INALocatorPtr ipNALocator = NULL;15 hr = ipNaContext->get_Locator(&ipNALocator);16 ipNALocator->put_SnapToleranceUnits(esriMeters);17 ipNALocator->put_SnapTolerance(200);18 ipNaContext;19 hr = ipNAClassLoader->putref_Locator(ipNALocator);2021 INamedSetPtr ipNamedSet = NULL;22 ipNaContext->get_NAClasses(&ipNamedSet);2324 CString szName = "Facilities";25 BSTR bstrName = szName.AllocSysString();26 INAClassPtr ipNAFacilitiesClass = NULL;27hr = ipNamedSet->get_ItemByName(bstrName, (IUnknown**)&ipNAFacilitiesClass);28 szName = "Incidents";29 bstrName = szName.AllocSysString();30 INAClassPtr ipNAIncidentsClass = NULL;31hr = ipNamedSet->get_ItemByName(bstrName,(IUnknown**)&ipNAIncidentsClass);32 szName = "CFRoutes";33 bstrName = szName.AllocSysString();34 INAClassPtr ipNARoutesClass = NULL;35hr = ipNamedSet->get_ItemByName(bstrName, (IUnknown**)&ipNARoutesClass);3637 INALocationPtr ipNALocation1(CLSID_NALocation);38 INALocationPtr ipNALocation2(CLSID_NALocation);39 ipNAClassLoader->get_Locator(&ipNALocator);40 IPointPtr ipBeginPoint(CLSID_Point);41 m_ipPointCollection->get_Point(0, &ipBeginPoint);42 IPointPtr ipEndPoint(CLSID_Point);43 m_ipPointCollection->get_Point(1, &ipEndPoint);44 IPointPtr ipPoint1(CLSID_Point);45 IPointPtr ipPoint2(CLSID_Point);46 double dbLVal = 0.0;47ipNALocator->QueryLocationByPoint(ipBeginPoint, &ipNALocation1, &ipPoint1, &dbLVal);48ipNALocator->QueryLocationByPoint(ipEndPoint, &ipNALocation2, &ipPoint2, &dbLVal);4950 INALocationObjectPtr ipNALocationObject = NULL;51 IFeatureClassPtr ipFeatureClass = ipNAIncidentsClass;52 IFeaturePtr ipFeature = NULL;53 ipFeatureClass->CreateFeature(&ipFeature);54 IRowSubtypesPtr ipRowSubtypes = ipFeature;55 ipRowSubtypes->InitDefaultValues();56 ipFeature->putref_Shape(ipBeginPoint);57 ITablePtr ipTable = NULL;58 ipFeature->get_Table(&ipTable);59 long nIndex = 0;60 szName = "Sequence";61 bstrName = szName.AllocSysString();62 ipTable->FindField(bstrName, &nIndex);63 VARIANT var_int;64 var_int.intVal = 1;65 var_int.vt = VT_INT;66 ipFeature->put_Value(nIndex, var_int);67 szName = "Name";68 bstrName = szName.AllocSysString();69 ipTable->FindField(bstrName, &nIndex);70ipFeature->put_Value(nIndex, COleVariant("Start Point"));71 ipNALocationObject = ipFeature;72 ipNALocationObject->put_NALocation(ipNALocation1);73 ipFeature->Store();74 IFieldsPtr ipFields(CLSID_Fields);75 hr = ipTable->get_Fields(&ipFields);76 long nFieldCount = 0;77 hr = ipFields->get_FieldCount(&nFieldCount);78 for (int k = 0; k < nFieldCount; k++)79 {80 IFieldPtr ipField(CLSID_Field);81 ipFields->get_Field(k, &ipField);82 BSTR bstrFieldName;83 ipField->get_Name(&bstrFieldName);84 CString szFieldName = bstrFieldName;85 }8687 ipFeatureClass = ipNAFacilitiesClass;88 ipFeatureClass->CreateFeature(&ipFeature);89 ipRowSubtypes = ipFeature;90 ipRowSubtypes->InitDefaultValues();91 ipFeature->putref_Shape(ipEndPoint);92 ipTable = NULL;93 ipFeature->get_Table(&ipTable);94 nIndex = 0;95 szName = "Sequence";96 bstrName = szName.AllocSysString();97 ipTable->FindField(bstrName, &nIndex);98 var_int.intVal = 2;99 ipFeature->put_Value(nIndex, var_int);100 szName = "Name";101 bstrName = szName.AllocSysString();102 ipTable->FindField(bstrName, &nIndex);103ipFeature->put_Value(nIndex, COleVariant("End Point"));104 ipNALocationObject = ipFeature;105ipNALocationObject->put_NALocation(ipNALocation2);106 ipFeature->Store();107108 INAClosestFacilitySolverPtr ipNACFSolver = NULL;109 INASolverPtr ipNASolver = NULL;110 ipNaContext->get_Solver(&ipNASolver);111112 IGPMessagesPtr ipGPM(CLSID_GPMessages);113 ITrackCancelPtr ipTrackCancel(CLSID_TrackCancel);114 VARIANT_BOOL bIsPartialSolution;115ipNASolver->Solve(ipNaContext, ipGPM, ipTrackCancel, &bIsPartialSolution);116117 szName = "CFRoutes";118 bstrName = szName.AllocSysString();119 ipNARoutesClass = NULL;120hr = ipNamedSet->get_ItemByName(bstrName, (IUnknown**)&ipNARoutesClass);121122IFeatureClassPtr ipFeatureClassRoutes = ipNARoutesClass;123 IFeatureCursorPtr ipFCursor = NULL;124 IQueryFilterPtr ipQueryFilter(CLSID_QueryFilter);125 CString szQueryFilter("ObjectID > 0");126 BSTR bstr_QueryFilter = szQueryFilter.AllocSysString();127 ipQueryFilter->put_WhereClause(bstr_QueryFilter);128 VARIANT_BOOL bCycle = VARIANT_FALSE;129 try130 {131 ipFeatureClassRoutes->Search(ipQueryFilter, bCycle, &ipFCursor);132 }133 catch (CException* e)134 {135 CString szErrorMsg;136e->GetErrorMessage(szErrorMsg.GetBuffer(MAX_PATH),MAX_PATH);137 szErrorMsg.ReleaseBuffer();138 e->Delete();139 szErrorMsg += "\n";140 OutputDebugStr(szErrorMsg);141 }142 catch ()143 {144OutputDebugStr("An Unknowned Exception Occurred!\n");145 }146147 IFeaturePtr ipLineFeature = NULL;148 hr = ipFCursor->NextFeature(&ipLineFeature);149 while (ipLineFeature != NULL)150 {151 IGeometryPtr ipGeometry = NULL;152 IPolylinePtr ipPolyLine = NULL;153 ipLineFeature->get_Shape(&ipGeometry);154 esriGeometryType type;155 ipGeometry->get_GeometryType(&type);156 if (type == esriGeometryPolyline)157 {158 ipPolyLine = ipGeometry;159 AddPolyline(ipPolyLine, 4);160 }161 hr = ipFCursor->NextFeature(&ipLineFeature);162 }163 IActiveViewPtr ipActiveView = NULL;164 ipActiveView = m_map.GetActiveView();165 ipActiveView->Refresh();。
网络分析(最短路径问题分析)
一、实验目的:
理解最短路径分析的基本原理,学习利用arcgis软件进行各种类型的最短路径分析的操作。
二、实验准备
1、实验背景:
最短路径分析是空间网络分析中最基本的应用,而交通网络中要素的设置对最短路径的选择有着很大的影响。
实验要求根据不同的权重,给出到达指定目的地的路径选择方案,并给出路径长度。
在网络中指定一个超市,要求分别求出在距离、时间限制上从家到超市的最佳路径。
给定访问顺序,按要求找出从家经逐个地点达到目的地的最佳路径。
2、实验材料:
软件:ArcGIS Desktop 9.x ,
实验数据:文件夹ex6中,一个GeoDatabase地理数据库:City.mdb,内含有城市交通网、超市分布图,家庭住址以及网络关系。
三、实验内容及步骤
首先启动ArcMap,选择ex6\city.mdb,再双击后选择将整个要素数据集“city”加载进来,然后将“place”点状要素以“HOME”字段属性值进行符号化,1值是家,0值是超市。
第1步无权重最佳路径的选择
加载“设施网络分析”工具条(“视图”>>“工具条”,勾选“设施网络分析”),点选旗标和障碍工具板下拉箭头,将旗标放在家和想要去的超市点上。
第2步加权最佳路径选择
在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在家和想去的某个超市点上。
选择“分析”下拉菜单,选择“选项”按钮,打开“分析选项”对话框,选择“权重”标签页,在“边权重”上,全部选择长度“length”权重属性。
点选“追踪任务”下拉菜单选择“查找路径”。
单击“执行”键,则以长度为比重为基础的最短路径将显示出来,这条路径的总成本将显示在状态列。
上述是通过距离的远近选择而得到的最佳路径,而不同类型的道路由于道路车流量的问题,有时候要选择时间较短的路径,同样可以利用网络分析进行获得最佳路径。
第3步按要求和顺序逐个对目的点的路径的实现
在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标按照车辆访问的顺序逐个放在点上。
选择“分析”下拉菜单,选择“选项”按钮,打开“分析选项”对话框,选择“权重”标签页,在“边权重”上,全部选择长度“length”权重属性。
点选“追踪任务”下拉菜单选择“查找路径”。
单击“执行”键,则从起点按顺序逐一经过超市最后回到家的最短有效路径将显示出来,这条路径的总成本将显示在状态列。
同样是经过这11个地点,换成权重是时间的,由于道路车流量的不同,如在市中心车流量特别大,车速慢,故而为节约时间,所以使得路径发生很大的改变。
第4步阻强问题
这里的阻强是指网络中的点状要素或线状要素因为实际中遇到的例如修路,或那个时段车辆饱和,十字路口发生事故等一些缘故而使得要素不可运行,这时原来获得的最短路径就需要进行修正,具体操作如下:修路的情形出现,即某个路段不可运行,这在网络中的表现是设置阻强,方法有两种,一种是永久性的,直接将网络边要素的属性修改成不可运行。
选择要进行设置的边要素,将其属性中的“Enabled”字段改成“False”即可;另一种是暂时性的,设置边要素障碍。
即利用边要素障碍添加工具将边设置。
4、心得体会:。