Атрибут часового пояса

Когда транспортное средство пересекает часовой пояс, время суток (и, возможно, дата) для него меняются. Если атрибут часовой пояс не настроен для набора сетевых данных, охватывающего несколько часовых поясов, то значения времени суток в анализе могут стать источником ошибок и неточностей. Можно добавить к набору сетевых данных атрибут часовой пояс для моделирования часовых поясов.

В данном разделе объясняется, почему может потребоваться настройка часовых поясов для набора сетевых данных, и описываются способы настройки атрибута часового пояса.

Когда атрибут часового пояса необходим

Не каждый набор сетевых данных требует атрибута часового пояса, но при определенных обстоятельствах он необходим:

  • Сеть настроена на моделирование текущего трафика.
  • Ребра сети охватывают несколько часовых поясов, и сеть настроена на моделирование исторического трафика.
  • Ребра сети охватывают несколько часовых поясов, и она будет использоваться для анализа с импедансом, основанным на времени, и временем начала или временными окнами, которые не указаны во всемирном координированном времени (UTC).
  • Сеть будет использоваться для Выполнения анализа доставки до двери.

Часовые пояса и сетевой анализ

Часовые пояса используются в сетевом анализе несколькими способами.

Интерпретация настроек анализа, связанных со временем

Сетевой анализ может опционально включать несколько настроек, связанных со временем. Например, временные окна можно использовать для моделирования времени приема или часов, в течение которых учреждение открыто. Время начала может использоваться для моделирования времени суток, когда путешественник начинает поездку. Поля вывода результатов анализа показывают время прибытия и отправления.

Настройка атрибута часового пояса позволяет вводить и интерпретировать эти свойства времени суток, особенно для сетевых наборов данных, охватывающих несколько часовых поясов. Иначе правильная интерпретация настроек времени может быть неоднозначной, значения могут быть неверными, или аналитику придется переводить все значения в UTC.

Предположим, например, что добавлены две остановки – одна в восточном часовом поясе, а другая в центральном часовом поясе – и нужно задать для обеих остановок временные окна с 8:00 до 9:00 по местному времени. Если часовые пояса не настроены, необходимо преобразовать оба временных окна в UTC и настроить параметры анализа таким образом, чтобы время интерпретировалось как UTC.

Если часовые пояса настроены для набора сетевых данных, то введенные значения времени автоматически интерпретируются, используя местное время лежащего в его основе ребра, а Network Analyst производит внутренние преобразования времени.

Точность расчетов времени в пути

Для набора данных сети с трафиком время траверса одного ребра сети зависит от условий трафика в то время суток, когда это ребро пересекается. Если время суток указано неверно из-за неправильной настройки часовых поясов, может быть рассчитано неправильное время в пути, и результаты анализа могут быть неточными.

Например, предположим, что в 8:38 анализ маршрута выполняется для двух смежных ребер, начинаясь с одного ребра в зоне зимнего времени и продолжаясь вдоль другого ребра в тихоокеанском часовом поясе. Если атрибут часового пояса не настроен, набор сетевых данных будет игнорировать разницу во времени и полученные значения времени в пути для ребер будут основаны только на одном часовом поясе. Следовательно, вместо времени в пути для ребра в тихоокеанском часовом поясе для 7:38 может быть получено время в пути для 8:38 или для другого времени суток, в зависимости от установленного часового пояса по умолчанию.

Если часовые пояса настроены правильно, время в пути для ребра в зоне зимнего времени оценивается для 8:38 по местному времени, а для ребра в тихоокеанском – для 7:38 по местному времени. Тем самым сохраняется точность значений времени в пути для набора сетевых данных, содержащего сведения о трафике.

Путевой лист

Если сеть имеет атрибут часового пояса, путевой лист предупреждает водителей об изменении часового пояса на маршруте.

Окно указаний с изменением часового пояса
Путевой лист показывает, что автомобиль пересекает границу часового пояса в 8:38 утра, что соответствует 7:38 утра в новом часовом поясе. Указания предупреждают водителя об изменении времени на час.

Как наборы сетевых данных моделируют часовые пояса

Часовые пояса моделируются в наборе данных сети с помощью атрибута часового пояса, который присваивает часовой пояс каждому ребру сети с помощью оценок, которые настраиваются аналогично атрибутам стоимости и ограничений. Для сети, полностью находящейся в одном часовом поясе, достаточно одной постоянной оценки, чтобы установить часовой пояс для всех ребер. Если сеть охватывает несколько часовых поясов, можно использовать скрипт для оценки поля для привязки поля в каждом ребре-источнике, что определяет часовой пояс ребра.

Список часовых поясов, доступных для использования сетью, определяется в таблице часовых поясов в базе геоданных, содержащей сеть. В таблице часовых поясов должно быть текстовое поле с именем MSTimeZone, и каждая строка этой таблицы должна содержать строковое значение, соответствующее одному из официальных ID часовых поясов, распознаваемых операционной системой Windows.

