Сервис геообработки содержит одну или несколько задач. Задача принципиально не отличается от инструмента геообработки в плане приема параметров и возвращения результатов; этот термин используется работающими на базе сети API (например, JavaScript, SilverLight и Flex) для описания регулярных действий, выполняемых на сервере и возвращающих результаты. Разницы между сервисами геообработки и наборами инструментов или задачами и инструментами нет; разница между ними существует только для других клиентов ArcGIS Server (например, веб-браузеров и прочих онлайн-приложений): для них сервисы и наборы инструментов, а также задачи и инструменты – разные понятия.
Подключение к сайту GIS Server
Первым шагом будет подключение к ArcGIS Server. В окне Каталог сделайте следующее:
- Создайте подключение издателя GIS Server из узла ГИС-серверы.
- Создайте подключение в любой папке, щелкнув правой кнопкой мыши на папке и выбрав Новый > Подключение к ArcGIS Server.
Поиск URL-адреса сервиса геообработки
Когда вы подключаетесь к сайту GIS Server, вам необходим URL-адрес, а также имя пользователя и пароль. Получить URL сервиса можно несколькими способами.
- Сайт GIS Server находится в вашей организации и вы знаете его URL-адрес.
- URL дают коллеги.
- Вы искали сервисы геообработки на ArcGIS Online и нашли сервис, содержащий нужные вам задачи. Можно получить URL сервера, на котором расположен сервис, следующим образом:
- Описание сервиса на ArcGIS Online имеет запись ArcGIS Web API REST Connection, содержащую URL-адрес. Этот URL предназначен для подключения к сервису с помощью REST). Чтобы подключиться к серверу в ArcGIS Desktop, необходим SOAP URL.
- Можно извлечь SOAP URL из REST URL. Например, если имеется следующий REST URL:
http://sampleserver.esri.com/arcgis/rest/services/SupplyDemandService/gpserver
соответствующим SOAP URL для создания подключения с сервером будет:
http://sampleserver.esri.com/arcgis/services
(rest, наименование сервиса и gpserver удалены из строки, содержащей SOAP URL).
- Используйте SOAP URL, чтобы создать подключение пользователя к серверу. Как только вы создали подключение, перейдите в каталог сервера в дереве Каталога, чтобы найти там сервисы и задачи геообработки.
Запуск задач геообработки
Вы производите запуск задач сервисов геообработки, как и любой обычный инструмент геообработки – из диалогового окна инструмента, в ModelBuilder или через скрипт. Разница лишь в том, что если вы производите запуск инструментов в приоритетном режиме, некоторые задачи ожидают получения результатов от сервера, а некоторые – нет; они отправляют задачу на запуск на сервере и периодически проверяют, готовы ли результаты. Вы можете использовать окно Результаты, чтобы получить информацию о статусе задачи, выполняемой на сервере. Раздел ниже, Синхронные и асинхронные задачи, описывает этот момент подробнее.
Работа с результатами задачи
Результат сервиса геообработки добавляется к текущему сеансу в окне Результат. Если типом выходных данных результата является файл или набор растровых данных, выходные данные сохраняются в локальный временный каталог. В случае с данными других типов, такими, например, как класс пространственных объектов, результат пишется в текущую сессию с отображением имени или статуса соответствующих наборов выходных данных. В качестве статуса может быть пять значений:
- <пусто>
Инструмент все еще выполняется на сервере, и выходные данные еще не записаны, или задача не была выполнена успешна, и результат не предоставлен. Этот статус относится только к асинхронным инструментам. Для получения более подробной информации см. раздел Синхронные и асинхронные задачи
- <данные в местоположении local temp>
Инструмент закончил работу, и выходные данные хранятся либо в памяти вашего компьютера или во временной папке операционной системы. Данные не будут удалены, пока в ArcMap будет слой, который обращается к этим данным. Если вы хотите сохранить данные, то вам будет нужно скопировать их из временной папки в другой каталог. Простейшим способом выполнения данной задачи является использование инструмента Копировать с последующим перемещением набора данных из результата в параметр входных объектов инструмента. Вы также можете щелкнуть правой кнопкой мыши на выходных данных и выбрать Копировать местоположение, что приведет к копированию пути к классу пространственных объектов в буфер обмена. После этого вы можете скопировать его в любой текстовый элемент, например, в поле параметра входных данных инструмента Копировать.
- <данные на сервере>
Данные хранятся на сервере. Это означает также, что имеется выходной картографический сервис, который произведет отрисовку данных в ArcMap, ArcGlobe или ArcScene. Эта выходная карта будет автоматически добавлена в таблицу содержания, когда инструмент закончит работу на сервере. Если вам нужно добавить этот выходной картографический сервис в таблицу содержания, щелкните правой кнопкой мыши на инструменте-результате и выберите Добавить слой сервера.
Вы также можете щелкнуть правой кнопкой мыши на результате и выбрать Получить данные; это произведет копирование данных с сервера на ваш компьютер. После копирования статус может приобрести три возможных значения: <data in local temp location> (<данные в локальном временном каталоге>), <data exceeds transfer limit> (<данные превышают предел передачи>) или <data unavailable> (<данные недоступны>).
- <данные превышают ограничения переноса>
Операция Получить данные не смогла скопировать все данные с сервера на ваш компьютер, потому что максимальное число объектов для копирования было превышено. Копирование больших наборов данных приводит к чрезмерному потреблению ресурсов сервера, необходимых для обработки запросов других ГИС-сервисов, и затрудняет работу по сети в целом. Поэтому автор сервиса определяет максимальное количество объектов, которое может быть передано с сервера на компьютер клиента. Если вам нужно скопировать данные, размер которых превышает указанный лимит, вам будет нужно связаться с автором сервиса или администратором сервиса и организовать другой способ получения данных.
- <данные недоступны>
Операция Получить данные не может найти данные на сервере. Скорее всего, администратор сервера решил, что результаты работы задачи устарели, и удалил их, чтобы освободить место на сервере.
Настройки параметров среды не используются
Сервисы геообработки устанавливают любые параметры среды на сервер, который влияет на выполнение. Ваши локальные настройки среды ArcGIS Desktop, установленные в текущем сеансе, не оказывают влияния на используемые сервисами настройки среды.
Копирование задачи сервера в пользовательский набор инструментов
Невозможно скопировать задачу из сервиса геообработки в пользовательский набор инструментов (созданный вами).
Выход из приложения до момента завершения работы инструмента на сервере
После отправки асинхронного инструмента (см. следующий раздел), вы можете выйти из приложения, в котором работали. Например, если вы работаете в ArcMap, вы можете начать выполнение инструмента, сохранить документ карты и выйти из ArcMap. Когда вы впоследствии откроете документ, ArcMap отправит запрос на сервер, проверит статус работы и обновит информацию в окне Результаты. Если вы собираетесь использовать данный способ запуска инструмента и выхода из приложения ArcMap (или ArcGlobe или ArcScene), обязательно сохраните документ карты, чтобы сохранить результаты для последующего использования.
Синхронные и асинхронные задачи
Сервисы геообработки и их задачи могут быть синхронными или асинхронными. При использовании синхронных сервисов ваш компьютер будет ожидать завершения выполнения задачи на сервере. При использовании асинхронных задач вашему компьютеру не нужно ждать завершения выполнения инструмента, и вы можете работать с другими задачи.
Пользователь, производящий публикацию сервиса, может выбрать, в каком режиме будет работать задача – в синхронном или асинхронном. Только те задачи, которые выполняются быстро и создают выходные данные небольшого объема, должны быть опубликованы в качестве синхронных инструментов.
Имеется два способа определить, является инструмент на сервере асинхронным или синхронным.
- Если вы создали административное подключение к ArcGIS Server, вы можете перейти к серверу в окне Каталога, щелкнуть сервис геообработки правой кнопкой мыши и выбрать Свойства сервиса. Тип выполнения инструмента будет указан на вкладке Параметры.
- Произведите запуск инструмента и изучите сообщения, запись которых он произведет. При выполнении асинхронного сервиса первым сообщением будет Сообщения сервера. Эти типы сервисов геообработки всегда будут запущены в качестве фонового процесса в ArcMap. Синхронный инструмент начнет работу с вывода сообщения Выполнение. Ниже приводятся результаты работы двух инструментов – синхронного или асинхронного (как было определено администратором ArcGIS Server).
Если вы производите запуск асинхронного инструмента в ArcMap, и вы включили опцию добавления результатов инструмента на карту, то добавленный слой на карту виден не будет (выключен). Это происходит потому, что ArcMap не знает, что инструмент закончил работу и выходные данные должны быть отображены.
Вы не будете автоматически информированы, когда асинхронный инструмент закончит свою работу. Вы можете следить за ходом работы асинхронного инструмента в окне Результаты. Когда инструмент будет запущен, рядом с результатом будут отображены песочные часы. Вы можете отменить работу инструмента, щелкнув правой кнопкой мыши на результате и выбрав Отмена. После выполнения задачи вы увидите сообщение, начинающееся со слова Успешно, и иконка инструмента будет отображена рядом с названием задачи результата.