Geoprocessing services

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 dataset from one map projection to another, adding fields to a table, or creating buffer zones around features. A tool accepts inputs (such as feature sets, tables, property values), executes operations against the input data, and generates output for presentation in a map or further processing by the client. Tools can be executed synchronously or asynchronously.

Use a geoprocessing service to:

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 providing a mechanism to combine a series of operations in a sequence using a model and exposing the model as a tool. Inputs and outputs to geoprocessing services consist of strong types deriving from GPValue. Here is a list of valid types:

GPValue Type

Description

GPBoolean

Stores boolean values.

GPDataFile

Stores data file contents.

GPDate

Stores date values.

GPDouble

Stores double values.

GPFeatureRecordSetLayer

Stores record sets that contain features.

GPLinearUnit

Stores linear unit definitions.

GPLong

Stores long values.

GPMultiValue

Stores multiple geoprocessing value objects.

GPRasterData

Stores raster data contents of a defined format.

GPRasterDataLayer

Stores raster data contents to display in a map.

GPRecordSet

Stores tabular data.

GPString

Stores string values.

These types assist you when in just about every aspect to server tool usage via a geoprocessing service. They are used to describe inputs to a server tool, such as the type of parameters returned from a call to GetToolInfo or GetToolInfos. When initiating request to a server tool for processing via Execute or SubmitJob, the array of input values must consist of these types. Results from a server tool (e.g. GetJobResult) are defined using these types.

WSDL Syntax

http://<host name>:<port number>/<arcgis instance>/services/<ServiceName>/GPServer?wsdl

Methods

Proxy method

Description

CancelJob

Cancels a pending job on the server.

Execute

Executes a synchronous geoprocessing tool.

GetExecutionType

Gets the type of execution, either synchronous or asynchronous.

GetJobEnvironmentValues

Gets the execution environment values for a geoprocessing job.

GetJobInputValues

Gets the input values for a job.

GetJobMessages

Gets verbose messages representing the current state of a submitted geoprocessing job.

GetJobResult

Gets the results of a geoprocessing job that has completed successfully.

GetJobResultMapExtent

Gets the map extent for the results for a job.

GetJobResultOptions

Gets the result options for a job.

GetJobStatus

Gets the current status of a geoprocessing job.

GetJobToolName

Gets the name of the tool used for a job.

GetResultMapServerName

Gets the name of the map service that may be used to render results.

GetResultWorkspace

Gets either a zip file of results generated by a geoprocessing job or the URL indicating the location of that file.

GetTaskInfos

Gets information about tasks (or tools) in a geoprocessing service which uses the data types supported by the desktop application ArcGIS Explorer.

GetTaskNames

Gets a list of task (or tool) names in a geoprocessing service that meets the data requirements to be a task consumed by ArcGIS Explorer.

GetToolInfo

Gets information on a specific tool (or task) in a geoprocessing service.

GetToolInfos

Gets information about tools (or tasks) in a geoprocessing service.

GetToolNames

Gets a list of all tool names in a geoprocessing service.

SubmitJob

Executes an asynchronous geoprocessing tool.

2/28/2020