GP Service


Geoprocessing is a fundamental part of enterprise GIS operations. Geoprocessing provides GIS users with data analysis, data management, and data conversion tools.

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 GIS tasks 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, then exposing the model as a tool.

The REST API GP 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 GP 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




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

Values: html | json

Example usage

URL for the ESRI_DriveTime_US GP Service on sampleserver1.

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}