Упражнение 10: Настройка данных трафика в наборе сетевых данных

Уровень сложности: Начальный Требования к данным: ArcGIS Tutorial Data for Desktop Путь к данным: C:\ArcGIS\ArcTutor\Network Analyst\Tutorial\Exercise10 Задача: Построить набор сетевых данных с поддержкой текущего трафика (дорожного движения на текущий момент времени), используя класс объектов улиц в базе геоданных и файлы DTF, полученные на основе дорожного сервиса.

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

Для выполнения этого упражнения и получения полнофункционального набора сетевых данных с обработкой текущего трафика, необходимо создать учетную запись провайдера на получение данных о трафике. Провайдер предоставит вам имя пользователя и пароль для доступа к каналу трафика. Учетные данные вводятся в инструмент геообработки Обновить данные трафика (Update Traffic Data), чтобы он мог получать данные и конвертировать их в формат Network Analyst. В данный момент Network Analyst поддерживает данные трафика трех провайдеров: INRIX, NAVTEQ и TomTom.

В последних шагах этого упражнения вы узнаете, как визуализировать данные о дорожном движении в ArcMap. В следующем упражнении, Упражнении 11, показано, как проводить сетевой анализ на основе динамической скорости дорожного движения.

ПримечаниеПримечание:

Данные для этого и других учебных упражнений Network Analyst доступны на сайте ArcGIS.com. После загрузки данных их можно извлечь в любое место. Однако удобнее извлечь их в папку C:\arcgis\ArcTutor, поскольку эта папка указана в упражнениях как местоположение учебных данных по умолчанию.

Прежние версииПрежние версии:

Учебные данные для этого упражнения были обновлены в ArcGIS 10.1 Service Pack 1 и опубликованы на ArcGIS.com вместе с моделью и скриптом. Перед началом этого упражнения убедитесь, что у вас имеется последняя версия данных ArcTutor.

Создайте папку для хранения файлов текущего трафика (файлов DTF)

Для получения данных о текущей скорости движения наборы сетевых данных должны беспрерывно получать файлы трафика от провайдера. Позже в этом упражнении вы воспользуетесь инструментом геообработки, чтобы из канала передачи данных о трафике получить файлы трафика, называющиеся файлами формата динамического трафика (DTF). Однако сейчас вам нужно создать пустую папку, в которой вы будете хранить эти файлы, поэтому, когда вы будете создавать набор сетевых данных, достаточно указать эту папку.

Шаги:
  1. Откройте окно Проводник.
  2. В месте, где у вас имеются права на чтение и запись, создайте папку TrafficFiles. Например, можно создать папку в директории C:\Data, т.е. полный путь будет иметь вид C:\Data\TrafficFiles.

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

Создание набора сетевых данных

