Пример сервиса геообработки: отображение, создание и удаление версий базы геоданных
Папка |
GDBVersions |
Цель |
Используйте эти инструменты для отображения, создания и удаления версий многопользовательской базы геоданных на сервере ArcGIS. |
Сервисы |
GDBVersions (сервис геообработки). |
Задачи геообработки |
ListVersions, CreateVersion, DeleteVersion |
Входные данные |
Многопользовательская база геоданных – имя версии для создания или удаления |
Выходные данные |
ListVersions служит для вывода таблицы версий базы геоданных |
Данные |
Пользователь должен предоставить многопользовательскую базу геоданных |
Дополнительные модули |
None |
Соответствующая папка
Данные для этого примера можно загрузить с сайта ArcGIS.com. После завершения загрузки распакуйте zip-файл в папку C:\arcgis\ArcTutor. Папка GP Service Examples\GDBVersions содержит полноценные модели и скрипты Python.
Об этом примере
В этом примере приведены подробные пошаговые инструкции по созданию и использованию сервиса геообработки, содержащего задачи для управления версиями базы геоданных. Инструменты модели ListVersions, CreateVersion, DeleteVersion, используемые в сервисе, являются производными от инструментов в группе Версии (Versions) набора инструментов Управление данными. Эти задачи геообработки позволяют получить список версий базы геоданных, создать новые версии или удалить существующие версии. Приложения могут использовать эти инструменты для поддержки рабочих процессов версионного редактирования, включая картографические сервисы и сервисы объектов. В зависимости от требований к приложению не все задачи нуждаются в публикации. Например, если приложение нуждается в поддержке только переключения между версиями, необходимо использовать только задачу ListVersions.
Данные
В этом примере необходимо использовать существующую многопользовательскую базу геоданных, содержащую версии, которые следует предоставить пользователям посредством сервиса геообработки.
Данные моделей и инструментов
Набором инструментов для сервиса геообработки является GDBVersions.tbx.
Обзор модели
Чтобы лучше понять модели, разверните набор инструментов GDBVersions.tbx.
ListVersions
Щелкните правой кнопкой мыши модель ListVersions и выберите Редактировать (Edit) для открытия модели в ModelBuilder. Модель ListVersions приведена ниже. Имеется одна входная переменная: Enterprise_GDB. При выполнении модели необходимо предоставить подключение к многопользовательской базе геоданных, которую следует использовать.
Инструмент VersionListToTable является инструментом-скриптом, который также предоставляется в GDBVersions.tbx. Можно просмотреть код Python, выполненный инструментом, щелкнув правой кнопкой мыши скрипт VersionListToTable и выбрав пункт Редактировать (Edit) для открытия кода Python в Python IDE по умолчанию. Скрипт создает выходную таблицу и заполняет ее информацией об общедоступных и частных версиях, владельцем которых является пользователь, имеющий подключение к Enterprise_GDB.
При использовании аутентификации средствами операционной системы для подключения это распространяется на общедоступные и частные версии, а также на частные версии, владельцем которых является учетная запись, от имени которой открыт ArcGIS for Server. При обычной установке ArcGIS сервер будет работать под учетной записью ArcGIS, которая создается и настраивается при установке.
Выходная таблица содержит следующие сведения о каждой версии:
Поле | Описание |
name | Полное имя версии. |
Доступ (access) | Указывает, является ли версия общедоступной, частной или защищенной. |
создан | Дата создания версии. |
описание | Описание, сохраняемое вместе с версией. |
isowner | Указывает, является ли подключенный пользователь владельцем. |
lastmodified | Дата последнего изменения версии. |
parentversionname | Имя родительской версии. |
По умолчанию все создается таблица с именем versions в памяти. Можно также изменить модель для создания таблицы, которые будет записываться во входную базу геоданных. При каждом выполнении инструмента ListVersions ранее созданная таблица будет удалена и заменена на новую таблицу.
CreateVersion
Щелкните правой кнопкой мыши модель CreateVersion и выберите Редактировать (Edit). Модель CreateVersion показана ниже. Существует два типа входных переменных: Имя версии (Version Name) новой создаваемой версии и Enterprise_GDB. При запуске модели необходимо предоставить подключение к нужной многопользовательской базе геоданных с помощью параметра Enterprise_GDB, как это делалось ранее для модели ListVersions. Если планируется опубликовать эту модель вместе с другими моделями, убедитесь в наличии ссылки на то же подключение к многопользовательской базе геоданных.
Инструмент CreateVersion служит для создания новой версии в многопользовательской базе геоданных, на которую содержится ссылка в параметре Enterprise_GDB, с использованием имени, предоставленным в параметре Имя версии (Version Name). В этой модели версия создается на основе версии по умолчанию и становится частной. Можно изменить эти параметры в соответствии с требованиями приложения. При попытке создать версию, которая уже существует, во время выполнения задачи или сервиса, будет возвращено сообщение об ошибке.
DeleteVersion
Щелкните правой кнопкой мыши модель DeleteVersion и выберите пункт Редактировать (Edit) для открытия модели в ModelBuilder. Модель DeleteVersion показана ниже. Существует два типа входных переменных: Имя версии (Version Name) удаляемой версии и Enterprise_GDB. При выполнении модели необходимо предоставить подключение к многопользовательской базе геоданных, которую следует использовать, с использованием параметра Enterprise_GDB. Если планируется опубликовать эту модель вместе с другими моделями, убедитесь в наличии ссылки на то же подключение к многопользовательской базе геоданных.
Инструмент RemoveVersion удаляет существующую версию из многопользовательской базы геоданных, на которую ссылается параметр Enterprise_GDB, с использованием предоставленного имени и возвращает логическую переменную, содержащую True, если инструмент успешно удалил версию. Предоставленное имя должно быть полным именем версии. Для получения полного имени можно использовать инструмент ListVersions. Инструмент RemoveVersion является инструментом-скриптом, который также предоставляется в наборе инструментов GDBVersions.tbx. Можно просмотреть код Python, выполненный инструментом, щелкнув правой кнопкой мыши инструмент-скрипт и выбрав пункт Редактировать (Edit). Инструмент-скрипт вызывает инструмент DeleteVersion, указывая в качестве строкового параметра имя входной версии. Если не имеется достаточно разрешений для удаления версии или версия не существует, или имеются зависимые родительские версии, возвращается сообщение об ошибке.
Создание подключения управления сервером для публикации
Убедитесь, что у вас есть разрешения на публикацию содержимого на сервере. Если таковые имеются, выполните приведенные ниже действия для создания подключения управления или издателя к серверу.
- Выберите ГИС серверы (GIS Servers) > Добавить ArcGIS Server (Add ArcGIS Server), чтобы открыть диалоговое окно Добавить ArcGIS Server (Add ArcGIS Server).
- Установите флажок Опубликовать ГИС-сервисы (Publish GIS Services) или Администрировать ГИС-сервер (Administer GIS Server).
- На панели Общие (General) введите значение для параметра URL-адрес для администратора сервера (Server admin URL) и предоставьте значения для параметров Имя пользователя (User Name) и Пароль (Password).
- Щелкните Готово (Finish), чтобы завершить создание подключения.
Создание сервиса
- В окне Каталог (Catalog), перейдите в папку C:\arcgis\ArcTutor\GP Service Examples\GDBVersions.
Так как может понадобиться вносить изменения в модели, рекомендуется скопировать и вставить весь каталог GDBVersions в другой локальный каталог, куда можно будет вносить изменения.
- Дважды щелкните один из инструментов модели, который следует опубликовать, чтобы открыть соответствующее диалоговое окно.
- Задайте параметр Enterprise_GDB для многопользовательской базы геоданных.
- Щелкните OK, чтобы запустить инструмент.
После завершения выполнения инструмента, новый результат записывается в окно Результаты (Results). Чтобы открыть окно Результаты (Results), выберите Геообработка (Geoprocessing) > Результаты (Results) в главном меню ArcMap.
- Убедитесь, что инструмент успешно отработал, изучив результат в окне Результаты (Results). При неудачном выполнении отображается значок ошибки рядом с результатом.
- Повторите действия с 1 по 5 для всех остальных инструментов моделей, которые следует опубликовать.
Пошаговые инструкции для создания сервиса геообработки
Чтобы создать сервис геообработки, необходимо предоставить общий доступ к результату.
- В окне Результаты щелкните правой кнопкой мыши один из результатов, созданных выше, и выберите Общий доступ (Share As) > Сервис геообработки (Geoprocessing Service). Открывается мастер Опубликовать как сервис (Share as Service).
- Выберите сервер, на котором следует опубликовать содержимое, и папку, в которой следует разместить результаты. Имя сервиса по умолчанию – то же имя, что и имя инструмента. Можно принять имя сервиса по умолчанию или указать новое имя.
- На последней панели мастера Опубликовать как сервис (Share As Service) щелкните Продолжить (Continue), чтобы открыть редактор сервисов.
- Чтобы добавить другую задачу, нажмите кнопку Добавить результат (Add Result) , чтобы открыть диалоговое окно Добавить результат (Add Result). В диалоговом окне Добавить результат выберите любой другой из приведенных выше результатов и нажмите кнопку ОК. Чтобы добавить другую задачу, повторите действие 4.
- На странице Параметры (Parameters) редактора сервисов измените значение параметра Режим выполнения (Execution Mode) на Синхронный (Synchronous), что приведет к ускорению выполнения сервиса.
Использование сервиса геообработки
Приведенные ниже пошаговые инструкции демонстрируют, как использовать сервисы геообработки, которые уже были опубликованы.
- Открыть новый документ ArcMap.
- В окне Каталог (Catalog) перейдите к подключению сервера в разделе ГИС Серверы (GIS Servers), найдите сервис геообработки, который был опубликован в предыдущем разделе, и разверните его. Появятся ранее опубликованные задачи.
- Дважды щелкните задачу ListVersions для открытия диалогового окна задачи.
- Щелкните OK, чтобы запустить задачу геообработки.
Выходные данные возвращаются в виде таблицы в GPInMemoryWorkspace. Можно открыть таблицу, чтобы просмотреть список версий в многопользовательской базе геоданных.
- Если опубликована задача CreateVersion
- Дважды щелкните задачу CreateVersion для открытия диалогового окна задачи.
- Предоставьте имя версии, которую следует создать.
- Щелкните OK, чтобы запустить задачу геообработки.
- Повторите действия с 1 по 4. Обратите внимание, что новая версия отображается в новой выходной таблице.
- Если опубликована задача DeleteVersion
- Дважды щелкните задачу DeleteVersion для открытия диалогового окна задачи.
- Предоставьте полное имя версии, которую следует создать (например, версии, которая была создана выше).
- Щелкните OK, чтобы запустить задачу геообработки.
- Повторите действия с 1 по 4. Обратите внимание, что версия была удалена, поэтому не отображается в новой выходной таблице.