GP Service

Description

Geoprocessing is a fundamental part of enterprise GIS operations. Geoprocessing provides the data analysis, data management, and data conversion tools necessary for all GIS users.

A geoprocessing service represents a collection of published tools that perform tasks necessary for manipulating and analyzing geographic information across a wide range of disciplines. Each tool performs one or more operations, such as projecting a data set from one map projection to another, adding fields to a table, or creating buffer zones around features. A tool accepts input (such as feature sets, tables, and property values), executes operations using the input data, and generates output for presentation in a map or further processing by the client. Tools can be executed synchronously (in sequence) or asynchronously. When used with the REST API, a geoprocessing service should always be published as a pooled service.

Use a geoprocessing service to do the following:

Many uses of GIS involve the repetition of work, and this creates the need for a framework to provide automation of workflows. Geoprocessing services answer this need by using a model to combine a series of operations in a sequence and then exposing the model as a tool.

The REST API geoprocessing service resource provides basic information associated with the service, such as the service description, the tasks provided, the execution type, and the result's map server name.

The geoprocessing service resource has operations that return results after a task is successfully completed. The supported operations are as follows:

Resource Hierarchy

GP Service

Request Parameters

Parameter

Details

f

Description: The response format. The default response format is html.

Values: html | json

Example Usage

Example 1: URL for the "ESRI_DriveTime_US" GP service on sampleserver1.

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Network/ESRI_DriveTime_US/GPServer

JSON Response Syntax

{"currentVersion": <currentVersion>,"serviceDescription" : "<serviceDescription>","tasks": ["<taskName1>", "<taskName2>"],"executionType": "<executionType>","resultMapServerName": "<resultMapServerName>","maximumRecords": <maximumRecords>//Added at 10.1}

JSON Response Example

{"currentVersion": 10.1,"serviceDescription" : "Test Geoprocessing Service Description","tasks": ["BufferPointsByRef","BufferLinesByRef","BufferPolygonsByRef"],"executionType": "esriExecutionTypeAsynchronous","resultMapServerName": "BufferByRef","maximumRecords": 1000}