Шаги:
  1. Чтобы запустить ArcCatalog, выберите Пуск (Start) > Все программы (All Programs) > ArcGIS > ArcCatalog 10.2.2..
  2. Активируйте дополнительный модуль ArcGIS Network Analyst.
    1. Щелкните Настройка (Customize) > Дополнительные модули (Extensions).

      Откроется диалоговое окно Дополнительные модули (Extensions).

    2. Отметьте ArcGIS Network Analyst.
    3. Щелкните Закрыть (Close).
  3. На панели инструментов Стандартные (Standard) нажмите кнопку Подключиться к папке (Connect To Folder) Подключиться к папке.

    Откроется диалоговое окно Подключиться к папке (Connect to Folder).

  4. Перейдите к папке с учебными материалами модуля Network Analyst.

    Местоположение по умолчанию для учебных материалов — C:\ArcGIS\ArcTutor\ArcGIS Network Analyst\Tutorial.

  5. Нажмите ОК.

    Ярлык для этой папки будет добавлен в Дерево каталога (Catalog Tree) под заголовком Подключения к папкам (Folders Connection).

    Дерево Каталога

  6. В дереве каталога (Catalog Tree) разверните узел \ArcTutor\Network Analyst\Tutorial > Exercise10 > SanDiego.gdb.
  7. Щелкните на наборе классов объектов Transportation.

    Классы пространственных объектов, содержащиеся в наборе классов объектов, перечислены на закладке Содержание (Contents) в ArcCatalog.

  8. Щелкните правой кнопкой на наборе классов объектов Транспорт (Transportation) и щелкните на Новый (New) > Набор сетевых данных (Network Dataset).

    Откроется мастер создания Нового набора сетевых данных (New Network Dataset).

  9. Введите SanDiego_ND в качестве имени набора сетевых данных.
  10. Щелкните Далее (Next).
  11. Выберите для параметра класса объектов Streets, чтобы использовать его в качестве источника для набора сетевых данных.
  12. Щелкните Далее (Next).
  13. Щелкните Да (Yes) для моделирования поворотов в сети.
  14. Опция <Global Turns> (Глобальные повороты) включена – она позволяет добавлять штрафы по умолчанию за повороты.
  15. Отметьте Ограниченные повороты (RestrictedTurns) для использования этого источника объектов поворотов.
  16. Щелкните Далее (Next).

    Отобразится информация о настройки связности. В данном случае мы будем использовать установки по умолчанию – не изменяйте здесь никаких настроек.

  17. Щелкните Далее (Next).
  18. Данный набор данных имеет поля высот, поэтому убедитесь, что выбрана опция Использование полей высот (Using Elevation Fields). Выберите в слое улиц в качестве источника из-в F_ZLEV, а в качестве к-из – T_ZLEV.
  19. Щелкните Далее (Next).
  20. На этой странице мастера можно настроить данные текущего трафика и историю трафика. Для настройки текущего трафика требуется настройка истории трафика.

    База геоданных Сан-Диего содержит две таблицы с историей трафика: Patterns (Модели движения) и Streets_Patterns (Улицы–Модели).

    Таблица Patterns для набора сетевых данных играет роль Таблицы профилей (Profiles table). Каждый профиль описывает вариацию скорости движения по 15-минутным интервалам на протяжение одного дня.

    Таблица Streets_Patterns играет роль Таблицы связи улиц и профилей (Streets-Profiles table). Записи в таблице связывают объекты источников ребер с профилями в таблице Patterns. Для каждого оцифрованного направления исходного объекта на каждый день недели может быть указан отдельный профиль. Связав исходные объекты улиц с профилями дорожного движения, можно описать различные скорости движения по улицам на всю неделю.

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

    Таблица связи улиц и TMC (Streets-TMC table) используется с данными текущего трафика. Она связывает исходные объекты со стандартными кодами TMC (каналов сообщений трафика), которые, в свою очередь, ссылаются на текущие скорости движения, хранимые в файлах DTF (формат динамического трафика). Файлы DTF разработаны специально для чтения наборами сетевых данных. Инструмент Обновить данные трафика (Update Traffic Data) создает файлы DTF, установив подключение к каналу провайдера, передающему данные дорожного движения, затем считав эти данные и преобразовав их в формат динамического трафика. Позже вы запустите этот инструмент и сохраните выходные файлы в созданной папке TrafficFiles.

    Дополнительный модуль Дополнительный модуль ArcGIS Network Analyst распознает схему таблиц и автоматически настраивает разделы истории трафика на этой странице мастера. Он также настраивает раздел текущего трафика, но не свойство Местоположение канала трафика (Traffic Feed Location).

  21. В разделе Активный трафик: таблица Streets-TMC (Live Traffic: Streets-TMC Table) убедитесь, что для поля Таблица (Table) задано Streets_TMC, а для поля Поле TMC (TMC Field) задано TMC.
  22. Щелкните Местоположение канала трафика (Traffic Feed Location), чтобы задать это свойство.

    С правой стороны появится кнопка с многоточием.

  23. Нажмите кнопку с многоточием.

    Откроется диалоговое окно Местоположение канала текущего трафика (Live Traffic Feed Location). Это позволит вам задать одну из трех опций: не использовать текущий трафик (Нет (None)), использовать папку с файлами DTF (Папка (Folder)), или использовать сервис геообработки, поставляющий данные трафика в набор сетевых данных.

  24. Щелкните Папка (Folder), затем щелкните кнопку обзора. Обзор.

    Откроется диалоговое окно Папка местоположения канала активного трафика (Live Traffic Feed Location Folder).

  25. Найдите и щелкните папку TrafficFiles, которую вы создали ранее, например, C:\Data\TrafficFiles. (Для ссылки на эту папку можно также использовать путь UNC. Это удобно, если вы планируете распространить несколько таких наборов сетевых данных по локальной сети.)
  26. Нажмите ОК.

    Вернувшись в окно Местоположение канала текущего трафика (Live Traffic Feed Location), вы увидите путь к папке TrafficFiles.

  27. При первой загрузке данных трафика в папке TrafficFiles будет создана папка v1. Ее необходимо добавить к показанному пути.

  28. Щелкните в конце пути к папке в поле Папка (Folder) и введите \v1.

    Полный путь будет выглядеть так: C:\Data\TrafficFiles\v1.

  29. Нажмите ОК.

    Папка TrafficFiles будет указана в поле Местоположение канала трафика (Traffic Feed Location) мастера Новый набор сетевых данных (New Network Dataset).

  30. Щелкните Далее (Next).

    На экране появится страница с перечнем всех текущих сетевых атрибутов.

  31. Мастер создаст несколько атрибутов стоимости из некоторых предоставленных данных. Атрибуты Minutes (Минуты) и Meters (Метры) будут созданы автоматически из атрибутов с теми же именами у исходных объектов. Атрибут TravelTime (Время в пути) будет создан на основе информации, которая была введена на странице трафика в мастере Новый набор сетевых данных (New Network Dataset). Атрибуты WeekdayFallbackTravelTime (Резервное время в пути в рабочие дни) и WeekendFallbackTravelTime (Резервное время в пути в выходные дни) будут созданы для использования с атрибутом TravelTime. Каждый из этих сетевых атрибутов имеет инструменты оценки (evaluator) для оценки атрибутивных значений. На следующих этапах будет рассмотрен метод оценки трафика ребер для атрибута TravelTime.

  32. Щелкните атрибут TravelTime, чтобы выделить его, и выберите Оценки (Evaluators).

    Откроется диалоговое окно Оценки (Evaluators).

  33. Щелкните закладку Значения источника (Source Values).
  34. Удерживая клавишу CTRL, щелкните две строки, начинающиеся со слова Streets.
  35. Щелкните правой кнопкой одну из выбранных строк и выберите Значение (Value) > Свойства (Properties)..

    Откроется диалоговое окно Методы оценки трафика ребер (Edge Traffic Evaluators).

  36. Обратите внимание, что в списке приведен порядок оценки. Поскольку вы настроили текущий трафик, инструмент оценки будет в первую очередь пытаться извлечь стоимости пути из данных текущего трафика, обратившись к файлам DTF в папке TrafficFiles. Поскольку папка сейчас пуста, инструмент оценки перейдет к историческим данным. Сходным образом, если для данной улицы или данного времени недоступен текущий трафик, набор сетевых данных будет использовать следующую доступную опцию: историю трафика. Если данные истории трафика также недоступны, стоимости пути будут получены из атрибутов стоимости, указанных в атрибуте Дни недели (Weekdays) или Выходные (Weekends), в зависимости от дня недели, для которого запрашиваются данные.

    Тем не менее, в случае с нашим набором данных, инструменты оценки обоих атрибутов WeekdayFallbackTravelTime и WeekendFallbackTravelTime извлекают свои значения из атрибута стоимости Minutes, что означает, что эти резервные атрибуты в реальности не делятся на рабочие дни и выходные дни. Чтобы явно показать равенство этих значений, проведем настройку атрибутов Дни недели (Weekdays) и Выходные (Weekends) для чтения непосредственно из Minutes, затем удалим атрибуты WeekdayFallbackTravelTime и WeekendFallbackTravelTime из набора сетевых данных.

  37. В ниспадающем списке Дни недели (Weekdays) выберите Минуты (Minutes).
  38. В ниспадающем списке Выходные (Weekends) выберите Минуты (Minutes).
  39. Нажмите ОК.

    Диалоговое окно Методы оценки трафика ребер (Edge Traffic Evaluators) закроется.

  40. Выберите WeekdayFallbackTravelTime из ниспадающего списка Атрибут (Attribute) и изучите свойства на закладке Значения источника (Source Values). Повторите то же для WeekendFallbackTravelTime.

    Обратите внимание, что оба инструмента оценки для источника Streets производят чтение из одного и того же поля Minutes. Именно поэтому мы удаляем эти два сетевых атрибута и используем вместо них для оценки трафика ребер сетевой атрибут Minutes.

  41. Закройте диалоговое окно Оценки (Evaluators) кнопкой OK.
  42. В мастере Новый набор сетевых данных (New Network Dataset) щелкните атрибут WeekdayFallbackTravelTime и нажмите Удалить (Remove).
  43. Щелкните атрибут WeekendFallbackTravelTime и нажмите Удалить (Remove).

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

