Пример сервиса геообработки: отображение, создание и удаление версий базы геоданных

Уровень сложности: Начальный Требования к данным: ArcGIS Tutorial Data for Desktop

Папка

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. При выполнении модели необходимо предоставить подключение к многопользовательской базе геоданных, которую следует использовать.

Снимок экрана с моделью ListVersions

Инструмент 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

Инструмент CreateVersion служит для создания новой версии в многопользовательской базе геоданных, на которую содержится ссылка в параметре Enterprise_GDB, с использованием имени, предоставленным в параметре Имя версии (Version Name). В этой модели версия создается на основе версии по умолчанию и становится частной. Можно изменить эти параметры в соответствии с требованиями приложения. При попытке создать версию, которая уже существует, во время выполнения задачи или сервиса, будет возвращено сообщение об ошибке.

DeleteVersion

Щелкните правой кнопкой мыши модель DeleteVersion и выберите пункт Редактировать (Edit) для открытия модели в ModelBuilder. Модель DeleteVersion показана ниже. Существует два типа входных переменных: Имя версии (Version Name) удаляемой версии и Enterprise_GDB. При выполнении модели необходимо предоставить подключение к многопользовательской базе геоданных, которую следует использовать, с использованием параметра Enterprise_GDB. Если планируется опубликовать эту модель вместе с другими моделями, убедитесь в наличии ссылки на то же подключение к многопользовательской базе геоданных.

Снимок экрана с моделью DeleteVersion

Инструмент RemoveVersion удаляет существующую версию из многопользовательской базы геоданных, на которую ссылается параметр Enterprise_GDB, с использованием предоставленного имени и возвращает логическую переменную, содержащую True, если инструмент успешно удалил версию. Предоставленное имя должно быть полным именем версии. Для получения полного имени можно использовать инструмент ListVersions. Инструмент RemoveVersion является инструментом-скриптом, который также предоставляется в наборе инструментов GDBVersions.tbx. Можно просмотреть код Python, выполненный инструментом, щелкнув правой кнопкой мыши инструмент-скрипт и выбрав пункт Редактировать (Edit). Инструмент-скрипт вызывает инструмент DeleteVersion, указывая в качестве строкового параметра имя входной версии. Если не имеется достаточно разрешений для удаления версии или версия не существует, или имеются зависимые родительские версии, возвращается сообщение об ошибке.

Создание подключения управления сервером для публикации

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

Шаги:
  1. Выберите ГИС серверы (GIS Servers) > Добавить ArcGIS Server (Add ArcGIS Server), чтобы открыть диалоговое окно Добавить ArcGIS Server (Add ArcGIS Server).
  2. Установите флажок Опубликовать ГИС-сервисы (Publish GIS Services) или Администрировать ГИС-сервер (Administer GIS Server).
  3. На панели Общие (General) введите значение для параметра URL-адрес для администратора сервера (Server admin URL) и предоставьте значения для параметров Имя пользователя (User Name) и Пароль (Password).
  4. Щелкните Готово (Finish), чтобы завершить создание подключения.

Создание сервиса

Шаги:
    Приведенные ниже действия предназначены для создания сервиса, содержащего три задачи. Перед созданием сервиса необходимо выполнить первый запуск моделей для создания результата по каждой задаче. Можно не выполнять все три задачи. В этом случае следует создать результат только для тех задач, которые следует опубликовать.
  1. В окне Каталог (Catalog), перейдите в папку C:\arcgis\ArcTutor\GP Service Examples\GDBVersions.

    Так как может понадобиться вносить изменения в модели, рекомендуется скопировать и вставить весь каталог GDBVersions в другой локальный каталог, куда можно будет вносить изменения.

  2. Дважды щелкните один из инструментов модели, который следует опубликовать, чтобы открыть соответствующее диалоговое окно.
  3. Задайте параметр Enterprise_GDB для многопользовательской базы геоданных.
  4. При использовании инструментов CreateVersion и DeleteVersion необходимо также предоставить версию, которую следует создать или, соответственно, удалить. При использовании инструмента DeleteVersion необходимо предоставить полное имя версии.
  5. Щелкните OK, чтобы запустить инструмент.

    После завершения выполнения инструмента, новый результат записывается в окно Результаты (Results). Чтобы открыть окно Результаты (Results), выберите Геообработка (Geoprocessing) > Результаты (Results) в главном меню ArcMap.

  6. Убедитесь, что инструмент успешно отработал, изучив результат в окне Результаты (Results). При неудачном выполнении отображается значок ошибки Ошибка (Error) рядом с результатом.
  7. Повторите действия с 1 по 5 для всех остальных инструментов моделей, которые следует опубликовать.

Пошаговые инструкции для создания сервиса геообработки

Чтобы создать сервис геообработки, необходимо предоставить общий доступ к результату.

Шаги:
  1. В окне Результаты щелкните правой кнопкой мыши один из результатов, созданных выше, и выберите Общий доступ (Share As) > Сервис геообработки (Geoprocessing Service). Открывается мастер Опубликовать как сервис (Share as Service).
  2. Выберите сервер, на котором следует опубликовать содержимое, и папку, в которой следует разместить результаты. Имя сервиса по умолчанию – то же имя, что и имя инструмента. Можно принять имя сервиса по умолчанию или указать новое имя.
  3. На последней панели мастера Опубликовать как сервис (Share As Service) щелкните Продолжить (Continue), чтобы открыть редактор сервисов.
  4. Чтобы добавить другую задачу, нажмите кнопку Добавить результат (Add Result) Добавить результат, чтобы открыть диалоговое окно Добавить результат (Add Result). В диалоговом окне Добавить результат выберите любой другой из приведенных выше результатов и нажмите кнопку ОК. Чтобы добавить другую задачу, повторите действие 4.
  5. Это необходимо
  6. На странице Параметры (Parameters) редактора сервисов измените значение параметра Режим выполнения (Execution Mode) на Синхронный (Synchronous), что приведет к ускорению выполнения сервиса.
  7. Примите оставшиеся значения по умолчанию для сервиса геообработки, затем щелкните кнопку Опубликовать (Publish) Опубликовать для публикации сервиса.
    Дополнительные сведения об использовании редактора сервисов для публикации сервиса геообработки см. в разделе Краткий обзор публикации сервиса геообработки.

Использование сервиса геообработки

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

Шаги:
  1. Открыть новый документ ArcMap.
  2. В окне Каталог (Catalog) перейдите к подключению сервера в разделе ГИС Серверы (GIS Servers), найдите сервис геообработки, который был опубликован в предыдущем разделе, и разверните его. Появятся ранее опубликованные задачи.
  3. Дважды щелкните задачу ListVersions для открытия диалогового окна задачи.
  4. Щелкните OK, чтобы запустить задачу геообработки.

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

  5. Если опубликована задача CreateVersion
    1. Дважды щелкните задачу CreateVersion для открытия диалогового окна задачи.
    2. Предоставьте имя версии, которую следует создать.
    3. Щелкните OK, чтобы запустить задачу геообработки.
    4. Повторите действия с 1 по 4. Обратите внимание, что новая версия отображается в новой выходной таблице.
  6. Если опубликована задача DeleteVersion
    1. Дважды щелкните задачу DeleteVersion для открытия диалогового окна задачи.
    2. Предоставьте полное имя версии, которую следует создать (например, версии, которая была создана выше).
    3. Щелкните OK, чтобы запустить задачу геообработки.
    4. Повторите действия с 1 по 4. Обратите внимание, что версия была удалена, поэтому не отображается в новой выходной таблице.

Связанные темы

5/16/2014