练习 5:计算服务区和创建 OD 成本矩阵

复杂程度: 初级 数据要求: ArcGIS Tutorial Data for Desktop 数据路径: C:\ArcGIS\ArcTutor\Network Analyst\Tutorial 目标: 创建服务区面和创建 OD 成本矩阵。

在本练习中,将创建一系列面,用来表示在指定时间内从一个设施点可达到的距离。这些面也称为服务区面。本例将针对位于巴黎的六个仓库计算 3、5 和 10 分钟路程范围的服务区。

还将查找每个服务区中有多少个商店。将识别出需要重新定位的仓库,以更好地为这些商店提供服务。此外,还将创建一个“起始 - 目的地”成本矩阵,用于将货物从仓库运送到距离仓库十分钟车程范围内的所有商店。此矩阵用作物流、配送货物和路径分析等的输入。

注注:

Network Analyst 教程中本练习和其他练习所使用的数据可在 ArcGIS.com 中找到。数据下载完成后,可将其解压缩到所需位置。但是最好将其解压到 C:\arcgis\ArcTutor,因为本教程将此路径视作数据的默认位置。

准备视图

步骤:
  1. 如果在 ArcMap 中打开了 Exercise05.mxd,请跳到步骤 6。
  2. 单击开始 > 所有程序 > ArcGIS > ArcMap 10.2.2 启动 ArcMap。
  3. ArcMap - 启动 对话框中,单击现有地图 > 浏览更多
  4. 浏览至 C:\ArcGIS\ArcTutor\Network Analyst\Tutorial。

    这是本教程数据的默认安装位置。

  5. 双击 Exercise05.mxd

    将在 ArcMap 中打开该地图文档。

  6. 启用 ArcGIS Network Analyst 扩展模块。
    1. 单击自定义 > 扩展模块

      将打开扩展模块 对话框。

    2. 选中 Network Analyst
    3. 单击关闭
  7. 如果未显示 Network Analyst 工具条,则需要添加该工具条。

  8. 单击自定义 > 工具条 > Network Analyst。

    Network Analyst 工具条被添加到 ArcMap 中。

    Network Analyst 工具条

  9. 如果未显示 Network Analyst 窗口,则需要添加该窗口。

  10. Network Analyst 工具条上,单击 Network Analyst 窗口按钮 Network Analyst 窗口

    打开可停靠的 Network Analyst 窗口。

    Network Analyst 窗口

  11. 可以停靠或取消停靠 Network Analyst 窗口。

创建服务区分析图层

步骤:
  1. Network Analyst 工具条上,单击 Network Analyst,然后单击新建服务区

    选择“新建服务区”

    服务区分析图层即被添加到 Network Analyst 窗口中。网络分析类(设施点、面、线、点障碍、线障碍和面障碍)为空。

    具有空类的 Network Analyst 窗口

    分析图层也将被添加到内容列表 窗口中。

    显示在内容列表中的服务分析图层

添加设施点

接下来,将仓库添加为要生成服务区面的设施点。

步骤:
  1. 按住 CTRL 键的同时,从内容列表 窗口中将 Warehouses 要素图层拖放到 Network Analyst 窗口的设施点类中。

    六个仓库作为设施点加载并显示在地图中。

  2. Network Analyst 窗口中,单击设施点 (6) 旁的加 (+) 号,可查看设施点列表。

    列于“Network Analyst”窗口的设施点

设置分析参数

接下来,将指定基于行驶时间(使用分钟)计算服务区。将对每个设施点的三个服务区面进行计算,一个是 3 分钟,一个是 5 分钟,另一个是 10 分钟。将指定行驶方向为驶离设施点,而不是驶向设施点,不允许 U 形转弯,且必须遵守单向道限制。

步骤:
  1. 单击 Network Analyst 窗口中的分析图层属性按钮。

    单击“图层属性”按钮

    将打开图层属性 对话框。

  2. 单击分析设置选项卡。
  3. 确保将阻抗设置为行驶时间(分钟)
  4. 默认中断文本框中输入 3 5 10
  5. 方向下,单击离开设施点
  6. 交汇点的 U 形转弯下拉列表中选择不允许
  7. 选中忽略无效的位置
  8. 限制列表中选中 Oneway
  9. 此时,分析设置选项卡应如下图所示:
    “分析设置”选项卡
  10. 单击面生成选项卡。
  11. 确保选中生成面
  12. 对于面类型,单击概化

    详细的面更准确,但生成这样的面需要更长的时间。

  13. 取消选中修剪面选项。

    这是一个修剪外部面的后处理过程,用于移除凸出部分,但是运行时间较长。

  14. 单击叠置查看多个设施点选项

    每个设施点会形成单独的面。一个设施点的面可能会与附近的另一个设施点的面相互重叠。

  15. 单击显示叠置类型。

    将从较大中断值的面中排除较小中断值的区域。

  16. 单击应用保存设置。
  17. 单击线生成选项卡。
  18. 取消选中生成线

    尽管您不会从本练习中穿过的边生成线,但也可以选中此选项。

    可以输出线、面或同时输出这两种结果。

  19. 单击确定