Модуль Network Analyst использует атрибут часового пояса для правильной конвертации значений даты и времени текущего трафика в значения местного часового пояса. В этом упражнении атрибут часового пояса уже был создан автоматически – это происходит, когда выполняются следующие условия:

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

  • В классе объектов источников ребер имеется целочисленное поле TimeZoneID, либо в таблице часовых поясов присутствует ровно одна запись.

    Модуль Network Analyst автоматически создает поля оценок, если замечает в классе источников ребер поле TimeZoneID, поскольку это поле должно содержать целочисленные значения, связывающие объекты источников ребер с идентификаторами ObjectID часовых поясов, перечисленных в таблице часовых поясов.

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

Набор сетевых данных по Сан-Диего полностью находится в одном часовом поясе. На этом этапе мы проверим, как программный модуль Network Analyst настроил сетевой атрибут часового пояса для этого набора данных.

Шаги:
  1. Щелкните правой кнопкой на атрибуте TimeZoneID и выберите пункт контекстного меню Связанная таблица часовых поясов (Related Time Zone Table).

    Откроется еще одно контекстное меню, в котором уже отмечена опция TimeZones. TimeZones – это имя таблицы с текстовым полем MSTimeZone. Network Analyst распознал это поле и, как следствие, автоматически связал сетевой атрибут часового пояса с этой таблицей.

  2. Закройте оба контекстных меню, нажав два раза клавишу ESC.
  3. Выбрав TimeZoneID, щелкните Оценки (Evaluators).

    Откроется диалоговое окно Оценки(Evaluators). На закладке Значения источника (Source Values) не задано никаких оценок, потому что класс объектов Streets не содержит поля TimeZoneID.

  4. Щелкните на закладке Значения по умолчанию (Default Values).

    Каждый тип исходных объектов приведен в отдельной строке списка. Строка Ребро (Edge) указывает, что всем ребрам присвоена постоянная оценка 1, что совпадает со значением Object ID единственной записи в таблице TimeZones. Значение поля MSTimeZone для этой записи – Тихоокеанское время (Pacific Standard Time), таким образом, эта оценка означает, что все ребра в наборе сетевых данных относятся к тихоокеанскому часовому поясу.

  5. Закройте диалоговое окно Оценки (Evaluators) кнопкой Отмена (Cancel).

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

