Skip To Content

Пример сервиса геообработки: полигоны времени езды

Доступно с лицензией Network Analyst.

Уровень сложности: СреднийТребования к данным: ArcGIS Tutorial Data for DesktopПуть к данным: C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons Задача: Создавайте, публикуйте и используйте сервис геообработки для создания полигонов на основе времени езды вокруг точек.

Папка

DriveTimePolygons

Назначение

Создание полигонов времени езды (или расстояния) вокруг входных точек для данных значений времени езды

Сервис

DriveTimePolygonsService (сервис геообработки)

Задача геообработки

Calculate Drive-Time Polygons

Входные данные

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

Выходные данные

Один полигон, соответствующий каждому значению времени езды или расстояния для каждого пункта обслуживания

Данные

Используется набор сетевых данных по улицам для города Сан-Франциско, который предоставляется в папке ToolData

Расширения

ArcGIS Network Analyst

Примечание

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

Об этом примере

Соответствующая папка

Данные для этого руководства можно загрузить с сайта ArcGIS.com. Извлечь данные в C:\arcgis\ArcTutor. Модель и некоторые соответствующие данные сохранены в C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons. Набор сетевых данных, на который ссылается слой сетевого анализа модели, хранится в базе геоданных SanFrancisco, которая размещена в папке C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons.

О задаче вычисления полигонов времени езды

Основным назначением задачи вычисления полигонов времени езды является создание полигонов времени езды вокруг заданных пользователем точек. Полигон времени езды – это регион, который охватывает все доступные улицы, которые можно достичь за указанное время езды от заданной точки. Полигоны времени езды могут использоваться для оценки доступности точки применительно к некоторым другим функциям. Например, одно-, двух-, трех-минутные полигоны времени езды вокруг супермаркета могут использоваться для определения людей, которые вероятнее всего приедут в этот магазин.

Пример выходных данных задачи Вычисление полигонов времени езды
Пример выходных данных задачи вычисления полигонов времени езды

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

Данные

Набор сетевых данных для этого примера расположен в папке C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\SanFrancisco.gdb, а документы карт, набор инструментов и другие вспомогательные данные хранятся в местоположении C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons.

Содержание папки DriveTimePolygons
Содержимое папки DriveTimePolygons

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

Папка ArcGIS Network Analyst содержит файловую базу геоданных SanFrancisco.gdb. В наборе классов объектов Transportation содержится набор сетевых данных Streets_ND. Этот набор сетевых данных моделирует сеть улиц города Сан-Франциско. Он обеспечивает атрибуты сети, в том числе TravelTime, который определяет время в минутах, необходимое для прохождения каждого из сегментов улиц, и Метры, в котором установлена длина каждого сегмента улиц.

Набор инструментов и документы карты

Набором инструментов для сервиса геообработки является DriveTimePolygonsService.tbx.

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

Модель

Обзор модели

Ниже показана иллюстрация модели Вычисление полигонов времени езды, которая находится на панели инструментов DriveTimePolygonsService. Существуют четырех входных переменных:

  • Входные пункты обслуживания – это центры создаваемых полигонов времени езды. (В сетевом анализе пункт обслуживания – это любое фиксированное местоположение в сети, например здание или текущее местоположение.)
  • Граничные значения – это список значения времени езды или расстояний, разделенных пробелами.
  • Единицы разрывов определяют единицы измерения для параметра Граничные значения определяют, создаются ли полигоны времени езды или полигоны расстояния. Полигоны времени езды создаются при выборе единиц измерения времени; полигоны расстояния создаются для единиц измерения расстояния.
  • Наложение полигонов указывает, создается ли каждое значение границы на основе пункта обслуживания (ДИСКИ) или на основе окончания предыдущей границы (КОЛЬЦА). Эта переменная влияет только на выходные данные для зон обслуживания, которые имеют несколько границ для одного пункта обслуживания.

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

ЭлементТипОписание

Пункты обслуживания

Набор объектов (точки), входной параметр

Точечные объекты, вокруг которых строятся полигоны времени езды

Граничные значения

Строка, входной параметр

