Доступно с лицензией Network Analyst.
Папка | DriveTimePolygons |
Назначение | Создание полигонов времени езды (или расстояния) вокруг входных точек для данных значений времени езды |
Сервис | DriveTimePolygonsService (сервис геообработки) |
Задача геообработки | Calculate Drive-Time Polygons |
Входные данные |
|
Выходные данные | Один полигон, соответствующий каждому значению времени езды или расстояния для каждого пункта обслуживания |
Данные | Используется набор сетевых данных по улицам для города Сан-Франциско, который предоставляется в папке ToolData |
Расширения | |
Примечание | Демонстрируются базовые действия, которые необходимо выполнить для настройки и использования серверной задачи, необходимой для создания зон обслуживания (эти действия аналогичны настройке сервиса решения задачи выбора маршрута транспорта или сервиса поиска ближайшего с использованием инструментов Решить задачу выбора маршрута транспорта или Найти ближайшие пункты обслуживания, соответственно). |
Соответствующая папка
Данные для этого руководства можно загрузить с сайта 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.
Набор сетевых данных
Папка ArcGIS Network Analyst содержит файловую базу геоданных SanFrancisco.gdb. В наборе классов объектов Transportation содержится набор сетевых данных Streets_ND. Этот набор сетевых данных моделирует сеть улиц города Сан-Франциско. Он обеспечивает атрибуты сети, в том числе TravelTime, который определяет время в минутах, необходимое для прохождения каждого из сегментов улиц, и Метры, в котором установлена длина каждого сегмента улиц.
Набор инструментов и документы карты
Набором инструментов для сервиса геообработки является DriveTimePolygonsService.tbx.
Эти два документа карты, DriveTimePolygonsService.mxd и UsingDriveTimePolygonsService.mxd включены, чтобы удалить второстепенных действия из этого раздела рабочего процесса, такие как добавление слоев, подгонка экстентов карты к изучаемой области и т. п.
Модель
Обзор модели
Ниже показана иллюстрация модели Вычисление полигонов времени езды, которая находится на панели инструментов DriveTimePolygonsService. Существуют четырех входных переменных:
- Входные пункты обслуживания – это центры создаваемых полигонов времени езды. (В сетевом анализе пункт обслуживания – это любое фиксированное местоположение в сети, например здание или текущее местоположение.)
- Граничные значения – это список значения времени езды или расстояний, разделенных пробелами.
- Единицы разрывов определяют единицы измерения для параметра Граничные значения определяют, создаются ли полигоны времени езды или полигоны расстояния. Полигоны времени езды создаются при выборе единиц измерения времени; полигоны расстояния создаются для единиц измерения расстояния.
- Наложение полигонов указывает, создается ли каждое значение границы на основе пункта обслуживания (ДИСКИ) или на основе окончания предыдущей границы (КОЛЬЦА). Эта переменная влияет только на выходные данные для зон обслуживания, которые имеют несколько границ для одного пункта обслуживания.
Инструмент Создать области обслуживания в этой модели создает слой анализа сети областей обслуживания, добавляет оцифрованные пользователем точки в качестве пунктов обслуживание, выполняет операцию решения и выводит полигоны времени езды.
Элемент | Тип | Описание |
---|---|---|
Пункты обслуживания | Набор объектов (точки), входной параметр | Точечные объекты, вокруг которых строятся полигоны времени езды |
Граничные значения | Строка, входной параметр | Список значений времени езды или расстояний, разделенных пробелами |
Единицы разрывов | Строка, входной параметр | Единицы измерения граничных значений |
Тип перекрытия полигонов | Строка, входной параметр | Указывает, следует ли создавать концентрические полигоны зон обслуживания в виде дисков или колец при наличии нескольких граничных значений |
Полигональные барьеры | Набор объектов (полигоны) | Полигональные объекты, которые запрещают прохождение или масштабируют стоимость покрываемых ими сетевых ребер |
Линейные барьеры | Набор объектов (линии) | Линейные объекты, которые запрещают прохождение или масштабируют стоимость покрываемых ими сетевых ребер |
Точечные барьеры | Набор объектов (точки) | Точечные объекты, которые добавляют стоимость или запрещают прохождение через точку в сети |
Streets_ND | Слой набора сетевых данных | Слой набора сетевых данных, для которого вычисляются зоны обслуживания |
Значения Параметра атрибутов | Набор записей | Значения параметров для параметризованных атрибутов сети |
Инструмент | Создает и решает анализ зоны действия | |
SolveSucceeded | Логический | Производные выходные данные, которые указывают, было ли решение успешным |
Полигоны | Векторный слой, выходной параметр | Выходной уровень полигонов, представляющий зоны обслуживания |
Обзор рабочего процесса
Общий рабочий процесс публикации механизма расчета зоны обслуживания в качестве сервиса геообработки приведен ниже.
- Добавьте инструмент Создать области обслуживания в ModelBuilder.
- Определите, какие параметры должны быть доступны для определения клиентами, затем предоставьте их в качестве параметров модели.
- Документируйте параметры в диалоговом окне Описание элемента данной модели.
- Запустите модель в ArcMap один раз.
- Из окна Результаты в ArcMap опубликуйте модель в качестве сервиса геообработки.
Использование набора сетевых данных
Набор сетевых данных для города Сан-Франциско добавляется в документ карты DriveTimePolygonsService в качестве слоя набора сетевых данных (Streets_ND). Этот слой используется в модели в качестве входной переменной для инструмента Создать области обслуживания. Использование сетевого слоя значительно улучшает общее время выполнения модели, так как подключение к набору сетевых данных поддерживается слоем набора сетевых данных всегда открытым. В противном случае, если имеется ссылка на размещение набора сетевых данных на диске, подключение к набору сетевых данных осуществляется каждый раз при выполнении модели, что снижает производительность сервиса геообработки, созданного с помощью модели.
Процессы модели
Инструмент Создать области обслуживания создает слой областей обслуживания ArcGIS Network Analyst (NA), который содержит свойства анализа, ссылается на слой набора сетевых данных Streets_ND, использующийся для анализа, и сохраняет входные пункты обслуживания и выходные полигоны. Набор сетевых данных имеет атрибут сетевой стоимости TravelTime, который определяет время, необходимое на пересечение каждого сегмента улиц. Аналогично, в этом наборе есть стоимостной атрибут Метры, который указывает длину каждого сегмента улиц. На один из этих двух стоимостных атрибутов содержится ссылка в анализе для создания полигонов времени езды или расстояния. На какой из атрибутов содержится ссылка зависит от того, задано ли значение переменной Единицы разрывов как время или расстояние: единицы измерения времени приводят к использованию атрибута TravelTime, а единицы измерения расстояния приводят к использованию атрибута Meters. Инструмент осуществляет все необходимые конвертации единиц измерения.
Граничные значения по умолчанию считываются из переменной Граничные значения, которая представляет собой список значений, разделенных пробелами.
Для этого сервиса использовалась опция NO_MERGE в целях создания перекрывающихся полигонов, которые не объединяются для каждого пункта обслуживания.
Параметр Пункты обслуживания является типом данных набора объектов, так что модель может интерактивно принимать оцифрованные пользователем точки в качестве пунктов обслуживания.
Инструмент вычисляет зону обслуживания на основе опций, указанных во входных параметров, и создает полигоны времени езды. Вычисленные полигоны записываются в выходной слой полигонов.
Возможности сервиса
Параметры в разделе Возможности сервиса диалогового окна инструмента предназначены для ограничения требований к обработке и хранению со стороны клиентских запросов. Они включают определенное поведение. Например, так как параметр Максимальное число пунктов обслуживания для этой модели имеет значение 10, результирующий сервис проверит, какое количество пунктов обслуживания создал пользователь. Если создано 10 пунктов обслуживания и менее, зоны обслуживания будут созданы. Однако если создано больше 10 пунктов обслуживания, сервис незамедлительно закончит работу.
Все прочие параметры функции сервиса работают аналогичным образом за исключением Применить иерархию за пределами значения времени разрыва и Применить иерархию за пределами значения расстояния разрыва. Последние два параметра отключены, так как этот набор сетевых данных для Сан-Франциско не имеет иерархического атрибута. Если бы он его имел, а параметр Использовать иерархию в анализе не был бы отмечен, то вы бы могли заставить эту область обслуживания стать иерархической, когда передаются более высокие граничные значения. Это является преимуществом, так как иерархические зоны обслуживания, хотя они и менее точные, требуют гораздо меньше обработки, чем не иерархические.
Описание элемента
Документируя описание элемента модели геообработки, вы также документируете результирующий сервис и его параметры, так как мастер публикации копирует текст в описание элемента используемого сервиса. Описание или документирование сервиса является обязательной процедурой, призванная помочь пользователям понять, как можно успешно взаимодействовать с сервисом и создавать зоны обслуживания. Модель в этом примере имеет документацию; ее можно просмотреть, щелкнув правой кнопкой мыши модель геообработки в окне Каталог и выбрав пункт Описание элемента.
Публикация
Сервис геообработки публикуется, как описано в приведенных ниже пошаговых инструкциях.
- Откройте DriveTimePolygonsService.mxd. По умолчанию учебные данные находятся в папке C:\arcgis\ArcTutor\GP Service Examples\Network Analyst\DriveTimePolygons.
- Запустите модель геообработки Вычисление полигонов времени езды.
- В окне Каталог разверните DriveTimePolygonsService.tbx, затем дважды щелкните инструмент Вычислить полигоны времени езды.
- В диалоговом окне инструмента Вычислить полигоны времени езды щелкните символ рядом с Пунктами обслуживания, затем щелкните карту, чтобы добавить пункт обслуживания.
- Щелкните ОК, чтобы создать зоны обслуживания.
- Откройте окно Результаты, щелкнув Геообработка > Результаты.
- В окне Результаты, разверните пункт Текущий сеанс.
- Щелкните правой кнопкой мыши пункт CalculateDriveTimePolygons (вслед за которым следует время и дата запуска модели) и выберите Опубликовать как > Сервис геообработки.
- В диалоговом окне Опубликовать как щелкните кнопку Далее.
- Выберите в раскрывающемся списке подключение к ArcGIS for Server с функциями издателя или выполните подключение с помощью кнопки, расположенной справа от раскрывающегося списка.
- Щелкните Далее.
- Выберите публикацию сервиса в корневую папку или укажите другую папку, затем нажмите кнопку Продолжить.
Появится диалоговое окно Редактор сервисов. В качестве описания сервиса копируется текст из описания элемента модели геообработки. Он доступен для редактирования в разделе Описание элемента диалогового окна, а также в разделах непосредственно над ним (Пункты обслуживания, Граничные значения и т. д.).
- Щелкните пункт Параметры, который располагается на левой панели диалогового окна Редактор сервисов, затем выберите пункт Предупреждение в ниспадающем списке Уровень сообщений.
Любая ошибка или предупреждения, возникшие во время выполнения модели в качестве сервиса, будут переданы клиенту.
- Щелкните Анализировать для просмотра любых предупреждений или сообщений об ошибках в окне Издатель.
Если не настроено хранилище данных, появится предупреждение о том, что данные будут скопированы на сервер. Могут также появиться другие сообщения. Предупреждения можно игнорировать; ошибки – нет. Щелкните любое сообщение об ошибке правой кнопкой мыши в окне Издатель, чтобы получить справку по решению той или иной неполадки.
- Щелкните Опубликовать в диалоговом окне Редактор сервиса.
Может незамедлительно появиться диалоговое окно, информирующее о копировании Streets_ND на сервер. После успешной публикации сервиса отображается диалоговое окно Успешно.
- Щелкните ОК.
Использование
- Откройте UsingDriveTimePolygonsService.mxd.
Обратите внимание, что эта карта отображает слой базовой карты ArcGIS Online с масштабированием в области Сан-Франциско.
- Создайте пользовательское подключение к ArcGIS for Server из окна Каталог, если таковое еще не существует.
- Разверните пользовательское подключение, затем разверните набор инструментов DriveTimePolygonsService.tbx.
- Откройте инструмент Вычислить полигоны времени езды, дважды щелкнув его.
- Добавьте точку для создания пункта обслуживания.
- Укажите 2 3 4 в качестве значений времени езды, затем нажмите кнопку OK, чтобы выполнить задачу.
ArcGIS Server получает запрос; анализирует; и возвращает слой, который содержит полигоны зоны обслуживания.
- Включите слой Полигоны, чтобы сделать его видимым.
Уделите время изучению результатов выполнения задачи в окне Результаты.
Дополнительно можно повторно выполнить анализ, но добавить более 10 пунктов обслуживания, чтобы просмотреть, заблокируют ли запрос функции сервиса.