Шаги:
  1. Щелкните Далее (Next).
  2. Для настройки путевого листа щелкните Да (Yes).
  3. Нажмите Далее (Next).

    Будет отображена для просмотра итоговая информация обо всех настройках.

  4. Щелкните Готово (Finish).

    Появится индикатор процесса, позволяющий следить за процессом создания набора сетевых данных в модуле Network Analyst.

  5. После создания сети система выдаст запрос на её построение. В процессе построения определяются связанные элементы сети и заполняются атрибуты набора сетевых данных. Построение сети необходимо перед выполнением любых операций сетевого анализа.

  6. Щелкните Да (Yes).

    Появится индикатор процесса построения набора сетевых данных (Build Network Dataset); по окончании процесса построения он исчезнет.

    Новый набор сетевых данных, SanDiego_ND, добавлен в базу геоданных SanDiego. Также добавляется класс объектов системных соединений SanDiego_ND_Junctions.

Канал активного трафика

Вы только что создали и построили набор сетевых данных. Теперь вы можете настроить механизм автоматической загрузки данных трафика в папку TrafficFiles. Набор сетевых данных настроен на получение текущей скорости движения из папки TrafficFiles. В следующих подразделах вы будете использовать модель геообработки, которая создает файлы DTF в папке TrafficFiles, создадите скрипт Python для запуска модели, затем создадите задачу Планировщика заданий Windows (Windows Scheduler) для запуска этого скрипта с заданными интервалами. Это обеспечит поступление свежих данных о текущем трафике для вашего набора сетевых данных.

Учетная запись поставщика данных

Для загрузки данных трафика от провайдера необходимы имя пользователя и пароль. Для завершения этого упражнения и получения полнофункционального набора сетевых данных с обработкой текущего трафика, необходимо создать учетную запись провайдера на получение данных о трафике. В данный момент Network Analyst поддерживает данные трафика трех провайдеров: INRIX, NAVTEQ и TomTom.

Не все провайдеры обеспечивают одинаковое покрытие, а многие области вообще не охвачены данными о движении. При выборе провайдера для вашего набора сетевых данных, убедитесь, что у него имеются данные для вашей географической области. Все три провайдера данных, поддерживаемые инструментом геообработки Обновить данные трафика (Update Traffic Data) предоставляют данные для Сан-Диего, поэтому для завершения этого упражнения можно подключиться к любому из них.