Список значений времени езды или расстояний, разделенных пробелами

Единицы разрывов

Строка, входной параметр

Единицы измерения граничных значений

Тип перекрытия полигонов

Строка, входной параметр

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

Полигональные барьеры

Набор объектов (полигоны)

Полигональные объекты, которые запрещают прохождение или масштабируют стоимость покрываемых ими сетевых ребер

Линейные барьеры

Набор объектов (линии)

Линейные объекты, которые запрещают прохождение или масштабируют стоимость покрываемых ими сетевых ребер

Точечные барьеры

Набор объектов (точки)

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

Streets_ND

Слой набора сетевых данных

Слой набора сетевых данных, для которого вычисляются зоны обслуживания

Значения Параметра атрибутов

Набор записей

Значения параметров для параметризованных атрибутов сети

Создать области обслуживания

Инструмент

Создает и решает анализ зоны действия

SolveSucceeded

Логический

Производные выходные данные, которые указывают, было ли решение успешным

Полигоны

Векторный слой, выходной параметр

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

Элементы модели
Модель Вычисление полигонов времени езды

Обзор рабочего процесса

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

  1. Добавьте инструмент Создать области обслуживания в ModelBuilder.
  2. Определите, какие параметры должны быть доступны для определения клиентами, затем предоставьте их в качестве параметров модели.
  3. Документируйте параметры в диалоговом окне Описание элемента данной модели.
  4. Запустите модель в ArcMap один раз.
  5. Из окна Результаты в ArcMap опубликуйте модель в качестве сервиса геообработки.

Использование набора сетевых данных

Набор сетевых данных для города Сан-Франциско добавляется в документ карты DriveTimePolygonsService в качестве слоя набора сетевых данных (Streets_ND). Этот слой используется в модели в качестве входной переменной для инструмента Создать области обслуживания. Использование сетевого слоя значительно улучшает общее время выполнения модели, так как подключение к набору сетевых данных поддерживается слоем набора сетевых данных всегда открытым. В противном случае, если имеется ссылка на размещение набора сетевых данных на диске, подключение к набору сетевых данных осуществляется каждый раз при выполнении модели, что снижает производительность сервиса геообработки, созданного с помощью модели.

Слой набора сетевых данных в таблице содержания
Слой набора сетевых данных в таблице содержания
Использование слоя набора сетевых данных в модели
Использование слоя набора сетевых данных в модели

Процессы модели

Инструмент Создать области обслуживания создает слой областей обслуживания ArcGIS Network Analyst (NA), который содержит свойства анализа, ссылается на слой набора сетевых данных Streets_ND, использующийся для анализа, и сохраняет входные пункты обслуживания и выходные полигоны. Набор сетевых данных имеет атрибут сетевой стоимости TravelTime, который определяет время, необходимое на пересечение каждого сегмента улиц. Аналогично, в этом наборе есть стоимостной атрибут Метры, который указывает длину каждого сегмента улиц. На один из этих двух стоимостных атрибутов содержится ссылка в анализе для создания полигонов времени езды или расстояния. На какой из атрибутов содержится ссылка зависит от того, задано ли значение переменной Единицы разрывов как время или расстояние: единицы измерения времени приводят к использованию атрибута TravelTime, а единицы измерения расстояния приводят к использованию атрибута Meters. Инструмент осуществляет все необходимые конвертации единиц измерения.

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

Для этого сервиса использовалась опция NO_MERGE в целях создания перекрывающихся полигонов, которые не объединяются для каждого пункта обслуживания.

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

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

Возможности сервиса

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

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

Параметры функций сервиса
Параметры функций сервиса

Описание элемента

Документируя описание элемента модели геообработки, вы также документируете результирующий сервис и его параметры, так как мастер публикации копирует текст в описание элемента используемого сервиса. Описание или документирование сервиса является обязательной процедурой, призванная помочь пользователям понять, как можно успешно взаимодействовать с сервисом и создавать зоны обслуживания. Модель в этом примере имеет документацию; ее можно просмотреть, щелкнув правой кнопкой мыши модель геообработки в окне Каталог и выбрав пункт Описание элемента.

