在网络上使用方位角以更加精确地定位点

在执行网络分析时,Network Analyst 必须确定网络数据集上每个分析输入位于的位置。将根据多个因素来计算网络位置,其中包括输入的地理位置、将使用其输入的网络分析的设置,以及用于定位输入的工具或功能中的用户指定位置设置。

了解有关定位网络分析输入的详细信息

车辆行驶方向是一个附加因素,可以帮助精度确定其在网络上的位置。下图说明了这一原理。

无方位角的 GPS 位置表示为圆圈
由于缺少方位角信息,因此难以确定车辆所在的街道。可能位于南北方向或东西方向的街道上。
具有方位角的 GPS 位置表示为三角形
很明显,如果包含方位角信息,则车辆将在南北方向的街道上向北行驶。

ArcGIS Network Analyst extension 允许您使用此原则在网络数据集上精确定位点。

除了计算当前地理位置之外,GPS 设备通常还计算方位角。在网络分析期间,您可以在定位网络上的点时使用此信息。这样做会得到放置更精确放置的网络分析对象。另外,这还有助于防止驾驶员混淆,因为通过这些移动点生成的路径和方向更有可能从正确的位置开始。

常见的做法是,例如,通过装备有 GPS 接收器的移动电话把货车当前位置和方位角发送给 ArcGIS Server,并将此信息作为路径分析中的第一个停靠点加载。货车尚未到达的其它停靠点也同样被加载,对路径进行求解并将结果和方向发送回驾驶员的手机上。在过程中使用方位角信息可以帮助防止货车在错误的街道上开始路径,如果货车刚好在交叉路口或天桥附近。它还可以帮助 ArcGIS Network Analyst extension 验证车辆行驶的方向,以使生成路径的起始点和车辆当前行驶的方向匹配。

方位角和 BearingTol 字段

ArcGIS Network Analyst extension 可以使用网络分析输入中 BearingBearingTol 字段的方位角信息。这些字段如下所述。

  • Bearing - 车辆或行人的移动方向。必须以度为单位指定方位角,并从正北开始顺时针进行测量。通常,值介于 0 和 360 之间,然而,Network Analyst 也可以解释负值,方法是从 360 度中减掉这些值。
  • BearingTol - 方位角容差 (bearing tolerance) 的简称,在此字段处指定车辆行驶路线和从 Network Analyst 试图定位车辆所在街道上一点引出的切线之间的最大可接受差异。也就是说,方位角容差用来确定车辆移动的方向是否大体上与基础道路一致。如果它们在给定容差范围内,车辆将定位在这条边上;如果没在给定范围内,将计算出下一个最近的合适边。

    BearingTol 单位为度,默认值为 30。可以选择任何大于 0 且小于 180 的容差。

Network Analyst 以及 Bearing 和 BearingTol 字段

以下步骤概述了 Network Analyst 评估方位角字段的方式:

  1. Network Analyst 可将点捕捉到最近的边。
  2. 将根据最近的边上的点来计算方位角容差,以设置最小和最大方位角值。将针对两个行驶方向执行此操作。
  3. 执行操作时,应分别比较用户所添加的点的方位角与两个行使方向上的最小和最大允许方位角值的差值。
    • 如果所添加点的方位角在容差范围之内,则点将作为网络位置添加到该处。还会确定道路上的行驶方向 - 该方向与方位角容差(方位角在其范围内)的方向匹配。
    • 如果方位角在容差范围外,则不定位此点,并将计算下一个最近的合适边的方位角容差。(有些边由于其他原因无法计算;例如,如果您已选择不在受限元素上定位或排除所有的高速公路。在这种情况下,被禁止的所有边或公路将会跳过。) 此过程会重复执行,直到将点定位到合适的边上,或者在超出指定的捕捉容差之后,此点保持未定位状态为止。

在分析中使用 Bearing 和 BearingTol 字段

使用网络分析图层执行分析并加载输入类(例如停靠点、设施点或起始点)的点时,添加位置工具将自动使用输入表中的 BearingBearingTol 字段。无需使用字段映射或进行任何特殊配置。如果字段存在于输入数据中,则将使用这些字段。

在 Python 中使用 Network Analyst 模块 arcpy.nax 执行分析时,BearingBearingTol 字段将显式包含在每个分析输入类的受支持字段列表中。要使用这些字段,可以使用 load 方法的 field_mappings 参数将输入中的字段映射到输入类中的字段中,操作方法与您要映射的任何其他输入字段一样。

了解有关 Network Analyst 模块中字段映射的详细信息

在使用 BearingBearingTol 字段时,请记住以下几点:

  • 输入数据中的 BearingBearingTol 字段必须具有短整型、长整型或双精度型数据。
  • 如果某点的映射输入字段值为空,则将以标准方式定位此点,即不考虑方位角和方位角容差。

示例

以下带有文字说明的系列图形说明了 Network Analyst 处理 BearingBearingTol 字段的方式。

向北行驶的车辆
1. 带有移动电话 GPS 接收器的车辆向北行驶经过一个四向交叉路口并将当前的位置和方位角发送给运行 Network Analyst 扩展模块的 ArcGIS Server
GPS 坐标和方位角
2. 黑线代表网络边。三角和虚线表示 GPS 接收器记录的车辆位置和方位角。请注意,可能由于 GPS 接收器不精确、数字化街道不精确或二者兼而有之,使得捕获位置相当不准确。GPS 接收器显示方位角大约为 345º,也稍微有些偏差;因为车辆正向北行驶,所以应该是 0º。
方位角在方位角容差范围之外
3. 点将捕捉到最近的边,并与方位角容差(在本示例中显示为蓝色渐变区域)进行比较。BearingTol 值为 30,所以在边的每一侧东西两向容差跨度为 15 度。添加的红色箭头表示在两个方向上的方位角都超过 15 度。因为方位角落在容差范围外,因此点不会定位到此边上。
方位角在方位角容差范围内
4. 方位角在方位角容差范围内时,该点被捕捉到下一个最近边上并且在此处作为网络位置加载。另外,Network Analyst 扩展模块知道对象在向北移动,因为方位角落在朝北的方位角容差范围内。