【ArcGIS|空间分析|网络分析】8 查找能够为需求点对提供服务的最佳路径
目录
文章目录
参考ArcGIS帮助文档
要求
- 目标
为运载乘客的车队找到最佳路径,此车队将是乘客从家中出发前往不同医院赴诊的唯一交通工具。
- 方法
1、用需求点对来求解车辆配送 (VRP) 分析,首先将两个停靠点关联并对其进行排序,从而使车辆能够将乘客接往正确的目的地。
2、使用 VRP 分析图层的其他要素,确保其他要求得以满足。例如,输入需求点对间的最长行驶时间,以避免乘客在路上花费过多时间。对停靠点使用时间窗,以避免乘客错过预约的赴诊时间。有些乘客需要使用轮椅,可以使用特殊要求选项来为这些乘客指派配有轮椅升降装置的车辆。
3、确定该路径后生成转向说明,并将该路径以电子形式分发给驾驶员,或打印后交给驾驶员。
步骤
1 创建车辆配送 (VRP) 分析图层
1、在 Network Analyst 工具条上,单击 Network Analyst,然后单击新建多路径派发(VRP)。
2 添加特殊要求
物流公司拥有三辆面包车。其中在市区行驶的一辆面包车配备了方便轮椅进出的装置。您将把“轮椅”添加为特殊要求,以保证将需要此特殊要求的停靠点分配到具有轮椅升降装置的路径上。
1、在 Network Analyst 窗口中,右键单击特殊要求 (0),然后单击添加项目。
2、打开该新特殊要求的属性窗口,在属性窗口中设置名为 Wheelchair 的特殊要求 。
3 添加停靠点
OrderPairs表格记录包括患者姓名、家庭地址;患者必须被送往的医院名称和地址;以及车辆必须在哪个时间窗内接到患者等等。
表格字段说明:
乘客和就诊医院是相互关联的,因为每个顾客都必须前往预先确定的医院。利用停靠点对来构建此种情景的模型,方式是将患者和医院位置都加载到“停靠点”网络分析类中,并用新停靠点对对象对他们进行关联。
地理编码
1、双击 OrderPairs.xls 文件。 OrderPairs.xls 文件将展开,此时可见表 Patients。
2、右键单击表 然后单击地理编码地址,将打开选择地址定位器对话框。
3、单击 SanFranciscoLocator,打开地理编码位置SanFranciscoLocator 对话框。
4、单击地址表下拉列表旁的浏览按钮浏览,选择包含地址的表Patients$。
5、在完整地址下拉列表中,选择 PatientAddress。
6、单击输出 shapefile 或要素类文本框旁的浏览按钮浏览。 单击保存类型下拉列表,选择文件和个人地理数据库要素类。 双击 SanFrancisco.gdb。 删除 Name 文本框中的名称,然后键入 Patients。
7、将打开地理编码地址对话框,并显示 15 个地址全部匹配。地理编码地址将被作为点要素图层,地理编码结果:Patients 添加至地图文档。
8、重复以上步骤 加载患者的目标医院 ,将街道或交叉点设置为 HospitalAddress,输出为 DestinationHospitals。
9、在内容列表窗口中,取消选中上述两个地理编码结果图层,以使其在地图视图中不可见。
把病人位置加载为停靠点。
10、在 Network Analyst 窗口中,右键单击停靠点 (0),然后选择加载位置。 从加载自下拉列表中选择地理编码结果:Patients。
11、按照如下子步骤所指定的方式从“地理编码结果:Patients”图层中复制字段值。
- 将 Name 属性映射到 OrderName1 字段。
- 将 Description 属性映射到 PatientAddress 字段。
- 将 TimeWindowStart1 属性映射到 PickFrom 字段。
- 将 TimeWindowEnd1 属性映射到 PickTo 字段。
- 将 PickupQuantities 属性映射到 TotalPassengers 字段。
- 确保 SpecialtyNames 属性自动与 SpecialtyNames 字段相匹配。
- 在 ServiceTime 属性对应的默认值下输入 2。
加载的所有患者地址位置的 ServiceTime 属性值都将设为 2,该值是指乘客上车所花费的平均时间(以分钟为单位)。 - 在 MaxViolationTime1 属性对应的默认值下输入 0。
将所有 MaxViolationTime1 属性都设为零之后,VRP 求解程序将仅搜索能够在时间窗内经过停靠点的路径。
把医院位置加载为停靠点。
1、在 Network Analyst 窗口中,右键单击停靠点 (15),然后选择加载位置。 从加载自下拉列表中选择地理编码结果:DestinationHospitals。
2、按照如下子步骤所指定的方式,从“地理编码结果:DestinationHospitals”图层中复制字段值。
- 将 Name 属性映射到 OrderName2 字段。
请注意,Name 属性的值在“停靠点”网络分析类中必须唯一。在本示例中,有许多患者需要前往同一家医院。因此,如果使用医院地址来获取“停靠点”的 Name 属性值,则 VRP 求解程序会因存在重复的 Name 值而返回错误消息。
- 将 Description 属性映射到 HospitalAddress 字段。
- 将 DeliveryQuantities 属性映射到 TotalPassengers 字段。
- 确保 SpecialtyNames 属性自动与 SpecialtyNames 字段相匹配。
- 在 ServiceTime 属性对应的默认值下输入 2。
4 添加需求点对
必须将乘客送往预先确定的医院。通过向“需求点对”网络分析类中添加对象,可以指定患者将被送往哪家医院,以及患者在单向行程中的最长乘车时间。
1、在 Network Analyst 窗口中,右键单击需求点对 (0),然后选择加载位置。 双击 Patients 表中提取字段值。
- 将 FirstOrderName 属性映射到 OrderName1 字段。
- 将 SecondOrderName 属性映射到 OrderName2 字段。
- 确保 MaxTransitTime 属性自动与 MaxTransitTime 字段相匹配。
5 添加站点
物流公司将在三个站点处进行车辆运输工作。
1、在 Network Analyst 窗口中,右键单击 站点 (0),然后选择加载位置。 从加载自下拉列表中选择 CentralDepots。
2、在位置分析属性部分中,确保名称属性自动与名称字段相匹配。
6 添加路径
物流公司有三辆面包车,最大载客量均为 6。车辆从站点出发,并在所有行程全部结束后返回站点。其中在市区接送乘客的一辆车配备了方便轮椅进出的升降装置。添加三条路径(每辆车一条),并设置市区车辆的属性,以使其具有 Wheelchair 这一特殊要求。
1、在 Network Analyst 窗口,右键单击路径 (0),然后选择添加项目, 打开该路径的属性窗口。
2、在属性窗口中,按下表所示方式指定路径的属性,保持其他属性的默认值不变。
3、重复以上步骤添加另两条路径以表示在 North Bay 和 East Bay 区域运转的车辆。对于这两条新路径,请使用下表中的属性,而不要使用步骤 2 中列出的属性,这些车辆并未配备可供轮椅进出的装置。
7 添加路径区
物流公司所使用的三辆面包车只能为预先确定的区域中的停靠点提供服务。添加路径区并将其与车辆/路径相关联。
1、在 Network Analyst 窗口中,选择路径区 (0)。
2、在 Network Analyst 工具条上,单击创建网络位置工具。
3、在地图视图上,按如下所示方式对大致覆盖市区的面进行数字化。单击可添加折点;双击可完成面。新路径区 Graphic Pick 1 将添加至 Network Analyst 窗口的路径区类中。
4、在 Network Analyst 窗口中,双击新路径区对象 Graphic Pick 1 打开该路径区的属性窗口。按下表所示方式设置路径区的属性。
5、重复步骤 1 至 4,新添加两个路径区:一个针对 North Bay,另一个针对 East Bay。
8 设置分析属性
1、单击 Network Analyst 窗口中的分析图层属性按钮,将打开图层属性对话框。单击分析设置选项卡。
2、确保将时间属性下拉列表设置为驾车时间(分钟)。
VRP 求解程序将使用此属性来计算停靠点与站点间基于时间的成本。
3、确保未在距离属性下拉列表中选择任何值。
由于您并没有使用任何基于距离的成本参数(如 CostPerUnitDistance 或 MaxTotalDistance),因此无需设置距离属性。
4、将默认日期设置为星期。在星期下拉列表中,选择星期一。
5、由于车辆容量仅以车辆可载客总数来衡量,因此请确保将容量计数设置为 1。
如果以车辆可容纳的乘客总数及可容纳轮椅的最大数目衡量车辆容量,则应将“容量计数”设置为 2。
9 运行该程序以求解
1、在 Network Analyst 工具条上,单击求解按钮求解。
VRP 求解程序会计算各车辆的路径。各路径车辆均从某一站点始发,接待一名或多名乘客(乘客在车辆上度过的时间应小于在需求点对中指定的 MaxTransitTime 值),到达对应的医院后停车让乘客下车,然后继续接送其他乘客,最终返回至起始站点。路径所服务的停靠点必须位于为其分配的路径区内。
10 确定路径中的转弯说明
1、在 Network Analyst 工具条上,单击指示窗口按钮方向。
2、选择将车辆配送 (VRP) 作为图层文件 (.lyr) 导出到磁盘中,以便将其加载至其他地图文档中。
转载自:https://blog.csdn.net/qq_40628258/article/details/84203959