Публикация

Сервис геообработки публикуется, как описано в приведенных ниже пошаговых инструкциях.

  1. Откройте DriveTimePolygonsService.mxd. По умолчанию учебные данные находятся в папке C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons.
  2. Запустите модель геообработки Вычисление полигонов времени езды.
    1. В окне Каталог разверните DriveTimePolygonsService.tbx, затем дважды щелкните инструмент Вычислить полигоны времени езды.
    2. В диалоговом окне инструмента Вычислить полигоны времени езды щелкните символ рядом с Пунктами обслуживания, затем щелкните карту, чтобы добавить пункт обслуживания.
    3. Щелкните ОК, чтобы создать зоны обслуживания.
  3. Откройте окно Результаты, щелкнув Геообработка > Результаты.
  4. В окне Результаты, разверните пункт Текущий сеанс.
  5. Щелкните правой кнопкой мыши пункт CalculateDriveTimePolygons (вслед за которым следует время и дата запуска модели) и выберите Опубликовать как > Сервис геообработки.
  6. В диалоговом окне Опубликовать как щелкните кнопку Далее.
  7. Выберите в раскрывающемся списке подключение к ArcGIS for Server с функциями издателя или выполните подключение с помощью кнопки, расположенной справа от раскрывающегося списка.
  8. Щелкните Далее.
  9. Выберите публикацию сервиса в корневую папку или укажите другую папку, затем нажмите кнопку Продолжить.

    Появится диалоговое окно Редактор сервисов. В качестве описания сервиса копируется текст из описания элемента модели геообработки. Он доступен для редактирования в разделе Описание элемента диалогового окна, а также в разделах непосредственно над ним (Пункты обслуживания, Граничные значения и т. д.).

  10. Щелкните пункт Параметры, который располагается на левой панели диалогового окна Редактор сервисов, затем выберите пункт Предупреждение в ниспадающем списке Уровень сообщений.

    Любая ошибка или предупреждения, возникшие во время выполнения модели в качестве сервиса, будут переданы клиенту.

  11. Может понадобиться щелкнуть вкладку Слияние сервисов и увеличить значение Максимальное время, в течение которого клиент может использовать сервис; все зависит от того, насколько долго сервер должен рассчитывать данные для запросов к самой большой зоне обслуживания. Можно оставить значение по умолчанию для этого сервиса, однако некоторые факторы могут привести к необходимости увеличения этого значения по причинам большего количества разрывов, длинных граничных значений и большего числа пунктов обслуживания в большой сети, а также к необходимости игнорирования сетевой иерархии, обрезки полигонов или создания детализированных полигонов. Скорость обработки на сервере также вносит свой вклад в общее время расчетов.
  12. Щелкните Анализировать Анализировать (Analyze) для просмотра любых предупреждений или сообщений об ошибках в окне Издатель.

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

  13. Щелкните Опубликовать Опубликовать в диалоговом окне Редактор сервиса.

    Может незамедлительно появиться диалоговое окно, информирующее о копировании Streets_ND на сервер. После успешной публикации сервиса отображается диалоговое окно Успешно.

  14. Щелкните ОК.

Использование

  1. Откройте UsingDriveTimePolygonsService.mxd.

    Обратите внимание, что эта карта отображает слой базовой карты ArcGIS Online с масштабированием в области Сан-Франциско.

  2. Создайте пользовательское подключение к ArcGIS for Server из окна Каталог, если таковое еще не существует.
  3. Разверните пользовательское подключение, затем разверните набор инструментов DriveTimePolygonsService.tbx.
  4. Откройте инструмент Вычислить полигоны времени езды, дважды щелкнув его.
  5. Добавьте точку для создания пункта обслуживания.
  6. Укажите 2 3 4 в качестве значений времени езды, затем нажмите кнопку OK, чтобы выполнить задачу.

    ArcGIS Server получает запрос; анализирует; и возвращает слой, который содержит полигоны зоны обслуживания.

  7. Включите слой Полигоны, чтобы сделать его видимым.

    Уделите время изучению результатов выполнения задачи в окне Результаты.

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

Связанные разделы