ПодсказкаПодсказка:

Чтобы узнать, какие регионы поддерживаются провайдерами и инструментом геообработки Обновить данные трафика (Update Traffic Data), откройте инструмент Обновить данные трафика (Update Traffic Data) и, выбирая различные значения параметра Провайдер (Provider), просмотрите список регионов в поле Регионы (Regions).

Провайдеры и регионы, доступные инструменту Обновить данные трафика (Update Traffic Data), могут отличаться в различных версиях ArcGIS. Важно использовать последнюю версию и, если возможно, последнюю версию пакета обновлений; это гарантирует, что будет доступен полный список поддерживаемых регионов.

Инструмент модели

Предположим, что вы получили учетные данные, необходимые для получения данных о текущем трафике, следующий шаг – открыть инструмент модели геообработки, который запускает Обновить данные трафика (Update Traffic Data) и ввести следующую информацию:

  • Провайдер данных
  • Имя пользователя и пароль
  • Регион провайдера данных, предоставляющий данные для Сан-Диего

Более подробноБолее подробно:

Не нужно запускать инструмент Обновить данные трафика (Update Traffic Data) в модели; вместо этого можно отредактировать скрипт Python, описанный в следующем разделе, так, чтобы он непосредственно запускал инструмент Обновить данные трафика. Однако ваши имя пользователя и пароль будут отображаться в скрипте. При использовании модели и инструмента Обновить данные трафика (Update Traffic Data) для ввода этих данных, имя пользователя и пароль остаются зашифрованными.

Шаги:
  1. В дереве Каталога (Catalog Tree) разверните узел \ArcTutor\Network Analyst\Tutorial > Exercise10 > TrafficTools.tbx.
  2. Щелкните правой кнопкой мыши на модели геообработки Загрузить данные трафика (Download Traffic Data) и выберите Редактировать (Edit).

    Инструмент Загрузить данные трафика (Download Traffic Data) открывается в ModelBuilder.

  3. Дважды щелкните Обновить данные трафика (Update Traffic Data).

    Откроется диалоговое окно Обновить данные трафика (Update Traffic Data).

  4. Щелкните кнопку Справка (Show Help), чтобы увидеть описание параметров на боковой панели.
  5. Заполните диалоговое окно инструмента. Используйте подшаги ниже и боковую панель в качестве справки.
    1. В поле Провайдер (Provider) выберите провайдера данных, который предоставил вам учетную запись.
    2. В поле Имя пользователя (User Name) введите имя пользователя для доступа к данным провайдера.
    3. В поле Пароль (Password) введите пароль для доступа к данным провайдера.
    4. В поле Регионы (Regions) выберите регион, к которому относится Сан-Диего, Калифорния.
    5. В поле Выходная папка данных трафика (Traffic Data Output Folder) укажите путь к папке TrafficFiles, которую вы создали в первом разделе этого упражнения. Это была папка C:\Data\TrafficFiles.
    6. В поле Ожидаемый интервал обновления в минутах (Expected Update Interval in Minutes) введите интервал, с которым будут загружаться новые файлы трафика.

      Другими словами, как часто вы хотите обновлять скорость движения? Обычные значения это 5, 10 или 15 минут. Следует убедиться, что вы не задали частоту обновления выше, чем частота обновления данных у провайдера; иначе вы будете загружать одни и те же данные несколько раз.

      ПодсказкаПодсказка:

      Запомните значение Ожидаемый интервал обновления в минутах (Expected Update Interval in Minutes), оно потребуется при создании задания в Планировщике задач Windows (Windows Task Scheduler).

    7. В поле Максимальный возраст файла в минутах (Maximum File Age in Minutes) введите интервал, с которым устаревшие файлы трафика будут удаляться. По умолчанию, файлы хранятся 12 часов (720 минут).

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

    8. Нажмите ОК.

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

  6. Щелкните кнопку Сохранить, Сохранить (Save) и закройте окно ModelBuilder модели Загрузить данные трафика (Download Traffic Data).

Скрипт Python

В этом разделе вы будете запускать скрипт Python, который вызывает модель геообработки, настроенную в предыдущем разделе. Скрипт называется DownloadTraffic.py.

