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:
- List available tools and their input/output properties
- Execute a tool synchronously
- Submit a job and execute a tool asynchronously
- Return messages on the status of a job
- Cancel a job
- Display results using a map service
- Retrieve results for further processing on the client
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 |
---|---|
Cancels a pending job on the server. | |
Executes a synchronous geoprocessing tool. | |
Gets the type of execution, either synchronous or asynchronous. | |
Gets the execution environment values for a geoprocessing job. | |
Gets the input values for a job. | |
Gets verbose messages representing the current state of a submitted geoprocessing job. | |
Gets the results of a geoprocessing job that has completed successfully. | |
Gets the map extent for the results for a job. | |
Gets the result options for a job. | |
Gets the current status of a geoprocessing job. | |
Gets the name of the tool used for a job. | |
Gets the name of the map service that may be used to render results. | |
Gets either a zip file of results generated by a geoprocessing job or the URL indicating the location of that file. | |
Gets information about tasks (or tools) in a geoprocessing service which uses the data types supported by the desktop application ArcGIS Explorer. | |
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. | |
Gets information on a specific tool (or task) in a geoprocessing service. | |
Gets information about tools (or tasks) in a geoprocessing service. | |
Gets a list of all tool names in a geoprocessing service. | |
Executes an asynchronous geoprocessing tool. |