Веб-сервис ArcGIS REST основан на двух принципах:
Каждый сервис ГИС публикуется на ArcGIS for Server и считается ресурсом, поэтому к нему можно получить доступ через URL-адрес, например http://<имя_узла>/arcgis/rest/<имя_сервиса>. Этот URL-адрес также известен как конечная точка REST.
- Каждый ресурс обладает следующим:
- свойствами, которые его описывают;
- операции, которые можно производить над ресурсами (дополнительно);
- дочерние ресурсы (дополнительно);
Операция — это действие над источником, которое привело к передаче статуса ресурса и созданию новых условий. Дочерний ресурс — это ресурс, который живет в контексте своего родительского ресурса и наследует свойства своего родительского объекта. Дочерний ресурс также может иметь собственные свойства и поддерживать операции, которые могут с ним выполняться. Ресурс создает иерархию конечных точек для своих дочерних ресурсов и операций, доступ к которым можно получить через URL.
Сервисы геообработки REST
Сервис геообработки — это ресурс, доступ к нему можно получить через URL-адрес. Формат URL-адреса для сервиса геообработки: http://<имя_сервера>/<имя_экземпляра>/rest/services/<имя_сервиса>/GPServer, например, http://сервер/ArcGIS/rest/services/BufferPoints/GPServer. Сервис геообработки содержит свойства, такие как Описание сервиса (Service Description), Задачи (Tasks), Тип выполнения (Execution Type) и Результирующий картографический сервер (Result Map Server). Задачи геообработки, которые публикуются в рамках сервиса геообработки, являются дочерними ресурсами сервиса. Сервис геообработки сам по себе не содержит какие-либо операции, однако задачи поддерживают операцию submitJob или execute. Задачи в сервисе геообработки наследуют свойства Тип выполнения (Execution Type) и Результирующий картографический сервер (Result Map Server) и имеют дополнительные свойства, такие как Описание (Description) задачи, Параметры (Parameters) задачи и т. д. Свойства сервиса и задачи определяются издателем сервиса и не могут изменяться клиентами.
На приведенном ниже изображении показана иерархия ресурсов геообработки REST. Обратите внимание, что свойства сервиса геообработки показаны оранжевым цветом, например Тип выполнения (Execution Type), Максимальное число записей (Maximum number of records или Max no. of Records на иллюстрации) и Результирующий картографический сервис (Result Map Server), наследуются каждой задачей геообработки.
Задачи геообработки
Задача геообработки — это дочерний ресурс сервиса геообработки. Сервис геообработки может поддерживать одну или несколько задач. Рассматривайте задачу геообработки как инструмент геообработки, который управляется сервером. Этот инструмент выполняется на стороне сервера, когда клиент отправляет запрос с соответствующими значениями входных параметров. Если инструмент выполнен успешно, значения выходных параметров будут возвращены клиенту. URL-адрес доступа к задаче геообработки http://<url-сервиса-го>/<имя_задачи>, например: http://myserver/ArcGIS/rest/services/BufferPoints/GPServer/BufferPoints.
Дополнительные сведения о задачах геообработки в REST
Тип выполнения
Функции задачи геообработки могут быть простыми и занимать несколько секунд при выполнении на сервере, однако задача может поддерживать и расширенные функции, обрабатывать большие объемы данных и выполняться дольше. Поэтому интерфейс API REST предоставляет две опции для выполнения задачи геообработки на сервере.
- Синхронный (Synchronous) — синхронные задачи подходят для быстро выполняющихся задач. В синхронных задачах клиент отправляет запрос на выполнение задачи, а результаты задачи возвращаются клиенту в качестве ответа.
- Асинхронный (Asynchronous) — асинхронные задачи подходят для долгосрочных заданий. В асинхронных задачах сервер возвращает идентификатор задания, который клиент использует для опроса статуса задачи. Если по статусу задача считается завершенной, результаты создаются в качестве дочерних ресурсов задания. Клиент может получить к ним доступ, предоставив идентификатор задания.
Результирующий картографический сервер
Результирующий картографический сервер — это динамический картографический сервис, который сопутствует сервису геообработки для визуализации результатов геообработки. Каждый выходной параметр набора геоданных в задаче геообработки будет добавлен в качестве слоя в картографический сервис. Визуализация слоев определяется символами, определенными во время публикации. Так как это динамический картографический сервис, клиенты могут добавлять картографический сервис или слои картографического сервиса в веб-приложения. Клиенты также могут выполнять операции, такие как Идентификация (Identify), Поиск (Find) и Экспорт карты (Export Map) применительно к картографическому сервису, а также опрашивать, создавать способы отображения и получать доступ к функциям на слоях картографического сервиса.
Максимальное число записей
Свойство максимального числа записей определяет количество выходных объектов или записей, возвращаемых сервисом. Если количество выходных записей или объектов, созданных задачей геообработки. превышает максимальное количество записей, сервис не будет возвращать каких-либо записей или объектов. Клиенты могут идентифицировать подобны случаи, просмотрев свойство превышения ограничения передачи для набора объектов или набора записей, возвращаемого задачей. Свойство превышения ограничения на передачу будет иметь значение true, если число записей и объектов в выходном параметре превышает максимальное количество записей, указанное в сервисе.
Просмотр страницы сервиса в веб-браузере
Каждый сервер ArcGIS имеет каталог сервисов, доступ к которому можно получить через URL-адрес, а каждый сервис на сервере имеет собственную страницу сервиса, также доступную через URL-адрес. Свойства сервиса геообработки REST, описанные выше, можно изучить на странице сервиса в веб-браузере. Страница сервиса используется в основном веб-разработчиками для ознакомления с функциями сервиса. Даже если вы не являетесь веб-разработчиком, то найдете страницу сервисов полезной для понимания принципов принятия решений при публикации сервиса и их влиянии на использование вашего сервиса и его задач веб-разработчиками.
После успешной публикации сервиса геообработки в ArcGIS for Desktop, новый сервис геообработки добавляется к подключению к ArcGIS for Server в окне Каталог. Чтобы просмотреть страницу сервиса, щелкните правой кнопкой мыши сервис и выберите пункт Свойства сервиса (Service Properties). Откроется редактор сервисов. В редакторе сервисов щелкните вкладку Геообработка (Geoprocessing) в разделе Функции (Capabilities). Приведенное ниже значение REST URL является URL-адресом страницы сервиса.
Скопируйте и вставьте URL-адрес REST в адресную строку браузера, чтобы просмотреть страницу сервиса. Информация, приведенная на странице, напрямую относится к свойствам, определенным при публикации сервиса геообработки. На приведенной ниже иллюстрации показаны свойства, указанные в редакторе сервисов при публикации, а также соответствующие свойства, как они отображаются на странице свойств.
Обратите внимание, что задачи геообработки сервиса в веб-браузере отображаются с HTML-ссылкой. Каждая ссылка ведет на страницу задач, где можно найти информацию о свойствах задачи и поддерживаемых действиях.
Дополнительные сведения о странице задачи в каталоге сервиса