Запуск скрипта Python или модели геообработки приводит к одному и тому же результату: запускается инструмент Обновить данные трафика (Update Traffic Data) и в папке TrafficFiles создаются файлы DTF. Скрипт Python необходим, поскольку в следующем разделе вы воспользуетесь Планировщиком заданий Windows (Windows Task Scheduler) для загрузки данных трафика с регулярными интервалами. Планировщик задач Windows не может запускать непосредственно модель геообработки, потому что инструменты модели должны выполняться в среде ArcGIS Desktop; однако Планировщик задач может выполнять файлы .py (Python), поскольку они работают непосредственно в операционной системе.

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

Шаги:
  1. Нажмите Пуск (Start) > Все программы (All Programs) > Стандартные (Accessories) > Командная строка (Command Prompt).
  2. Выполните следующие подшаги, чтобы открыть папку, содержащую файл DownloadTraffic.py, в окне Командная строка (Command Prompt). По умолчанию, путь к этому файлу C:\ArcGIS\ArcTutor\Network Analyst\Tutorial\Exercise10.

    ПодсказкаПодсказка:

    Если вы не используете Windows XP, можно пропустить следующие подшаги и перейти в папку с помощью Проводника Windows, затем нажмите SHIFT, щелкните папку правой кнопкой мыши и выберите Открыть окно команд (Open command window here).

    1. Введите букву диска, на котором находится DownloadTraffic.py, двоеточие, затем нажмите ENTER.

      Например, если файл находится в папке на диске C:, введите C:.

    2. Введите cd, пробел и путь к папке с файлом DownloadTraffic.py, затем нажмите ENTER.

      Например: cd C:\ArcGIS\ArcTutor\Network Analyst\Tutorial\Exercise10.

  3. Запустите скрипт, введя имя файла, DownloadTraffic.py, затем нажмите ENTER.

    ПримечаниеПримечание:

    Если откроется интерпретатор Python вместо скрипта, введите путь к файлу python.exe, пробел и имя скрипта. Если Python установлен в C:\Python27\ArcGIS10.1, введите C:\Python27\ArcGIS10.1\python.exe DownloadTraffic.py. В этом случае задается программа, которая будет открывать файл, затем имя исполняемого файла.

Задача Планировщика заданий Windows

Теперь вы настроите задачу в Планировщике заданий Windows для запуска скрипта Python, чтобы загружать данных о текущем трафике каждые пять минут.

