




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、牟乃夏牟乃夏 ArcGIS Engine 地理信息系统开发教程地理信息系统开发教程配套配套PPT-第10章 交通网络分析目录 1. 网络数据集 2. 最短路径分析 3. 查找服务区分析 4. 最近设施点分析 5. OD成本矩阵分析 6. 多路径配送分析 7. 位置分配分析简介 在ArcGIS中,网络被分为交通网络和几何网络两种,分别使用Network Analyst和Utility Network Analyst工具条来完成网络分析。交通网络通常指路网,如公路网、铁路网以及公路、水路和铁路的混合网络等。虚拟的网络如社交网络、信息流网络等也可以使用交通网络分析的方法进行各自领域的专业分析。 本章
2、主要介绍交通网络分析的基本概念,基于交通网络进行开发的相关类及其对应的接口等内容,并以实例详细介绍了最短路径分析、查找服务区分析、最近设施点分析、OD成本矩阵分析、多路径配送分析以及位置分配分析等网络分析的实现方法。1. 网络数据集 网络数据集是ArcGIS使用“网络分析(Network Analyst)”工具条进行网络分析的数据基础,相对于表征城市管网的几何网络而言,它是一种更高级的连接模型,拥有更丰富的网络属性,能够展示更复杂的细节,而且可以模拟网络阻力、网络限制以及网络层次等复杂的网络特征,可以真实地模拟现实世界的交通网络。 网络数据集包含网络元素、网络连通性和网络属性等。1. 网络数据
3、集 网络元素 网络元素是网络数据集的组成要素,包括边、交汇点和转弯三种类型。 (1)边。通过交汇点连接到其它元素,同时也是资源流动的连接线。在路网中用以模拟道路。 (2)交汇点。连接两个或多个边的点,可以用于创建转弯、设置道路或交通网的连通性等。 (3)转弯。用来存储交汇点处两条边或多条边转弯的阻力信息,通常,通过创建转弯来增加通行成本或者标示禁止转弯等。网络中的边网络中的交汇点1. 网络数据集 网络连通性 网络数据集的连通性是判断网络中的资源是否可以从一条边流向另一条边的属性。 1)连通性组 连通性组是建立网络分析连通性的基础,也是建立多模式网络的基础。在一个网络数据集中,可以通过多个连通性
4、组来构建多模式网络以表达实际的交通情况。1. 网络数据集 2)连通策略 连通策略表示同一连通性组内或不同连通性组之间的边是以何种方式进行连通的? (1)位于同一连通性组内的边之间的连通策略 同一连通性组内的边可以以两种不同的方式进行连接,分别是端点连通性策略和任何折点连通性策略。1. 网络数据集 2)连通策略 (2)位于不同连通性组的边之间的连通策略 位于不同连通性组中的边只能通过两个连通性组共享的交汇点进行连通,连通策略分别是依边线连通性策略和覆盖连通性策略。1. 网络数据集 2)连通策略 (3)高程字段 网络数据集中,高程字段用于优化线端点处的连通性,通过判断网络元素的高程值是否相同来确定
5、它们是否连通(网络元素要位于同一连通性组中)。例如:在同一连通性组中,若两道路平交则高程值相同,此时交点处连通;若两道路立交则高程值不相同,此时交点处不连通。1. 网络数据集 网络属性 网络属性是网络数据集中控制网络运行能力的属性,主要包括 名称(name) 使用类型(usage type) 表示在网络分析过程中所使用属性的类型,包括成本、描述符、约束和等级。 单位(units) 通常定义成本属性的单位是距离(英里、米等)、时间(分钟、小时等)等。而定义描述符、等级和约束条件的单位则是未知的。 数据类型(data type) 数据类型可以是布尔型、整型、浮点型或双精度型。但是,成本属性不能是布
6、尔型,而约束条件始终为布尔型,等级始终是整型。 默认情况下使用(use by default)等2. 最短路径分析 相关类与接口 本节实例所涉及的类主要包括 NAContext类 NAClass类 NAClassFieldMap类 NAClassLoader类 NALayer类 NARouteSolver类等。2. 最短路径分析 NAContext类 该组件类是参与网络分析对象中最重要的一个对象,网络问题(如最短路径分析问题、最近设施点求解问题等)的定义和解决都要用到该对象,例如访问网络分析图层、创建网络分析解决对象等都要用到它。它实现了INAContext和INAContextEdit接口。
7、 1)INAContxt接口接口 该接口主要用于网络分析上下文的访问,在整个网络分析过程中,它很好的将NAClasses、NASolver、NetWorkDataset等类对象衔接在一起,从而完成分析任务。 2)INAContextEdit接口接口 该接口用于网络分析上下文对象的属性编辑。它实现了Bind方法,该方法用于对网络分析上下文与装载的网络数据集的绑定。2. 最短路径分析 NAClass类 该类是一个抽象类,在网络分析过程中,它由其他类实现,并存储在计算机内存中,用于存储网络分析过程中用作输入的要素和分析结果输出的要素。它实现了INAClass接口。该接口用于对NAClass类的操作,
8、它主要实现DeleteAllRows方法,该方法可快速清除NAClass类中的所有要素。 NAClassFieldMap类 该组件类被NAClassLoader类使用,用于自定义一种NAClass类和输入要素类(站点类Stops、障碍点类Barriers)字段间的映射关系。NAClassFieldMap类实现了INAClassFieldMap接口,该接口的set_MappedField方法用于建立源数据到NAClass类的映射。2. 最短路径分析 NAClassLoader类 该组件类用于加载NAClass类。NAClassLoader类实现了INAClassLoader接口,该接口用于装载网
9、络分析对象(如站点、障碍点等)。该接口主要有如下属性和方法。 NALayer类 该组件类为一个图层对象,用于网络分析问题的定义、解决以及结果的显示。例如提供最短路径分析结果的显示。该类实现了INALayer接口,该接口用于访问网络分析图层。 NARouteSolver类 该组件类用于执行路径分析(本实例为最短路径分析),并最终将求解的路径输出在地图上。该类实现了INASolver接口,该接口是所有网络分析的通用接口,用于网络分析上下文对象的创建与更新。2. 最短路径分析 实例详解 本实例实现采用自定义工具,将创建添加站点类AddNetStopsTool、添加障碍点类AddNetBarriesT
10、ool和最短路径解决类ShortPathSolveCommand,它们分别继承自BaseTool和BaseCommand基类,在这些类中需补全相关构造函数和鼠标事件等代码。这种实现方式的好处在于极大地提高了代码的重用性,另外如果将这些工具生成dll动态链接库,则可以在任意程序中引用它们来实现该工具的功能。 实例采用手动添加站点和障碍点的方式来实现最短路径的分析。最短路径分析代码的实现思路如下:(1)手动添加停靠点Stops和障碍点Barriers,并将其分别载入到Stops和Barries要素类中;(2)分别打开工作空间和网络数据集,并加载网络数据集;(3)创建NAContext网络数据集上下
11、文对象和最短路径分析求解对象NASolver;(4)分别从Stops要素类和Barries要素类中读取最短路径所要经历的停靠点和路径的障碍点并载入到NAClass类中,并将NAClass类中的这些点要素映射到网络拓扑中以创建最短路径分析图层;(5)加载最短路径分析图层以实现最短路径的显示。2. 最短路径分析实例详解程序实现步骤分为添加站点类、添加障碍点类、添加最短路径分析类和完善主界面等。1)添加站点类AddNetStopsTool该类继承自BaseTool基类,它实现了在地图中添加站点的功能。2)添加障碍点类AddNetBarriesTool该类在实现功能、添加方法以及接口使用等方面都与添加
12、站点类相似。它也继承自BaseTool基类。3)添加最短路径分析类ShortPathSolveCommand该类完成最短路径分析、向主界面加载网络数据集图层及最短路径分析图层等功能。此类继承自BaseCommand基类。4)完善主界面frmShortPathSolver类该类是系统主界面相关按钮(添加站点、添加障碍点、路径解决等)与它们的实现类(AddNetStopsTool、AddNetBarriesTool、ShortPathSolveCommand)进行交互的桥梁。系统通过在该类中调用上述类中的方法来实现最短路径分析。5)添加NetWorkAnalysClass类实例详细代码见程序3.
13、查找服务区分析 服务区分析是指查找在某一设施点一定阻抗范围内的区域,如查找到医院时间为5min、10min、15min的地区有哪些等。 相关类与接口 本节实例主要用到NAServiceAreaSolver组件类,该类用于查找在设施点一定阻抗范围内的区域。查询结果以面的形式显示出来,并可以显示路径。它实现了INASolverSettings和INAServiceAreaSolver接口。1.INASolverSettings接口该接口提供的一些属性用于对各种常用的网络分析求解对象进行设置,该接口主要有如下属性和方法。(1)ImpedanceAttributeName属性用于设置在网络分析过程中作
14、为阻抗的网络属性的名称。(2)RestrictionAttributeNames属性用于设置在网络分析过程中作为限制的网络属性的名称。2.INetworkAttribute接口该接口用于访问网络数据集中的属性,例如成本的时间或距离属性。该接口主要有如下属性和方法。(1)UsageType属性返回网络属性的使用类型,如成本、描述符、约束和等级等。(2)Name属性返回这个网络属性的名称,如时间、距离等。3.INAServiceAreaSolver接口该接口用于查找服务区分析。该接口主要有如下属性和方法。(1)DefaultBreaks属性; (2)MergeSimilarPolygonRange
15、s属性 (3)OutputPolygons属性;(4)OutputLines属性(5)OverlapLines属性; (6)SplitLinesAtBreaks属性(7)TravelDirection属性3. 查找服务区分析 实例详解 本例的程序实现思路(以下实例实现思路与此相似,不再赘述)如下: (1)分别打开工作空间和网络数据集,并且加载网络数据集; (2)创建NAContext网络分析上下文对象和分析求解对象NAServiceAreaSolver; (3)加载设施点要素类,并将其映射到网络拓扑中; (4)实现查找服务区分析; (5)读取分析结果表信息并显示。3. 查找服务区分析本例参数设
16、置内容包括【代价类型】、【默认中断】、【使用单行线限制】、【显示路径】等,参数设置解释如下:(1)【代价类型】包含Minutes(分钟)和Meters(米)两种,分别表示时间代价和距离代价。(2)【默认中断】表示在求解过程中,求解程序不会搜索阻抗值超过默认中断值的设施点。(3)【使用单行线限制】表示某些路段必须遵守“单向”约束。(4)【显示路径】表示在生成服务区的同时显示给定阻抗范围内所能到达的网络边。(5)其他的诸如【忽略无效位置】、【禁止U型转弯】、【行驶方向】等参数将在代码中直接设置。查找服务区分析运行结果4. 最近设施点分析 最近设施点分析是指通过计算网络中设施点和事件点之间的运行成本
17、,选择成本最小的行程,如查找距交通事故发生点10min内可以到达的医院等。 相关类和接口 本实例主要用到NAClosestFacilitySolver组件类,该类用于查找网络中事件点到设施点间运行成本最小的路径。它主要实现了INAClosestFacilitySolver接口,该接口用于最近设施点的分析求解,它包含DefaultTargetFacilityCount属性,该属性表示要查找的设施点的默认个数。4. 最近设施点分析实例参数设置,内容包括【代价类型】、【目标设施点的个数】、【默认中断】、【使用单行线限制】等,参数设置解释如下: (1)【目标设施点的个数】设置为1表示多个事件点在阻抗值
18、不超过中断值的范围内找到最近的一个设施点。 (2)【默认中断】设置为15表示搜索在15分钟内所能到达的设施点。 最近设施点分析运行结果实例详细代码见程序5. OD成本矩阵分析 OD成本矩阵用于在网络中查找和测量从多个起始点到多个目的地的最小成本路径。 最近设施点求解程序虽然分析速度方面较OD成本矩阵求解程序慢,但是它能够返回实际路径和驾车指示;OD成本矩阵求解程序可以更快地生成分析结果,但无法返回路径的实际形状和驾车指示。 OD成本矩阵分析运行结果实例参数设置,内容包括【代价类型】、【目标设施点的个数】、【默认中断】、【使用单行线限制】等。其中【目标设施点的个数】表示配送地的个数,16表示配送
19、地有16个,即图中方块的个数,图中圆圈代表出发地。6. 多路径配送分析 多路径配送分析是针对由多条配送路径共同完成指定任务的分析。例如大型货运公司有一车队在市区范围内进行货物的配送,可使用多路径配送分析来完成对车队中不同车辆行驶路径的安排。 相关类和接口 本实例主要用到NAVRPSolver组件类,该类提供的求解程序用于找出网络资源向多个停靠点(含有接收资源的限制条件,如接收时间限制、停靠位置限制等)流动的最佳路径,最终将以线要素的形式返回这条路径。它实现了INAVRPSolver接口,该接口主要包含以下属性和方法。(1)CapacityCount属性用于设置容量计数。例如,运输车辆存在最大载
20、重量和最大装载体积时,那么容量计数参数应设为2。(2)DistanceFieldUnits属性用于设置分析图层的子图层和表(网络分析类)的距离字段所使用的距离单位。(3)TimeFieldUnits属性用于设置分析图层的子图层和表(网络分析类)的时间字段所使用的时间单位。(4)TimeWindowViolationPenaltyFactor属性用于设置时间窗冲突重要性。其参数包含高、中、低三种,具体解释见下文。6. 多路径配送分析实例参数设置,内容包括【时间属性】、【距离属性】、【时间字段单位】、【距离字段单位】、【时间窗冲突重要性】和【使用单行线限制】等,实例参数解释如下: (1)【时间属性】设置是必选项,用于定义遍历网络元素时间成本的属性。 (2)【距离属性】设置是可选项,用于定义遍历网络元素距离成本的属性。 (3)【时间字段单位】表示分析图层的子图层或表(位于网络分析类中)的时间字段所用的单位,此单位不必与时间属性的单位相同。 (4)【距离字段单位】表示分析图层的子图层或表(位于网络分析类中)的距离字段所用的单位,此单位不必与距离属性的单位相同。 (5)【时间窗冲突重要性】包括高、中、低三个参数。它用于评定遵守时间窗以不引起冲突的重要性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖南司法警官职业学院单招职业技能测试题库及答案一套
- 2025年湖南机电职业技术学院单招职业技能测试题库含答案
- 2025年河南工业和信息化职业学院单招职业倾向性测试题库及答案1套
- 审计练习试题附答案
- 育婴员理论竞赛复习试题
- 2025年赣西科技职业学院单招职业适应性测试题库及参考答案
- 2025年湖南有色金属职业技术学院单招职业技能测试题库及答案1套
- 2025黑龙江省建筑安全员知识题库及答案
- 2025江西省建筑安全员B证考试题库
- 幼儿园一日活动流程培训总结 怎么写范文
- 【人教版化学】必修1 知识点默写小纸条(答案背诵版)
- 危险化学品目录(2024版)
- 脑卒中-脑卒中的康复治疗
- 疫情统计学智慧树知到答案2024年浙江大学
- 浙江省绍兴市各县区乡镇行政村村庄村名居民村民委员会明细
- 人教版八年级数学第二学期教学计划+教学进度表
- 油管、套管等规格对照表
- IEST-RP-CC0053
- 模糊逻辑与模糊推理
- 玉米收割机的设计(机械CAD图纸)
- 更高更妙的物理《摩擦角与自锁现象》精讲
评论
0/150
提交评论