运行计算服务区过程

步骤:
  1. Network Analyst 工具条上,单击求解按钮 求解

    服务区面即会出现在地图和 Network Analyst 窗口中。

  2. 这些面是透明的,便于您查看其下面的街道。不过,您要更改为:随着中断值的增大、服务区面由亮变暗,而不是由暗变亮。
  3. 内容列表 窗口中,右键单击子图层,然后选择属性
  4. 单击符号系统选项卡。
  5. 单击符号字段名,然后选择翻转符号。(确保单击 - 而不是右键单击 - 符号;否则,不会出现快捷菜单。)

    单击“翻转符号”

  6. 单击确定

    外部和内部服务区中断所在区域将有颜色的切换,使得 10 分钟中断所覆盖的区域更清晰。

    服务区结果地图

识别位于所有服务区外部的商店

步骤:
  1. 内容列表 窗口中,单击 Stores 并将其拖动至图层列表中,以改善可见性。

    内容列表

  2. 单击选择 > 按位置选择。

    选择“按位置选择”

  3. 按位置选择 对话框中创建选择查询,以便从完全位于面中的商店中选择要素,如下图所示。

    按位置选择

  4. 单击确定

    面内的商店已被选中;不过,您还要选取服务区面外的商店。

  5. 内容列表 窗口中,右键单击商店,然后单击选择 > 切换选择。

    此时,此选择将显示不在任何服务区面内的商店的分布情况。使用此选择识别仓库新位置所在的区域。最佳区域似乎位于地图的中央。

    位于所有服务区外的商店

  6. 工具 工具条上,单击清除所选要素按钮 清除所选要素

重新定位最不容易到达的仓库位置

查看仓库 #2 的服务区面。在仓库 #2 的周围,没有任何在其 3、5 或 10 分钟服务区范围内的商店;因此,要重新定位此仓库的位置,以更好地为商店提供服务。

步骤:
  1. Network Analyst 窗口中,选择设施点 (6)下面的仓库 #2

    选择“仓库 #2”

  2. Network Analyst 工具条上,单击选择/移动网络位置工具 选择/移动网络位置工具
  3. 在地图视图中,将“仓库 #2”拖至地图的中央,如下图所示。

    重新定位“仓库 #2”

运行计算服务区过程

步骤:
  1. Network Analyst 工具条上,单击求解按钮 求解

    服务区面即会出现在地图和 Network Analyst 窗口中。

识别每个商店所在的服务区面

步骤:
  1. 内容列表 窗口中,右键单击商店,然后单击连接和关联 > 连接。

    从快捷菜单中选择“连接”

    将打开连接数据 对话框。

  2. 选择基于空间位置的另一个图层的连接数据

    选择基于空间位置连接

  3. 选作与此图层连接的图层。

    选择将面连接至此图层

  4. 单击落入其中的面按钮。

    选择“落入其中的面”选项

    会将此面的属性添加至落入此面的所有点。

  5. 指定一个输出 shapefile 或要素类以保存数据连接结果,并将其命名为 StoresWithPoly

    设置输出 shapefile 或要素类

  6. 单击确定

    ArcGIS 将执行此连接,并将新图层添加至地图文档中。

  7. 内容列表 窗口中,右键单击新的 StoresWithPoly 要素图层,然后选择打开属性表

    表中的每行都显示商店名称和商店所落入面的名称。可以使用此表生成其他有用的目录,例如在 0 至 3 分钟服务区内的商店数量。

  8. 关闭属性表。
  9. 也可以将设施点(包括移动的设施点)导出为要素类。
  10. Network Analyst 窗口中,右键单击设施点 (6),然后选择导出数据

    将打开导出数据 对话框。

  11. 导出下拉列表中,选择所有要素
  12. 选择输出位置和类型(shapefile 或要素类)。

    可以选择将要素类存储在 Paris 地理数据库中:C:\arcgis\ArcTutor\Network Analyst\Tutorial\Paris.gdb\New_Warehouses

    “导出数据”对话框

  13. 单击确定

    随即显示提示消息,询问您是否要将导出数据添加到地图中。

  14. 单击

    本练习的其余部分不需要使用此数据。

创建 OD 成本矩阵分析图层

也可以创建“起始 - 目的地”成本矩阵,以便将货物从新仓库运送到每个商店。此矩阵的结果可用于识别 10 分钟车程内的每个仓库所要服务的商店。而且,您可以查找从每个仓库到所要服务的商店的总行驶时间。

步骤:
  1. 内容列表 窗口中,取消选中服务区分析图层和StoresWithPoly要素图层,以改进地图的可读性。
  2. Network Analyst 工具条上,单击 Network Analyst,然后单击新建 OD 成本矩阵

    选择“新建 OD 成本矩阵”

    OD 成本矩阵分析图层即被添加到 Network Analyst 窗口中。网络分析类(起始点、目的地、线、点障碍、线障碍和面障碍)为空。

    具有空类的 Network Analyst 窗口

    分析图层也将被添加到内容列表 窗口中。

    显示在内容列表中的 OD 成本矩阵分析图层