Шаги:
  1. Откройте Планировщик заданий Windows, щелкнув Пуск (Start) и введя Планировщик заданий (Task Scheduler) в окно поиска Windows, затем нажмите ENTER.
  2. Щелкните Библиотека планировщика заданий (Task Scheduler Library).
  3. На панели Действия (Actions) щелкните Create Basic Task (Создать простую задачу).

    Откроется Мастер создания простой задачи (Create Basic Task Wizard).

  4. Введите имя и, дополнительно, описание задачи, например, имя "DownloadTraffic" и описание "Загрузка трафика с регулярными интервалами для набора сетевых данных ArcGIS".
  5. Щелкните Далее (Next).

    Откроется страница Триггер задачи (Task Trigger).

  6. В разделе Когда запускать задачу? (When do you want the task to start?) щелкните Однократно (One time).

    Хотя необходимо запускать эту задачу каждые пять минут, такой опции здесь нет. Выбрав Однократно (One time), вы сможете позже изменить свойства задания, чтобы оно выполнялось каждые несколько минут, а не раз в день или в неделю.

  7. Щелкните Далее (Next).

    Откроется страница Один раз (One Time).

  8. Введите дату и время начала загрузки данных трафика. В большинстве случаев можно использовать текущее время.
  9. Щелкните Далее (Next).

    Откроется страница Действие (Action).

  10. В разделе Выберите действие для задачи (What action do you want the task to perform?) щелкните Запустить программу (Start a program).
  11. Щелкните Далее (Next).

    Откроется страница Запуск программы (Start a Program).

  12. Щелкните кнопку обзора рядом с полем Программа или сценарий (Program/script) и выберите исполняемый файл интерпретатора Python (python.exe). Вы уже ссылались на этот файл ранее при использовании командной строки; обычно он находится здесь: C:\Python27\ArcGIS10.1\python.exe.
  13. В поле Добавить аргументы (Add arguments) введите полный путь к папке DownloadTraffic.py и заключите его в кавычки (").

    Например: "C:\ArcGIS\ArcTutor\Network Analyst\Tutorial\Exercise10\DownloadTraffic.py"

  14. Щелкните Далее (Next).

    Откроется страница Сводка (Summary).

  15. Щелкните Открыть окно "Свойства" после нажатия кнопки "Готово" (Open the Properties dialog for this task when I click Finish).
  16. Щелкните Готово (Finish).

    Откроется окно свойств задания.

  17. Щелкните закладку Триггеры (Triggers).
  18. Щелкните триггер Один раз (One time) и выберите Изменить (Edit).

    Откроется диалоговое окно Изменение триггера (Edit Trigger).

  19. В разделе Дополнительные параметры (Advanced Settings) щелкните Повторять задачу каждые (Repeat task every), затем выберите в ниспадающем списке значение, которое вы задали в инструменте модели DownloadTrafficData параметру Ожидаемый интервал обновления в минутах (Expected Update Interval in Minutes). Чаще используется значение 5 минут, также применяется 10 или 15 минут.
  20. Выберите Бесконечно (Indefinitely) в списке в течение (for a duration of). Вы также можете выбрать другую продолжительность, чтобы убедиться, что после некоторого промежутка времени задание остановится.
  21. Нажмите ОК.

    Диалоговое окно Изменение триггера (Edit Trigger) закроется.

  22. Эти параметры работают в большинстве случаев; однако следует изучить и другие параметры диалогового окна, чтобы убедиться, что ничего не мешает запуску задания. Например, если вы работаете на ноутбуке, которые не включен в электрическую сеть, следует щелкнуть закладку Условия (Conditions) и отключить параметр Запускать только при питании от электросети (Start the task only if the computer is on AC power).
  23. Нажмите ОК.

    Диалоговое окно свойств задания закроется.

  24. Для проверки правильности настройки, подождите некоторое время и убедитесь, что в папке, указанной параметром Выходная папка данных трафика (Output Traffic Data Folder) инструмента DownloadTrafficData имеется несколько файлов трафика. Если вы использовали предложенное ранее местоположение папки, вы найдете файлы трафика в C:\Data\TrafficFiles\v1; они имеют расширение .dtf.
  25. Закройте Планировщик заданий.

Во время работы скрипта DownloadTraffic появляется окно черного цвета. Когда работа скрипта будет завершена, в выходной папке данных трафика появятся новые файлы трафика. Файлы трафика останутся здесь, пока скрипт не запустится снова и не определит, что некоторые файлы находятся здесь дольше, чем задано в инструменте Обновить данные трафика (Update Traffic Data) параметром Максимальный возраст файла в минутах (Maximum File Age in Minutes). Если время жизни файла трафика превышено, он будет удален.

Отключение и повторное включение задания DownloadTraffic в Планировщике заданий

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

Шаги:
  1. Откройте Планировщик заданий Windows, щелкнув Пуск (Start) и введя Планировщик заданий (Task Scheduler) в окно поиска Windows, затем нажмите ENTER.
  2. Щелкните Библиотека планировщика заданий (Task Scheduler Library).
  3. Найдите в списке задачу DownloadTraffic. Щелкните на ней правой кнопкой мыши и выберите Отключить (Disable).
  4. Когда вы снова начнете работать с набором сетевых данных с трафиком, можно снова включить это задание, чтобы получать данные о трафике. Чтобы снова включить задание, щелкните на нем правой кнопкой мыши и выберите Включить (Enable).

После создания и построения набора сетевых данных вы настроили модель геообработки для загрузки данных трафика и скрыли имя пользователя и пароль. Вы запустили модель через файл Python, чтобы она работала непосредственно в ОС и использовала Планировщик заданий Windows. Наконец вы создали задачу в Планировщике заданий для периодического запуска скрипта. В результате вы получили постоянный поток свежих данных трафика (файлов DTF), который может использоваться в наборе сетевых данных.

Визуализация дорожного движения (трафика)

Набор сетевых данных по Сан-Диего готов для отображения на карте данных о текущей ситуации на дорогах.

Шаги:
  1. Нажмите кнопку ArcMap Запуск ArcMap.
  2. Если откроется диалоговое окно ArcMap – Начало работы (ArcMap – Getting Started), нажмите Отмена (Cancel).
  3. Щелкните на кнопке Добавить данные (Add Data) Добавить данные.
  4. Перейдите к набору сетевых данных SanDiego_ND, который был создан и построен на предыдущем этапе.
  5. Выберите щелчком набор данных SanDiego_ND и щелкните Добавить (Add).

    Откроется диалоговое окно Добавление сетевого слоя (Adding Network Layer).

  6. Добавьте только сам набор сетевых данных, щелкнув Нет (No).

    Слой набора сетевых данных будет добавлен в таблицу содержания и на карту. На карте отображены текущие скорости пути. Зеленым цветом обозначено движение в свободном режиме. Желтым, оранжевым и красным обозначены постепенно снижающиеся скорости движения, по отношению к скорости движения по данной улице в свободном режиме. Из-за того, что трафик отображается определенным цветом относительно скорости в свободном режиме, а не в зависимости от абсолютных скоростей, возникает такая ситуация: улицы в жилых кварталах с текущей скоростью 40 км/ч (равной скорости по таким улицам в свободном режиме) отображаются зеленой линией, тогда как автострада с текущей скоростью 40 км/ч отобразится красным цветом, из-за того, что скорость по ней в свободном режиме гораздо выше – около 100 км/ч.

    По умолчанию ArcMap отображает состояние на дорогах на текущую дату и время. Для ребер с текущим трафиком, это означает, что видны состояния на дорогах, актуальные на данный момент. Ребра с данными из истории трафика, а не с текущими данными, отражают состояния на дорогах, характерные для данного времени суток и данного дня недели. (Если в городе Сан-Диего поздний вечер или раннее утро, все дороги на карте могут иметь зеленый цвет.)

    Более подробноБолее подробно:

    Модуль Network Analyst предполагает, что в операционной системе корректно установлены настройки времени и часового пояса. Если часовой пояс операционной системы не совпадает с часовым поясом набора сетевых данных – что будет в данном случае означать, что вы не находитесь в тихоокеанском часовом поясе (UTC-8) – будет проведена необходимая конвертация часового пояса. Сетевой атрибут TimeZoneID позволяет осуществлять скрытую конвертацию, таким образом, вы увидите актуальное состояние на дорогах в городе Сан-Диего или в любой другой части мира, на которую имеется набор сетевых данных.

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

  7. Щелкните правой кнопкой мыши на слое SanDiego_ND в таблице содержания и выберите Свойства (Properties).
  8. Выберите закладку Символы (Symbology).
  9. Отметьте Показывать только текущий трафик (Show live traffic only) и щелкните OK.

    Трафик, отображаемый на основе исторических данных, будет убран с карты, останутся только ребра с текущим трафиком.

  10. Повторите предыдущие действия, чтобы вновь видеть как текущий трафик, так и историю трафика.
  11. Можно отобразить скорости движения на другую дату и время, для этого примените бегунок времени, как указано ниже.

  12. На панели инструментов Инструменты (Tools) нажмите кнопку Бегунок времени (Time Slider). Бегунок времени.

    Откроется диалоговое окно Бегунок времени (Time Slider).

  13. Бегунок должен быть активирован. Подведите курсор к кнопке Вкл./Откл. время на карте Отключить время на карте и щелкните ее, если отображается Включить время на карте.
  14. Щелкните на бегунке времени и перетащите его на интересующую вас время и дату; вы также можете ввести эту информацию в текстовое поле бегунка времени и нажать ENTER.

    Если нужное время и дата находятся за пределами текущего временного экстента, следует сменить временной экстент нижеследующими действиями.

    1. Нажмите кнопку Опции (Options). Опции в окне Ползунок времени (Time Slider).
    2. Перейдите на закладку Временной экстент (Time Extent).
    3. В ниспадающем списке Ограничить полный временной экстент до (Restrict full time extent to) выберите <Не определено> (<Undefined>).
    4. Измените значения Начального времени (Start time) или Конечного времени (End time) так, чтобы нужное время и дата находились в пределах этих границ.
    5. Нажмите ОК.
    6. Передвиньте бегунок времени на нужное время и дату.

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

    Изменение настроек часового пояса для бегунка времени производится следующим образом.

    1. Нажмите кнопку Опции (Options). Опции в окне Ползунок времени (Time Slider).
    2. Щелкните закладку Отображение времени (Time Display).
    3. Выберите часовой пояс просматриваемой территории из ниспадающего списка Часовой пояс (Time zone).
    4. Щелкните Применять переход на летнее время (Adjust for daylight saving changes), если на данной территории производится переход на летнее время.
    5. Нажмите ОК.

Теперь, когда вы видите на карте данные о текущем движении, вы можете выполнить анализ сети с использованием этих условий; например, вы можете определить самый быстрый путь или область обслуживания на данный момент времени. Как это сделать, показано в Упражнении 11.

5/28/2014