Часовые пояса имеют временной сдвиг относительно UTC. Местные правила определяют, каким должен быть сдвиг относительно UTC, используется ли переход на летнее время и, если да, то сдвиг и диапазоны дат для летнего времени. Эти правила могут часто меняться; отслеживать все текущие и прошлые правила трудно. К счастью, операционные системы Windows поддерживают эти правила в актуальном состоянии, передавая все изменения часовых поясов в мире на ваш компьютер с помощью обновлений Windows. Часовые пояса и их правила хранятся в реестре Windows. Расширение ArcGIS Network Analyst извлекает из реестра Windows значения сдвига относительно UTC и правила перехода на летнее время для часовых поясов.

Атрибут часового пояса настраивается в диалоговом окне Свойства набора сетевых данных на вкладке Часовой пояс страницы Атрибуты передвижения:

Вкладка Часовой пояс

Могут быть настроены следующие свойства:

  • Добавить атрибут часового пояса — установите отметку, чтобы включить или отключить поддержку часовых поясов для набора данных сети.
  • Таблица часовых поясов — ниспадающий список содержит таблицы часовых поясов, которые имеются в рабочей области набора сетевых данных.
  • Анализаторы – Каждый атрибут, определенный в сети, должен предоставлять значения для каждого источника и направления (вдоль ребра и в обратном направлении), участвующих в сети. Анализатор назначает значения для атрибута каждого источника и направления перемещения, а анализатор по умолчанию для каждого элемента используется для тех источников и направлений, которые не имеют назначенного анализатора для атрибута.

    Более подробно об анализаторах

Настройка атрибута часового пояса

Для выполнения анализа с использованием часовых поясов, в наборе сетевых данных должен быть настроен атрибут часового пояса. Необходимая конфигурация зависит от того, находятся ли данные в сети в пределах одного часового пояса или охватывают несколько часовых поясов.

Примечание:

Если вы изменяете любой из сетевых атрибутов, необходимо построить набор сетевых данных , чтобы заново установить связность, заново вычислить задействованные атрибуты и обновить элементы сети.

Более подробно о случаях, когда требуется повторное построение

Настройка атрибута часового пояса для сети, охватывающей несколько часовых поясов

Если сеть включает улицы, расположенные в разных часовых поясах, в каждом источнике ребра можно использовать поле для указания часового пояса каждого объекта. Атрибут часового пояса должен быть настроен со скриптом для оценки поля, который ссылается на это поле.

На концептуальной схеме внизу показан общий вид этой конфигурации в действии. Поле под названием TimeZoneID для исходных классов объектов ребра показывает, в каком часовом поясе расположены объекты. Значение поля TimeZoneID – это внешний ключ в таблице часовых поясов, которая находится в той же рабочей области, что и набор сетевых данных, и содержит список часовых поясов, релевантных для сети. Поле MSTimeZone в таблице часовых поясов также является внешним ключом, но для записи в реестре Windows. (обычно в качестве идентификаторов и внешних ключей используются целые числа, но реестр использует для идентификации часовых поясов текстовые значения). Реестр предоставляет для Network Analyst информацию о сдвиге относительно UTC и диапазонах дат летнего времени.

