ArcEngine教程-第10章__交通网络分析课件.pptx

上传人:小飞机 文档编号:3958507 上传时间:2023-03-29 格式:PPTX 页数:26 大小:904.34KB
返回 下载 相关 举报
ArcEngine教程-第10章__交通网络分析课件.pptx_第1页
第1页 / 共26页
ArcEngine教程-第10章__交通网络分析课件.pptx_第2页
第2页 / 共26页
ArcEngine教程-第10章__交通网络分析课件.pptx_第3页
第3页 / 共26页
ArcEngine教程-第10章__交通网络分析课件.pptx_第4页
第4页 / 共26页
ArcEngine教程-第10章__交通网络分析课件.pptx_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《ArcEngine教程-第10章__交通网络分析课件.pptx》由会员分享,可在线阅读,更多相关《ArcEngine教程-第10章__交通网络分析课件.pptx(26页珍藏版)》请在三一办公上搜索。

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)连通性组连通性组是建立网络分析连通性的基础,也是建立多模式网络的基础。在一个网络数据集中,可以通过多个连通性组来构建多模式网络以表达实际的交通情况。,1.网络数据集,2)连通策略连通

4、策略表示同一连通性组内或不同连通性组之间的边是以何种方式进行连通的?(1)位于同一连通性组内的边之间的连通策略同一连通性组内的边可以以两种不同的方式进行连接,分别是端点连通性策略和任何折点连通性策略。,1.网络数据集,2)连通策略(2)位于不同连通性组的边之间的连通策略位于不同连通性组中的边只能通过两个连通性组共享的交汇点进行连通,连通策略分别是依边线连通性策略和覆盖连通性策略。,1.网络数据集,2)连通策略(3)高程字段网络数据集中,高程字段用于优化线端点处的连通性,通过判断网络元素的高程值是否相同来确定它们是否连通(网络元素要位于同一连通性组中)。例如:在同一连通性组中,若两道路平交则高程

5、值相同,此时交点处连通;若两道路立交则高程值不相同,此时交点处不连通。,1.网络数据集,网络属性网络属性是网络数据集中控制网络运行能力的属性,主要包括名称(name)使用类型(usage type)表示在网络分析过程中所使用属性的类型,包括成本、描述符、约束和等级。单位(units)通常定义成本属性的单位是距离(英里、米等)、时间(分钟、小时等)等。而定义描述符、等级和约束条件的单位则是未知的。数据类型(data type)数据类型可以是布尔型、整型、浮点型或双精度型。但是,成本属性不能是布尔型,而约束条件始终为布尔型,等级始终是整型。默认情况下使用(use by default)等,2.最短

6、路径分析,相关类与接口本节实例所涉及的类主要包括NAContext类NAClass类NAClassFieldMap类NAClassLoader类NALayer类NARouteSolver类等。,2.最短路径分析,NAContext类该组件类是参与网络分析对象中最重要的一个对象,网络问题(如最短路径分析问题、最近设施点求解问题等)的定义和解决都要用到该对象,例如访问网络分析图层、创建网络分析解决对象等都要用到它。它实现了INAContext和INAContextEdit接口。1)INAContxt接口该接口主要用于网络分析上下文的访问,在整个网络分析过程中,它很好的将NAClasses、NASo

7、lver、NetWorkDataset等类对象衔接在一起,从而完成分析任务。2)INAContextEdit接口该接口用于网络分析上下文对象的属性编辑。它实现了Bind方法,该方法用于对网络分析上下文与装载的网络数据集的绑定。,2.最短路径分析,NAClass类该类是一个抽象类,在网络分析过程中,它由其他类实现,并存储在计算机内存中,用于存储网络分析过程中用作输入的要素和分析结果输出的要素。它实现了INAClass接口。该接口用于对NAClass类的操作,它主要实现DeleteAllRows方法,该方法可快速清除NAClass类中的所有要素。NAClassFieldMap类该组件类被NACla

8、ssLoader类使用,用于自定义一种NAClass类和输入要素类(站点类Stops、障碍点类Barriers)字段间的映射关系。NAClassFieldMap类实现了INAClassFieldMap接口,该接口的set_MappedField方法用于建立源数据到NAClass类的映射。,2.最短路径分析,NAClassLoader类该组件类用于加载NAClass类。NAClassLoader类实现了INAClassLoader接口,该接口用于装载网络分析对象(如站点、障碍点等)。该接口主要有如下属性和方法。NALayer类该组件类为一个图层对象,用于网络分析问题的定义、解决以及结果的显示。例

9、如提供最短路径分析结果的显示。该类实现了INALayer接口,该接口用于访问网络分析图层。NARouteSolver类该组件类用于执行路径分析(本实例为最短路径分析),并最终将求解的路径输出在地图上。该类实现了INASolver接口,该接口是所有网络分析的通用接口,用于网络分析上下文对象的创建与更新。,2.最短路径分析,实例详解本实例实现采用自定义工具,将创建添加站点类AddNetStopsTool、添加障碍点类AddNetBarriesTool和最短路径解决类ShortPathSolveCommand,它们分别继承自BaseTool和BaseCommand基类,在这些类中需补全相关构造函数和

