Краткий обзор использования сервиса в ArcGIS for Desktop
Сервис геообработки содержит одну или несколько задач. Задача ничем не отличается от инструмента геообработки в том смысле, что она использует значения параметров и выдает выходной результат. Этот термин используется веб-интерфейсами (такими как JavaScript, SilverLight и Flex) для описания процедур, которые работают на сервере и выдают результаты. Разницы между сервисами геообработки и наборами инструментов или задачами и инструментами нет; разница между ними существует только для других клиентов ArcGIS for Server (например, веб-браузеров и прочих онлайн-приложений): для них сервисы и наборы инструментов, а также задачи и инструменты – разные понятия.
Подключение к ArcGIS Server
Первым шагом будет подключение к ArcGIS Server. Из окна Каталога
- Подключение к ArcGIS Server может быть сделано из раздела ГИС-серверы (GIS Servers).
- Вы можете создать подключение в любой папке, щелкнув правой кнопкой мыши на папке и выбрав Новый (New) > Подключение к ArcGIS Server (ArcGIS Server Connection).
Поиск URL сервиса геообработки
Когда вы подключаетесь к ArcGIS Server, вам необходим URL, а также, возможно, имя пользователя и пароль. Есть несколько вариантов получения URL сервиса.
- ArcGIS Server находится в вашей организации и вам знаком URL.
- Вам сообщил URL кто-то из коллег.
- Вы искали сервисы геообработки на arcgis.com и нашли содержащий нужные вам задачи сервис. Вы можете получить URL сервера, содержащего сервис, следующим образом:
- Описание сервиса на arcgis.com содержит запись ArcGIS Web API REST Connection с URL. Этот URL используется для подключения к сервису с помощью REST. Для подключения к серверу в ArcGIS for 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 или через скрипт. Разница лишь в том, что если вы производите запуск инструментов в приоритетном режиме, некоторые задачи ожидают получения результатов от сервера, а некоторые – нет; они отправляют задачу на запуск на сервере и периодически проверяют, готовы ли результаты. Вы можете использовать окно Результаты (Results), чтобы получить информацию о статусе задачи, выполняемой на сервере. Раздел ниже, Синхронные и асинхронные задачи, описывает этот момент подробнее.
Использование результатов работы задач
Результат сервиса геообработки добавляется к текущему сеансу в окне результатов. Если выходные данные являются файлом или набором растровых данных, они будут сохранены в локальной временной папке. В случае с данными других типов, такими, например, как класс пространственных объектов, результат пишется в текущую сессию с отображением имени и/или статуса соответствующих наборов выходных данных. В качестве статуса может быть пять значений:
- <пусто>
Инструмент продолжает работать на сервере без записи выходных данных, либо задача не была успешно выполнена и вы не получили результата. Этот статус распространяется только на асинхронные инструменты. Для получения более подробной информации см. раздел Синхронные и асинхронные задачи
- <данные в местоположении local temp>
Инструмент закончил работу, и выходные данные хранятся либо в памяти вашего компьютера или во временной папке операционной системы. Данные не будут удалены, пока в ArcMap будет слой, который обращается к этим данным. Если вы хотите сохранить данные, то вам будет нужно скопировать их из временной папки в другой каталог. Простейшим способом выполнения данной задачи является использование инструмента Копировать (Copy) с последующим перемещением набора данных из результата в параметр входных объектов инструмента. Вы также можете щелкнуть правой кнопкой мыши на выходных данных и выбрать Копировать местоположение (Copy Location), что приведет к копированию пути к классу пространственных объектов в буфер обмена. После этого вы можете скопировать его в любой текстовый элемент, например, в поле параметра входных данных инструмента Копировать (Copy).
- <данные на сервере>
Данные хранятся на сервере. Это означает также, что имеется выходной картографический сервис, который произведет отрисовку данных в ArcMap, ArcGlobe или ArcScene. Эта выходная карта будет автоматически добавлена в таблицу содержания, когда инструмент закончит работу на сервере. Если вам нужно добавить этот выходной картографический сервис в таблицу содержания, щелкните правой кнопкой мыши на инструменте-результате и выберите Добавить слой сервера (Add Server Layer).
Вы также можете щелкнуть правой кнопкой мыши на результате и выбрать Получить данные (Get Data); это произведет копирование данных с сервера на ваш компьютер. После копирования статус может приобрести три возможных значения: <data in local temp location> (<данные в локальном временном каталоге>), <data exceeds transfer limit> (<данные превышают предел передачи>) или <data unavailable> (<данные недоступны>).
- <данные превышают ограничения переноса>
Операция Получить данные (Get Data) не смогла скопировать все данные с сервера на ваш компьютер, потому что максимальное число объектов для копирования было превышено. Копирование больших наборов данных приводит к чрезмерному потреблению ресурсов сервера, необходимых для обработки запросов других ГИС-сервисов, и затрудняет работу по сети в целом. Поэтому автор сервиса определяет максимальное количество объектов, которое может быть передано с сервера на компьютер клиента. Если вам нужно скопировать данные, размер которых превышает указанный лимит, вам будет нужно связаться с автором сервиса или администратором сервиса и организовать другой способ получения данных.
- <данные недоступны>
Операция Получить данные (Get Data) не может найти данные на сервере. Скорее всего, администратор сервера решил, что результаты работы задачи устарели, и удалил их, чтобы освободить место на сервере.
Настройки параметров среды не используются
Сервисы геообработки явно задают настройки среды на сервере, влияющие на исполнение. Ваши локальные настройки среды ArcGIS for Desktop, установленные в текущем сеансе, не оказывают влияния на используемые сервисами настройки среды.
Копирования серверной задачи в пользовательский набор инструментов
Вы не можете скопировать задачу из сервиса геообработки в пользовательский набор инструментов (созданный вами).
![Прежние версии Прежние версии](rsrc/legacy.png)
В предыдущих версиях программного обеспечения, до 10.1, вы имели возможность копирования задачи в пользовательский инструмент. Эта возможность, начиная с версии 10.1 недоступна.
Выход из приложения до момента завершения работы инструмента на сервере
Как только вы произвели запуск асинхронного инструмента (см. ниже), вы можете закрыть приложение, в котором вы работаете. Например, если вы работаете в ArcMap, то вы можете произвести запуск, сохранить документ карты и закрыть ArcMap. Когда вы впоследствии откроете документ, ArcMap отправит запрос на сервер, проверит статус работы и затем обновит результаты в окне Результаты (Results). Если вы собираетесь использовать данный способ запуска инструмента и выхода из приложения ArcMap (ArcGlobe или ArcScene), обязательно сохраните документ карты, чтобы сохранить результаты для последующего использования.
Синхронные и асинхронные задачи
Сервисы геообработки и их задачи могут быть синхронными или асинхронными. При использовании синхронных сервисов ваш компьютер будет ожидать завершения выполнения задачи на сервере. При использовании асинхронных задач вашему компьютеру не нужно ждать завершения выполнения инструмента, и вы можете работать с другими задачи.
Пользователь, производящий публикацию сервиса, может выбрать, в каком режиме будет работать задача – в синхронном или асинхронном. Только те задачи, которые выполняются быстро и создают выходные данные небольшого объема, должны быть опубликованы в качестве синхронных инструментов.
Имеется два способа определить, является инструмент на сервере асинхронным или синхронным:
- Если у вас есть права администратора ArcGIS for Server, то вы можете перейти к серверу в окне Каталога, щелкнуть правой кнопкой мыши на сервисе геообработки и выбрать Свойства сервиса (Service Properties). Тип выполнения инструмента будет указан на закладке Параметры (Parameters).
- Произведите запуск инструмента и изучите сообщения, запись которых он произведет. При выполнении асинхронного сервиса первым сообщением будет Сообщения сервера (Server Messages). Эти типы сервисов геообработки всегда будут запущены в качестве фонового процесса в ArcMap. Синхронный инструмент начнет работу с вывода сообщения Выполнение (Executing). Ниже приводятся результаты работы двух инструментов – синхронного или асинхронного (как было определено администратором ГИС-сервера).
![](0154/GUID-AC782FE1-6BA7-4A69-A15D-216034DB3F1F-web.png)
Если вы производите запуск асинхронного инструмента в ArcMap, и вы включили опцию добавления результатов инструмента на карту, то добавленный слой на карту виден не будет (выключен). Это потому, что ArcMap не знает, когда инструмент закончил свою работу, и выходные данные могут быть отображены.
Вы не будете автоматически информированы, когда асинхронный инструмент закончит свою работу. Вы можете следить за ходом работы асинхронного инструмента в окне Результаты (Results). Когда инструмент будет запущен, рядом с результатом будут отображены песочные часы. Вы можете отменить работу инструмента, щелкнув правой кнопкой мыши на результате и выбрав Отмена (Cancel). После выполнения задачи вы увидите сообщение, начинающееся со слова Успешно (Succeeded), и иконка инструмента будет отображена рядом с названием задачи результата.