Концептуальный обзор часовых поясов в наборе сетевых данных
Улицы, для которых значение поля TimeZoneID равно 14, выделены и связаны с записью Pacific Standard Time (тихоокеанское стандартное время) в таблице часовых поясов. Значение MSTimeZone связывает улицы с ключом Pacific Standard Time (тихоокеанское стандартное время) в реестре. На основе этих отношений, Network Analyst определяет, что данные улицы имеют сдвиг относительно UTC, равный -8 часов с ноября по март и -7 часов с марта по ноябрь.

  1. Создайте таблицу часовых поясов в рабочей области набора данных сети.

    Таблица может иметь любое имя, но в ней должно быть текстовое поле с именем MSTimeZone.

    Создайте таблицу, щелкнув правой кнопкой мыши на базе геоданных и выбрав Новая > Таблица, или используя инструмент геообработки Создать таблицу.

  2. Добавьте в таблицу строку для каждого часового пояса, необходимого для сети, и установите значения поля MSTimeZone для каждой строки на ID часового пояса, распознаваемый реестром Windows.

    Чтобы создать список идентификаторов часовых поясов, распознаваемых реестром Windows, введите tzutil /l в командной строке Windows. ID — это второе значение, возвращаемое для каждого часового пояса.

    Снимок экрана, сделанный командой tzutil в Windows

  3. Сохраните изменения в таблицу.
  4. Создайте короткое целочисленное поле в каждом классе объектов источников ребер, используемых сетью, и заполните значения этого поля значением ID объекта в строке таблицы часовых поясов, который представляет правильный часовой пояс для данного объекта.
  5. При необходимости сохраните изменения в классах объектов.
  6. Доступ к сетевым атрибутам из диалогового окна Свойства набора сетевых данных.
  7. Щелкните вкладку Часовой пояс.
  8. Установите отметку Добавить атрибут часового пояса.
  9. В ниспадающем списке Таблица часовых поясов выберите подходящую таблицу.
  10. В разделе Анализаторы установите в столбце Тип использование анализатора Скрипт поля для направления По направлению источников ребер в сети. Оставьте направление Против направления источников ребер в значении Также как вдоль.
  11. В столбце Значение раздела Анализаторы для строк, для которых вы установили в поле Скрипт поля на предыдущем шаге, установите значение на имя поля в источнике ребер, которое указывает часовой пояс объекта. Например, если исходный класс объектов использует поле под названием TimeZoneID для ссылки на нужную строку в таблице часовых поясов, настройте анализатор на использование этого поля, задав значение !TimeZoneID!.

    Снимок экрана конфигурации атрибута часового пояса с помощью анализатора скрипта поля
    Атрибут часового пояса настроен для этого набора данных сети с помощью таблицы часовых поясов, называемой TimeZones, и анализатора скрипта поля, который ссылается на поле, называемое TimeZoneID в источнике ребер Routing_Streets.

  12. Нажмите OK.

    Атрибут часового пояса настроен и сохранен в наборе сетевых данных.

  13. Построить набор сетевых данных.

    Теперь сеть готова к использованию.

Настройка атрибута часового пояса для сети, находящейся только в одном часовом поясе

Если все дороги в сети находятся в одном часовом поясе, атрибут часового пояса может быть настроен с помощью оценки константы, которая жестко кодирует часовой пояс для всех ребер сети. Поле в исходных классов объектов ребра не является необходимым для определения часового пояса для каждого объекта, поскольку все объекты находятся в одном часовом поясе. Таблица часовых поясов необходима, но в ней должна быть только одна запись со значением поля MSTimeZone, установленным на имя одного часового пояса, относящегося к данной сети. Реестр Windows предоставляет для Network Analyst информацию о сдвиге относительно UTC и диапазонах дат летнего времени для этого часового пояса.

  1. Создайте таблицу часовых поясов в рабочей области набора данных сети.

    Таблица может иметь любое имя, но в ней должно быть текстовое поле с именем MSTimeZone.

    Можно создать таблицу, щелкнув правой кнопкой мыши на базе геоданных и выбрав Новая > Таблица, или используя инструмент геообработки Создать таблицу.

  2. Добавьте в таблицу строку и установите значения поля MSTimeZone на правильный ID часового пояса, распознаваемый реестром Windows.

    Чтобы создать список идентификаторов часовых поясов, распознаваемых реестром Windows, введите tzutil /l в командной строке Windows. ID — это второе значение, возвращаемое для каждого часового пояса.

    Снимок экрана, сделанный командой tzutil в Windows

    Снимок таблицы атрибутов таблицы часовых поясов с одной строкой
    Таблица часовых поясов называется TimeZones и имеет обязательное поле MSTimeZone. Эта таблица часовых поясов будет использоваться для сети, ребра которой полностью находятся в зоне Тихоокеанского поясного времени, поэтому в таблице есть одна строка со значением Тихоокеанское поясное время.

  3. Сохраните изменения в таблицу.
  4. Доступ к сетевым атрибутам из диалогового окна Свойства набора сетевых данных.
  5. Щелкните вкладку Часовой пояс.
  6. Установите отметку Добавить атрибут часового пояса.
  7. В ниспадающем списке Таблица часовых поясов выберите подходящую таблицу.
  8. В разделе Анализаторы убедитесь, что строка с надписью <Default> в столбце Источник настроена на оценку Константа в столбце Тип, и что в столбце Значение указано отображаемое имя желаемого часового пояса для набора данных сети. Оставьте для направления По направлению для источников ребер в сети настройку То же, что по умолчанию, а для направления Против направления для источников ребер настройку Также как вдоль.

    Поскольку таблица часовых поясов содержит только одну строку, набор данных сети автоматически выбирает эту строку в качестве часового пояса по умолчанию.

    Снимок экрана конфигурации атрибута часового пояса с помощью оценки константы
    Атрибут часового пояса настроен для этого набора данных сети с помощью таблицы часовых поясов, называемой TimeZones, и оценки константы, жестко привязанной к определенному часовому поясу. В источнике рёбер используется анализатор рёбер по умолчанию, поскольку все рёбра находятся в одном часовом поясе.

  9. Нажмите OK.

    Атрибут часового пояса настроен и сохранен в наборе сетевых данных.

  10. Построить набор сетевых данных.

    Теперь сеть готова к использованию.