Geoprocessing


Geoprocessing is a fundamental part of every phase of a geographic information system (GIS). In ArcGIS, much of the functionality available in ArcToolbox can be run on ArcGIS Server as geoprocessing services. You can execute tools from Web applications or ArcGIS Explorer. Once you create the GIS service, you can connect to it via local connections or Internet connections. Making an Internet connection to a GIS service means you will use it as a Web service.

Geoprocessing services

Geoprocessing services allow users of your applications to leverage geoprocessing models that run on the server. Before you publish a geoprocessing service, you need to use the ModelBuilder feature of ArcGIS Desktop to create the model. You can then publish this model with a map document or in a toolbox and enable the model it contains as a geoprocessing service.
You can publish a tool or model in a toolbox as a geoprocessing service by itself or associated with a map document. Assuming that a geoprocessing service is available, the following options exist for consuming and working with the service:
  • GeoProcessor object—The GeoProcessor object is a helper object that simplifies the task of executing geoprocessing tools. Using GeoProcessor, you can add a toolbox published on ArcGIS Server as a geoprocessing service using the addToolbox() method, then execute any tool published on the server. This usage is consistent with GeoProcessor usage in ArcGIS Engine applications, the only difference is that the toolbox that is being used exists on the server as a geoprocessing service.
  • GPServer object—ArcGIS Server for the Java Platform provides libraries that contain ArcObjects, which can be used to execute geospatial functionality on the server using server objects. There are several types of server objects in ArcGIS, such as GPServer, MapServer, GeocodeServer, and NAServer, that are available to users to easily accomplish a wide array of tasks on ArcGIS Server. The GPServer object is a coarse grained entity that allows users full control over executing geoprocessing tasks on the server. It is typically provided for high performance tools that are published on a synchronous server, such as a network path calculation.

Data types

Geoprocessing is built around the concept of data types. Every geoprocessing tool parameter and every tool and model has an associated data type that describes the contents of the variable. Some simple data types are as follows:
  • String (any set of alphanumeric characters)
  • Boolean (a true/false value)
  • Long (an integer value between -231 and 231)
In addition to these simple data types, there are other data types built specifically for use with geoprocessing, such as feature record set, linear unit, and raster data.
In ArcGIS, geoprocessing works with the following data types. Values of these types can be used for initializing input parameters.
  • Long
  • Double
  • Boolean
  • Data
  • Linear unit
  • Feature record set
  • Table record set
  • Raster data
  • Layer on the server
The data type in geoprocessing is an object used to specify and manage values passed as input to a geoprocessing tool. Data types can be used to determine if a given parameter is valid input to a geoprocessing tool. Data types are also used to provide a way to generate and validate the parameter values. Every data type is derived from a Value object, which is created and defined by the IGPValues interface. These Value objects are the actual inputs to a geoprocessing tool. An array of values is created based on the same order of the parameter definition of a geoprocessing tool. This array of values is then used to validate and execute the geoprocessing tool.
Additional information can be found in "Publishing Geoprocessing services" and "Publishing Map services" in the Publishing section of the ArcGIS Manager documentation. 


See Also:

Managing input and output
Using GPServer
Using Geoprocessor