10、鼠标事件等代码。这种实现方式的好处在于极大地提高了代码的重用性,另外如果将这些工具生成dll动态链接库,则可以在任意程序中引用它们来实现该工具的功能。实例采用手动添加站点和障碍点的方式来实现最短路径的分析。,最短路径分析代码的实现思路如下:(1)手动添加停靠点Stops和障碍点Barriers,并将其分别载入到Stops和Barries要素类中;(2)分别打开工作空间和网络数据集,并加载网络数据集;(3)创建NAContext网络数据集上下文对象和最短路径分析求解对象NASolver;(4)分别从Stops要素类和Barries要素类中读取最短路径所要经历的停靠点和路径的障碍点并载入到NACl

11、ass类中,并将NAClass类中的这些点要素映射到网络拓扑中以创建最短路径分析图层;(5)加载最短路径分析图层以实现最短路径的显示。,2.最短路径分析,实例详解程序实现步骤分为添加站点类、添加障碍点类、添加最短路径分析类和完善主界面等。1)添加站点类AddNetStopsTool该类继承自BaseTool基类,它实现了在地图中添加站点的功能。2)添加障碍点类AddNetBarriesTool该类在实现功能、添加方法以及接口使用等方面都与添加站点类相似。它也继承自BaseTool基类。3)添加最短路径分析类ShortPathSolveCommand该类完成最短路径分析、向主界面加载网络数据集图

12、层及最短路径分析图层等功能。此类继承自BaseCommand基类。4)完善主界面frmShortPathSolver类该类是系统主界面相关按钮(添加站点、添加障碍点、路径解决等)与它们的实现类(AddNetStopsTool、AddNetBarriesTool、ShortPathSolveCommand)进行交互的桥梁。系统通过在该类中调用上述类中的方法来实现最短路径分析。5)添加NetWorkAnalysClass类,实例详细代码见程序,3.查找服务区分析,服务区分析是指查找在某一设施点一定阻抗范围内的区域,如查找到医院时间为5min、10min、15min的地区有哪些等。相关类与接口本节实

13、例主要用到NAServiceAreaSolver组件类,该类用于查找在设施点一定阻抗范围内的区域。查询结果以面的形式显示出来,并可以显示路径。它实现了INASolverSettings和INAServiceAreaSolver接口。,1.INASolverSettings接口该接口提供的一些属性用于对各种常用的网络分析求解对象进行设置,该接口主要有如下属性和方法。(1)ImpedanceAttributeName属性用于设置在网络分析过程中作为阻抗的网络属性的名称。(2)RestrictionAttributeNames属性用于设置在网络分析过程中作为限制的网络属性的名称。,2.INetwor

14、kAttribute接口该接口用于访问网络数据集中的属性,例如成本的时间或距离属性。该接口主要有如下属性和方法。(1)UsageType属性返回网络属性的使用类型,如成本、描述符、约束和等级等。(2)Name属性返回这个网络属性的名称,如时间、距离等。,3.INAServiceAreaSolver接口该接口用于查找服务区分析。该接口主要有如下属性和方法。(1)DefaultBreaks属性;(2)MergeSimilarPolygonRanges属性(3)OutputPolygons属性;(4)OutputLines属性(5)OverlapLines属性;(6)SplitLinesAtBrea

15、ks属性(7)TravelDirection属性,3.查找服务区分析,实例详解本例的程序实现思路(以下实例实现思路与此相似,不再赘述)如下:(1)分别打开工作空间和网络数据集,并且加载网络数据集;(2)创建NAContext网络分析上下文对象和分析求解对象NAServiceAreaSolver;(3)加载设施点要素类,并将其映射到网络拓扑中;(4)实现查找服务区分析;(5)读取分析结果表信息并显示。,3.查找服务区分析,本例参数设置内容包括【代价类型】、【默认中断】、【使用单行线限制】、【显示路径】等,参数设置解释如下:(1)【代价类型】包含Minutes(分钟)和Meters(米)两种,分别

16、表示时间代价和距离代价。(2)【默认中断】表示在求解过程中,求解程序不会搜索阻抗值超过默认中断值的设施点。(3)【使用单行线限制】表示某些路段必须遵守“单向”约束。(4)【显示路径】表示在生成服务区的同时显示给定阻抗范围内所能到达的网络边。(5)其他的诸如【忽略无效位置】、【禁止U型转弯】、【行驶方向】等参数将在代码中直接设置。,查找服务区分析运行结果,4.最近设施点分析,最近设施点分析是指通过计算网络中设施点和事件点之间的运行成本,选择成本最小的行程,如查找距交通事故发生点10min内可以到达的医院等。相关类和接口本实例主要用到NAClosestFacilitySolver组件类,该类用于查

