Пример сервиса геообработки: выбор данных
Папка |
SelectingData |
Цель |
Демонстрирует различные способы выбора данных по запросу атрибута или запросу расположения. |
Сервисы |
|
Задачи геообработки |
SelectAndMail, SelectAndPrint |
Входные данные |
Зависит от модели, как правило, строка запроса или набор объектов |
Выходные данные |
Класс объектов выбранных данных, текстовый и PDF-файлы |
Данные |
Использует набор данных участка в городе Манхеттен, Канзас |
Дополнительные модули |
None |
Об этих сервисах
Общей задачей для сервисов геообработки является выбор поднабора данных на основе запроса атрибута или пространственного запроса. Другой общей задачей является печать выходных данных сервиса в различных форматах, чтобы результат был наглядным и удобочитаемым. Модели в этом примере демонстрируют сочетание этих двух задач. Основными инструментами геообработки в этих моделях являются Выбрать в слое по атрибуту (Select Layer By Attribute) и Выбрать в слое по расположению (Select Layer By Location). Инструменты используют слои как входные данные. Их выходными данными является обновленный слой входа, содержащий выбранные объекты. Два инструмента-скрипта используются для печати выбранных объектов: один печатает выбранные атрибуты таблицы объектов и их значения в виде текстового файла, другой печатает карту выбранных объектов в виде PDF-файла.
В этом примере вы будете работать с набором инструментов SelectParcel.tbx. SelectParcel.tbx содержит две группы инструментов: SelectScripts и SelectModels. SelectScripts содержит два инструмента-скрипта:
- MailTable принимает слой участка в качестве входного и печатает идентификатор и адрес участка для каждого выбранного объекта в текстовом файле.
- PrintMap принимает в качестве входных данных документ ArcMap, фрейм данных, имя слоя, источник слоя и экспортирует содержимое документа карты в PDF-файл.
- SelectAndMail демонстрирует выбор всех участков в радиусе поиска от входного идентификатора участка и использует инструмент-скрипт MailTable для печати выходных данных в виде текстового файла.
- SelectAndPrint объединяет модель SelectAndMail и инструмент-скрипт PrintMap для выбора и печати выбранных объектов в PDF-файл.
Данные
Используются данные небольшой области в городе Манхеттен, Канзас. Данные для этого примера можно загрузить с сайта ArcGIS.com. После завершения загрузки распакуйте zip-файл в папку C:\arcgis\ArcTutor. База геоданных, использованная в данном примере: GP Service Examples\SelectingData\ToolData\ManhattanKS.gdb.
Обзор моделей
Модель SelectAndMail
Первые несколько процессов модели SelectAndMail приведены ниже. Модель содержит данные проекта переменную Участки (Parcels) и переменную Идентификатор участка (Parcel ID), параметр модели, который используется в параметре Выражение (Expression) для инструмента Выбрать в слое по атрибуту (Select Layer By Attribute). Этот параметр использует заменитель переменной для создания выражения, которое выбирает объекты, атрибут PID которых соответствует значению переменной Идентификатор участка (Parcel ID).
Хотя это и не является необходимым, рекомендуется подготавливать переменные, которые будут использоваться в качестве заменителей переменных, к этой процедуре. Чтобы подготовить переменные, выполните следующие действия.
- В ModelBuilder щелкните правой кнопкой мыши инструмент и выберите команду Свойства (Properties).
- Перейдите на вкладку Входные условия (Preconditions).
- Выберите переменную или переменные, которые следует подготовить к выполнению инструмента.
Оба инструмента Выбрать в слое по атрибуту (Select Layer By Attribute) и Выбрать в слое по расположению (Select Layer By Location) имеют ряд опций для выбора. Например, инструмент Выбрать в слое по атрибуту (Select Layer by Attribute) использует значение NEW_SELECTION по умолчанию. Можно использовать другие типы выборки, такие как удаление объектов из текущей выборки.
Инструмент Выбрать в слое по расположению (Select Layer By Location) позволяет установить пространственные отношения, такие как CONTAINS, WITHIN и INTERSECT. Модель SelectAndMail использует INTERSECT, как показано ниже.
Остальные процессы модели SelectAndMail приведены ниже. Выход Выбрать в слое по расположению (Select Layer By Location) копируется в класс объектов Выбранные участки (Selected Parcels) с помощью инструмента Копировать объекты (Copy Features). Класс Выбранные участки (Selected Parcels) используется в качестве входных данных для инструмента-скрипта MailTable, который печатает идентификатор и адрес участка в текстовый файл Output.txt.
Модель SelectAndPrint
Модель SelectAndPrint объединяет модель SelectAndMail и инструмент-скрипт PrintMap для выбора и печати выбранных объектов в PDF-файл. Выходными данными модели SelectAndMail является класс Выбранные участки (Selected Parcels), который используется в качестве входных данных для инструмента-скрипта PrintMap. PrintMap нуждается в предоставлении значений для входных параметров Map, DataFrame, Layer, DataSource, WorkspaceType и выходного параметра OutputPDF, как показано ниже.
Подключение к ArcGIS for Server
Убедитесь, что у вас есть разрешения на публикацию содержимого на сервере. Если таковые имеются, выполните приведенные ниже действия для создания подключения публикации или управления сервером.
- В окне Каталог (Catalog) перейдите к пункту ГИС серверы (GIS Servers) > Добавить ArcGIS Server (Add ArcGIS Server), чтобы открыть мастер ArcGIS for Server.
- Установите флажок Опубликовать ГИС сервисы (Publish GIS Services) или Администрировать ГИС-сервер (Administer GIS Server), затем нажмите кнопку Далее (Next) для открытия окна Общие (General).
- В окне Общие (General) введите значение для параметра URL-адрес для администратора сервера (Server admin URL) и предоставьте значения для параметров Имя пользователя (User Name) и Пароль (Password) в целях прохождения аутентификации.
- Щелкните Готово (Finish), чтобы завершить создание подключения.
Подключение к серверу должно появиться в разделе ГИС-серверы (GIS Servers).
Предоставление общего доступа к картографическому сервису
Выполните приведенные ниже пошаговые инструкции для создания картографического сервиса, который будет использоваться в качестве базовой карты:
- В окне Каталог (Catalog), перейдите в папку C:\arcgis\ArcTutor\GP Service Examples\SelectingData.
- Откройте ParcelBaseMap.mxd.
- В раскрывающемся меню ArcMap выберите Файл (File) > Опубликовать как (Share as) > Сервис (Service). Открывается мастер Опубликовать как сервис (Share as Service).
- Щелкните переключатель Опубликовать сервис (Publish a service), затем нажмите кнопку Далее (Next).
- Предоставьте подключение к ArcGIS for Server. Назовите сервис ParcelBaseMap. Щелкните Далее (Next).
- Выберите корневую папку по умолчанию или укажите другую папку и щелкните Продолжить (Continue) для открытия редактора сервисов.
- В окне Редактор сервисов (Service Editor) щелкните Функции (Capabilities) для отображения всех опций. Параметры Картография (Mapping) и KML установлены по умолчанию. Снимите флажок KML.
- Перейдите на вкладку Описание элемента (Item Description) и предоставьте значения для требуемых полей Общая информация (Summary) и Теги (Tags).
- Щелкните Анализировать .
- Если отображаются какие-либо предупреждения или ошибки в окне Подготовка (Prepare), исправьте их, щелкая правой кнопкой строку с ошибкой или предупреждением и выбирая выделенное сообщение.
- Если все готово, щелкните Опубликовать (Publish) для публикации сервиса.
При успешной публикации появится сообщение об успешной публикации. После обновления подключения к серверу, которое было создано в предыдущем разделе, вы сможете увидеть картографический сервис под этим подключением.
Предоставление общего доступа к сервису геообработки
Запуск инструмента SelectAndMail и предоставление доступа к результату
- В окне Каталог (Catalog) перейдите по пути C:\arcgis\ArcTutor\GP Service Examples\SelectedParcelMap. Если нет необходимости запускать файл из этого каталога, скопируйте его в локальный каталог.
- Откройте SelectAndMail.mxd.
- В окне Каталог (Catalog) перейдите к папке Home . Разверните группу инструментов Models.tbx из SelectParcel.tbx и дважды щелкните SelectAndMail, чтобы открыть соответствующее диалоговое окно.
- Для первого параметра Идентификатор участка (Parcel ID) можно указать идентификатор, который следует выбрать, или использовать значение по умолчанию.
- Для параметра Расстояние поиска (Search Distance) можно указать расстояние и единицу измерения или использовать значение по умолчанию.
- Для параметра Выбранные участки (Selected Parcels)можно задать собственный выходной путь или использовать значение по умолчанию. Здесь будет сохраняться класс объектов для выбранных участков.
- Для параметра OutputTxtможно задать собственный выходной путь текстового файла или использовать значение по умолчанию. Сюда будет сохраняться текстовый файл, содержащий значения идентификаторов и адресов участков.
- Щелкните OK, чтобы запустить инструмент.
- Если окно Результаты (Results) не открыто, щелкните Геообработка (Geoprocessing) > Результаты (Results) в раскрывающемся меню ArcMap.
- В узле Текущий сеанс (Current Session) окна Результаты (Results) просмотрите результат SelectAndMail, созданный на более ранних этапах.
Результат должен отображать значок инструмента модели . При отображении ошибки необходимо развернуть результат, прочитать сообщение об ошибке, содержащееся в узле Сообщения (Messages), затем повторно запустить инструмент с внесенными изменениями, пока не будет достигнут надлежащий результат.
Чтобы изучить содержимое выходного текстового файла, разверните результат в окне Результаты (Results) и дважды щелкните файл Output.txt, чтобы открыть его в текстовом редакторе по умолчанию.
- Чтобы предоставить общий доступ к задаче модели в качестве сервиса геообработки, выполните следующие действия.
- В окне Результаты щелкните правой кнопкой мыши результат и выберите Общий доступ (Share As) > Сервис геообработки (Geoprocessing Service).
- В открывшемся окне Опубликовать как сервис (Share As Service) доступны три опции. Выберите опцию Опубликовать сервис (Publish a service), затем нажмите кнопку Далее (Next).
- Выберите подключение для администрирования сервера, которое было создано на этапе Выбор подключения и предоставьте имя сервиса с поле Имя сервиса (Service name). Щелкните Далее (Next).
Если при указании значения Имя сервиса (Service name) оставить имя по умолчанию SelectAndMail, тогда имя сервиса и задачи будет одинаковым. Если необходимо, чтобы имя сервиса отличалось от имени задачи, укажите другое имя сервиса.
- Выберите Использовать существующую папку (Use existing folder) или Создать новую папку (Create new folder), затем нажмите кнопку Продолжить (Continue) для открытия окна редактор сервисов.
- В левой панели редактора сервисов щелкните Параметры (Parameters). В правой панели редактора сервисов перейдите к параметру Максимальное число записей, возвращаемое сервером (Maximum number of records returned by the server), который расположен в разделе Свойства (Properties). Измените значение по умолчанию 1000 на 2000, так как количество выходных объектов может превысить 1000.
- Щелкните Опубликовать (Publish) в правом верхнем углу редактора сервисов. Открывается окно Копирование данных на сервер (Copying Data to Server) со слоем Участок (Parcel), который будет загружен на сервер. Нажмите ОК.
- Появится два окна: Выполняется упаковка (Package in progress) и Пакетов в сервисе (Package in Service). После завершения публикации откроется окно Успешно (Succeeded) с сообщением Сервис успешно опубликован (Successfully published service). Щелкните ОК, чтобы завершить процесс публикации.
Запуск инструмента SelectAndPrint и предоставление доступа к результату
- В окне Каталог (Catalog) перейдите по пути C:\arcgis\ArcTutor\GP Service Examples\SelectedParcelMap. Если нет необходимости запускать файл из этого каталога, скопируйте его в локальный каталог.
- Откройте SelectAndPrint.mxd.
- В окне Каталог (Catalog) перейдите к папке Home . Разверните группу инструментов Models.tbx из SelectParcel.tbx и дважды щелкните SelectAndPrint, чтобы открыть соответствующее диалоговое окно.
- Для первого параметра Идентификатор участка (Parcel ID) можно указать идентификатор, который следует выбрать, или использовать значение по умолчанию.
- Для параметра Расстояние поиска (Search Distance) можно указать расстояние и единицу измерения или использовать значение по умолчанию.
- Для параметра Выбранные участки (Selected Parcels)можно задать собственный выходной путь или использовать значение по умолчанию. Здесь будет сохраняться класс объектов для выбранных участков.
- Для параметра OutputPDFможно задать собственный выходной путь PDF-файла или использовать значение по умолчанию. Здесь будут сохранены выбранные участки в виде файла карты в формате PDF.
- Щелкните OK, чтобы запустить инструмент.
- Если окно Результаты (Results) не открыто, щелкните Геообработка (Geoprocessing) > Результаты (Results) в главном меню ArcMap.
- В узле Текущий сеанс (Current Session) окна Результаты (Results) просмотрите результат SelectAndPrint, созданный на более ранних этапах.
Результат должен отображать значок инструмента модели . При отображении ошибки необходимо развернуть результат, прочитать сообщение об ошибке, содержащееся в узле Сообщения (Messages), затем повторно запустить инструмент с внесенными изменениями, пока не будет достигнут надлежащий результат.
Чтобы изучить содержимое выходного PDF-файла, разверните результат в окне Результаты (Results) и дважды щелкните файл OutputPDF.pdf, чтобы открыть его.
- Чтобы предоставить общий доступ к задаче модели в качестве сервиса геообработки, выполните следующие действия.
- Щелкните правой кнопкой мыши значок инструмента модели, который был запущен на предыдущем этапе, и выберите Опубликовать как (Share As) > Сервис геообработки (Geoprocessing Service).
- В открывшемся окне Опубликовать как сервис (Share As Service) доступны три опции. Выберите опцию Опубликовать сервис (Publish a service), затем нажмите кнопку Далее (Next).
- Выберите подключение для администрирования сервера, которое было создано на этапе Выбор подключения и предоставьте имя сервиса с поле Имя сервиса (Service name). Щелкните Далее (Next).
Если при указании значения Имя сервиса (Service name) оставить имя по умолчанию SelectAndPrint, тогда имя сервиса и задачи будет одинаковым. Если необходимо, чтобы имя сервиса отличалось от имени задачи, укажите другое имя сервиса.
- Выберите Использовать существующую папку (Use existing folder) или Создать новую папку (Create new folder), затем нажмите кнопку Продолжить (Continue) для открытия окна редактор сервисов.
- Щелкните Опубликовать (Publish) в правом верхнем углу редактора сервисов. Открывается окно Копирование данных на сервер (Copying Data to Server) со слоем Участок (Parcel) и файлом карты SelectAndPrint.mxd, которые будут загружены на сервер. Нажмите ОК.
- Появится два окна: Выполняется упаковка (Package in progress) и Пакетов в сервисе (Package in Service). После завершения публикации откроется окно Успешно (Succeeded) с сообщением Сервис успешно опубликован (Successfully published service). Щелкните ОК, чтобы завершить процесс публикации.
Использование карты и сервиса геообработки
В приведенных ниже пошаговых инструкциях показано, как использовать картографический сервис ParcelBaseMap и два сервиса геообработки SelectAndMail и SelectAndPrint, которые были опубликованы ранее.
Использование сервиса SelectAndMail
- Откройте новый документ ArcMap.
- В окне Каталог (Catalog)
- перейдите к подключению к серверу в разделе ГИС серверы (GIS Servers), выберите картографический сервис ParcelBaseMap и перетащите его в таблицу содержания ArcMap.
- Разверните картографический сервис в таблице содержания для просмотра слоя Участки (Parcels).
- В окне Каталог (Catalog)перейдите к подключению к серверу в разделе ГИС серверы (GIS Servers), найдите сервис геообработки SelectAndMail, который был опубликован на предыдущем этапе. Разверните сервис для просмотра задачи SelectAndMail.
- Дважды щелкните задачу SelectAndMail для открытия диалогового окна задачи.
- Сохраните значение параметров по умолчанию или предоставьте собственные значения, затем щелкните ОК, чтобы запустить задачу.
- Выходной файл Output будет добавлен в таблицу содержания в качестве таблицы.
- Просмотрите окно Результаты (Results). В разделе сеанса Текущий сеанс (Current Session) и задачи SelectAndMail должен находиться текстовый файл Output.txt.
- Откройте файл Output.txt, дважды щелкнув файл в результате. Можно просмотреть содержимое с включенными в него атрибутами и значениями идентификатора и адреса выбранных участков.
Использование сервиса SelectAndPrint
- Откройте новый документ ArcMap.
- В окне Каталог (Catalog)
- перейдите к подключению к серверу в разделе ГИС серверы (GIS Servers), выберите картографический сервис ParcelBaseMap и перетащите его в таблицу содержания ArcMap.
- Разверните картографический сервис в таблице содержания для просмотра слоя Участки (Parcels).
- В окне Каталог (Catalog)перейдите к подключению к серверу в разделе ГИС серверы (GIS Servers), найдите сервис геообработки SelectAndPrint, который был опубликован на предыдущем этапе. Разверните сервис для отображения задачи SelectAndPrint.
- Дважды щелкните задачу SelectAndPrint для открытия диалогового окна задачи.
- Сохраните значение параметров по умолчанию или предоставьте собственные значения, затем щелкните ОК, чтобы запустить задачу.
- Просмотрите окно Результаты (Results). В разделе сеанса Текущий сеанс (Current Session) и задачи SelectAndPrint должен находиться выходной файл OutputPDF.pdf.
- Откройте файл OutputPDF.pdf, дважды щелкнув его в результате. Откроется файл карты в формате PDF, где можно просмотреть выбранные пакеты.