添加起始点

可以将服务区分析(如前面几节中所述)的设施点作为起始点。如果尚未完成服务区相关的练习,可以使用“仓库”要素图层作为起始点。

步骤:
  1. Network Analyst 窗口中,右键单击起始点 (0),然后选择加载位置

    将打开加载位置 对话框。

  2. 单击加载位置下拉列表中的服务区/设施点。(如果尚未完成先前的服务区分析相关练习,可以选择仓库。)
  3. 取消选中仅加载选定行
  4. 位置定位下,单击使用网络位置字段。(如果正加载“仓库”,请单击使用几何。)

    如果使用网络位置字段,则 ArcGIS 将能够使用服务区设施点的已指定的位置再次将其指定为起始点。同使用空间搜索重新指定相比,这要快得多。

    “加载位置”对话框

  5. 单击确定

    六个新的起始点即会显示在地图上,并列于起始点Network Analyst 窗口中。

    列于“Network Analyst”窗口中的起始点

添加目的地

步骤:
  1. Network Analyst 窗口中,右键单击 目的地 (0),然后选择加载位置
  2. 加载位置下拉列表中选择商店
  3. 位置分析属性下,从字段下拉列表选择 NOM 作为属性名称。

    由于 NASolverConfiguration.xml 文件中没有配置法语字段名称 NOM,因此,ArcGIS 无法自动映射此字段名称。

    “加载位置”对话框

  4. 单击确定

    此时,Network Analyst 窗口中列有 21 个目的地。

    列于“Network Analyst”窗口中的目的地

    这些目的地也将显示在地图中。

    地图视图中所显示的起始点和目的地

设置分析参数

接下来,将指定基于行驶时间计算 OD 成本矩阵。要设置一个长度为 10 分钟的默认中断值,并确保在指定中断中找到所有目的地。此外,还要指定所有位置都允许 U 形转弯,输出 Shape 类型应为直线。由于所有行程均发生在道路上,因此必须遵守单行线限制。所有无效的位置(未找到的位置)都将被忽略。

步骤:
  1. 单击 Network Analyst 窗口中的分析图层属性按钮。

    单击“分析图层属性”按钮

  2. 单击分析设置选项卡。
  3. 确保将阻抗下拉列表设置为行驶时间(分钟)
  4. 取消选中使用开始时间
  5. 默认中断值文本框中输入 10

    这会创建每个仓库与所有商店之间的距离小于等于 10 分钟车程的“起始 - 目的地”路径。由于阻抗属性的单位是分钟,因此将以分钟为单位。

  6. 确保将要查找的目的地设置为<全部>
  7. 单击交汇点的 U 形转弯下拉箭头,然后选择允许
  8. 确保将输出 Shape 类型设置为直线
  9. 确保选中忽略无效的位置
  10. 限制列表中选中 Oneway

    “图层属性”对话框的“分析设置”选项卡

  11. 单击确定

    参数设置即被保存。

运行创建 OD 成本矩阵过程

步骤:
  1. Network Analyst 工具条上,单击求解按钮 求解

    OD 线将出现在地图上。在本例中有 24 条线。您计算得到的路线数可能与此不同,这具体取决于“仓库 #2”重新定位后的位置。

  2. 如果未显示“服务区”图层,则打开该图层,以便在仓库服务区的顶部显示“OD 成本矩阵”图层。

将商店分配给仓库

基于 OD 成本矩阵,现在可以识别每个仓库可以服务的商店。

步骤:
  1. Network Analyst 窗口中,右键单击 线 (24),然后选择打开属性表

    打开线的属性表

    线属性表将被打开。

  2. 线属性表表示每个仓库与商店之间的距离小于等于 10 分钟车程的“起始 - 目的地”成本矩阵。OriginID 列中包含仓库的 ID。DestinationID 列中包含商店的 ID。DestinationRank 是分配给每个目的地的等级,仓库基于总行驶时间来为这些目的地提供服务。例如,在下表中,对于仓库 #1,DestinationID 2 的等级为 1,DestinationID 3 的等级为 2。这是因为从仓库 #1 到 DestinationID 2 花费的时间较少。(您的数字可能与此不同,因为您的分析结果取决于起始点和目的地的源要素类。)

    线表

    OD 成本矩阵用于显示每个仓库所服务的商店,以及每条路线的总行驶时间。有些商店与多个仓库之间的距离均在 10 分钟的行程范围内,因此,可以接受其中任意一个仓库的服务。OD 成本矩阵也可用作物流路径优化模型中的输入,此类模型使用“起始–目的地”矩阵来分配货物和服务。

  3. 如果不打算继续做其他练习,请退出 ArcMap。单击放弃任何更改。
  4. 如果打算继续做其他练习,请按照以下子步骤操作。
    1. 单击文件 > 新建

      将打开新建文档 对话框。

    2. 单击确定
    3. 系统提示保存更改时,单击
5/28/2014