17、找网络中事件点到设施点间运行成本最小的路径。它主要实现了INAClosestFacilitySolver接口,该接口用于最近设施点的分析求解,它包含DefaultTargetFacilityCount属性,该属性表示要查找的设施点的默认个数。,4.最近设施点分析,实例参数设置,内容包括【代价类型】、【目标设施点的个数】、【默认中断】、【使用单行线限制】等,参数设置解释如下:(1)【目标设施点的个数】设置为1表示多个事件点在阻抗值不超过中断值的范围内找到最近的一个设施点。(2)【默认中断】设置为15表示搜索在15分钟内所能到达的设施点。,最近设施点分析运行结果,实例详细代码见程序,5.OD成本矩

18、阵分析,OD成本矩阵用于在网络中查找和测量从多个起始点到多个目的地的最小成本路径。最近设施点求解程序虽然分析速度方面较OD成本矩阵求解程序慢,但是它能够返回实际路径和驾车指示;OD成本矩阵求解程序可以更快地生成分析结果,但无法返回路径的实际形状和驾车指示。,OD成本矩阵分析运行结果,实例参数设置,内容包括【代价类型】、【目标设施点的个数】、【默认中断】、【使用单行线限制】等。其中【目标设施点的个数】表示配送地的个数,16表示配送地有16个,即图中方块的个数,图中圆圈代表出发地。,6.多路径配送分析,多路径配送分析是针对由多条配送路径共同完成指定任务的分析。例如大型货运公司有一车队在市区范围内进

19、行货物的配送,可使用多路径配送分析来完成对车队中不同车辆行驶路径的安排。相关类和接口本实例主要用到NAVRPSolver组件类,该类提供的求解程序用于找出网络资源向多个停靠点(含有接收资源的限制条件,如接收时间限制、停靠位置限制等)流动的最佳路径,最终将以线要素的形式返回这条路径。,它实现了INAVRPSolver接口,该接口主要包含以下属性和方法。(1)CapacityCount属性用于设置容量计数。例如,运输车辆存在最大载重量和最大装载体积时,那么容量计数参数应设为2。(2)DistanceFieldUnits属性用于设置分析图层的子图层和表(网络分析类)的距离字段所使用的距离单位。(3)

20、TimeFieldUnits属性用于设置分析图层的子图层和表(网络分析类)的时间字段所使用的时间单位。(4)TimeWindowViolationPenaltyFactor属性用于设置时间窗冲突重要性。其参数包含高、中、低三种,具体解释见下文。,6.多路径配送分析,实例参数设置,内容包括【时间属性】、【距离属性】、【时间字段单位】、【距离字段单位】、【时间窗冲突重要性】和【使用单行线限制】等,实例参数解释如下:(1)【时间属性】设置是必选项,用于定义遍历网络元素时间成本的属性。(2)【距离属性】设置是可选项,用于定义遍历网络元素距离成本的属性。(3)【时间字段单位】表示分析图层的子图层或表(位

21、于网络分析类中)的时间字段所用的单位,此单位不必与时间属性的单位相同。(4)【距离字段单位】表示分析图层的子图层或表(位于网络分析类中)的距离字段所用的单位,此单位不必与距离属性的单位相同。(5)【时间窗冲突重要性】包括高、中、低三个参数。它用于评定遵守时间窗以不引起冲突的重要性。,多路径配送分析运行结果,7.位置分配分析,位置分配分析是指在提供服务的设施点和消耗服务的需求点已经给定的情况下,合理的确定设施点的位置,从而高效地满足需求点的需要。例如在多个零部件制造工厂确定的情况下,从多个组装工厂候选点中选取一个或几个最优的位置。相关类和接口本实例主要用到NALocationAllocation

22、Solver组件类,该类所提供的求解程序用于执行在给定设施点和需求点的情况下,寻找满足需求点特定需求(最小化阻抗、最大化覆盖范围等)的最佳设施点位置的分析,最终结果返回设施点。该类主要实现INALocationAllocationSolver接口,该接口用于位置分配分析求解。,INALocationAllocationSolver接口主要包含以下方法和属性。(1)NumberFacilitiesToLocate属性用于设置分析中设施点的数目。(2)ProblemType属性用于设置位置分配问题的类型。如最小化阻抗、最大化覆盖范围等。(3)ImpedanceTransformation属性用于设置阻抗变换函数。如线性变换、指数变换等。(4)TransformationParameter属性用于设置阻抗参数值,应用于阻抗变换函数。(5)TargetMarketSharePercentage属性用于设置目标市场份额。,7.位置分配分析,实例详解本实例可以理解为在多个零部件工厂(圆点表示)已经确定的情况下,从多个候选装配工厂(方框表示)中找到符合需求(装配工厂的个数、问题类型等)的一个或多个作为最佳装配位置点。,实例详细代码见程序,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号