时区属性

当车辆穿越一个时区时,它的当前时间(包括当前日期)会发生改变。如果未在横跨多个时区的网络数据集上配置时区属性,则分析中的当前时间值可能会发生混乱。而且,如果忽略了时区,启用流量的网络数据集可能会返回错误的行驶时间,而实时流量的网络数据集可能会渲染该错误时间的流量状况。为避免出现这些问题,可向网络数据集添加属性来管理时区。

本主题解释了必须在网络数据集中配置时区的原因,并介绍了配置时区属性的方法。

注:

始终需要在启用实时流量的网络数据集上配置时区属性;然而,在不支持实时流量的网络数据集上并不总是需要配置时区属性。例如,如果不支持实时流量的网络数据集整个都位于一个时区内,则无需配置时区。而且,如果您从不使用基于时间的阻抗(配合起始时间)来执行网络分析,则也无需配置时区。

时区和网络分析

为了更好地理解在一个横跨多时区且启用了流量的网络数据集上设置时区属性的重要性,我们假定在上午 8:38 时,路径分析遍历了两条相邻边,即从山区时区的一条边开始,然后沿太平洋时区的另一条边继续。如果未配置时区属性,则网络数据集将忽略时差,并且只基于一个时区得到边的行驶时间。这意味着将不能得到太平洋时区上午 7:38 时边的行驶时间,而是可能得到上午 8:38 或当天其他时间的行驶时间,这将取决于默认的时区。

但是,如果正确配置了时区,则山区时区中边的成本会按当地时间上午 8:38 进行计算,而太平洋时区中边的成本会按当地时间上午 7:38 正确计算。这样,就会保持启用流量的网络数据集中行驶时间的准确性。此外,方向可以呈现时区变化。

时区发生变化的方向窗口
方向显示车辆在上午 8:03 从某一时区出发,并在上午 8:38 进入另一个时区,此时新时区的时间为上午 7:38。

无论跨时区的网络数据集是否已启用流量,配置时区属性后,对当前时间属性(例如时间窗和到达或离开时间)的输入和解释都会变得更加容易,因为它们的时间值始终参考当地时间。例如,假定您添加了两个停靠点(一个位于东部时区,另一个位于中部时区),并且希望将它们的时间窗都设置为当地时间上午 8:00 至 9:00 间。如果未配置时区,则必须手动将一个或两个时间窗的值转换为默认时区。或者,如果在网络数据集上配置了时区属性,则输入的时间会自动设置为基础边的当地时间,而且 Network Analyst 会从内部管理时间的转换。

网络数据集控制时区的方式

时区相对于协调世界时间 (UTC) 会有一个时态偏移。本地规则指定了 UTC 偏移量、是否遵守夏令时,以及如果遵守,夏令时的偏移量和日期范围。这些规则可能会经常变化;记住所有当前和过去的规则相当困难。幸运的是,Windows 操作系统的后续版本通过 Windows 更新为您的计算机提供世界上任意时区的变化,从而解决了这个问题。时区和时区的规则存储在 Windows 注册表中。

ArcGIS Network Analyst 扩展 会从 Windows 注册表中检索时区的 UTC 偏移和夏令时规则。下面的概念图表显示了它的基本工作原理。

边源要素上的 TimeZoneID 字段可指示要素所在的时区。TimeZoneID 值是时区表的外键,时区表与网络数据集位于同一工作空间内,并存储了一个时区列表。时区表中的 MSTimeZone 字段也是一个外键,但它是 Windows 注册表中注册表项的外键。(将整数值视为标识符和外键更普遍;不过,注册表则使用文本来识别时区。) 注册表可向 Network Analyst 提供有关夏令时的 UTC 偏移和日期范围的信息。

网络数据集中时区的概念性综述
TimeZoneID 值为 14 的街道将突出显示,并与 TimeZones 表中的太平洋标准时间记录相关联。然后,MSTimeZone 值会将这些街道关联到注册表中的 Pacific Standard Time 项。有了上述关联,Network Analyst 就可以确定这些街道从十一月至三月的 UTC 偏移为 -8 小时,从三月至十一月的 UTC 偏移为 -7 小时。

如图所示,边源要素类上需要有时区表和 TimeZoneID 字段,才能在网络数据集中配置时区。完成这些设置后,即可创建时区网络属性。

属性

可为时区属性配置以下属性:

时区选项卡

  • 添加时区属性 - 选中此复选框可在进行分析时使用时区。
  • 时区表 - 下拉列表中包含时区表,时区表位于当前网络数据集的工作空间内。时区表由表中的特殊字段 (MSTimeZone) 标识。
  • 赋值器 - 网络中定义的每个属性都必须提供与参与网络的每个源和方向(沿边方向和与边相反方向)相对应的值。 赋值器为每个源和行驶方向的属性指定值,每个元素默认的赋值器用于没有为属性分配赋值器的源和方向。

    了解有关赋值器的详细信息

注:

更改任何网络属性时,您必须构建网络数据集以重新建立连通性、重新计算受影响的属性以及更新网络元素。

了解有关何时需要重新构建的详细信息

配置时区属性

若要使用时区执行分析,需要在网络数据集上配置属性。请按照以下步骤配置时区属性:

  1. 网络数据集属性对话框上的访问网络属性
  2. 单击时区选项卡。
  3. 选中添加时区属性复选框。
  4. 时区表下拉列表中,选择要使用的时区表。
  5. 赋值器部分中,将赋值器分配给源要素。
  6. 单击确定

    时区属性配置随即完成并保存到网络数据集。