General considerations for using geoprocessing services

The following sections describe the considerations when running a geoprocessing service with more advanced settings.

Large dataset upload and download

There is a file size limitation for uploading data capability when sharing a geoprocessing service and downloading output data when running the geoprocessing service. The limitation depends on the heap size of the federated server that hosts the geoprocessing service. The default server heap size is 64 MB; however, the size can be modified by the server administrator if needed. Check with your server administrator to increase the heap size in the following instances:

  • Uploading raster data larger than 64 MB
  • Uploading feature data close to or larger than 64 MB
  • Downloading feature data close to or larger than 64 MB

When downloading large feature data, the maximum number of records returned by the server should also be considered. The default record size is 1,000. If the number of records returned will be more than 1,000, you can do the following:

  • Reset the maximum record count from the Configuration pane of the Publish Geoprocessing Service pane during publishing.
  • If you do not reset during the sharing process, the data is not downloaded, and the geoprocessing service causes the message data exceeds transfer limit to appear in the geoprocessing history. You must sign in to the server manager and reset the maximum number of records for the geoprocessing service.

For detailed explanations about the relationship between heap size and large upload and download datasets, see the Heap size section of Geoprocessing service settings advanced settings.

Upload large datasets from a web application

Web applications use the Representational State Transfer (REST) Uploads operation to upload files. This capability is set by the Service Editor Capabiltities Geoprocessing Operations allowed option. The default maximum upload size is 2 GB. You can modify the maximum upload size to less than 2 GB by following the steps described in the Upload size section of Geoprocessing service properties advanced settings. You cannot modify the maximum upload size to a size greater than 2 GB.

If the input data is a .txt, .zip, or .jpg file, you can use the uploads resource operation to upload these file types. The setup of an upload file type is described in the Upload types section of Geoprocessing service properties advanced settings.

Geoprocessing services from ArcMap

You can use geoprocessing services with a server connection file. If a geoprocessing service is published from any client to ArcGIS Server 10.9.1 or earlier, you can use it with any connection type. Publishing from ArcMap to ArcGIS Server 11 and later is not supported. However, you can use the geoprocessing services published from ArcGIS Pro to ArcGIS Server 11 with the following requirements:

  • Use User connection type for server connection.
  • The permissions of the service is Public.
  • If the geoprocessing service has a parameter with value table or field or composite data type, you can only use it with the existing values. Changing the existing values or providing values from ArcMap is not supported.

Use custom geographic transformation

There are occasions when you may want to use a custom geographic transformation file (.gtf) for the geoprocessing service you share. If this is the case, ensure that the .gtf file is on the federated server that hosts the geoprocessing service.

The .gtf file path saved in ArcGIS Pro is similar to that in ArcGIS Desktop. Replace the Desktop10.x portion of the .gtf path with ArcGISPro.

Input as a feature or image service

You can provide an input from a feature service for feature and image service for raster data type by typing the service URL, selecting a service layer from Contents pane, or choosing a service from the Portal pane in ArcGIS Pro. Make sure those services are shared with everybody; otherwise, you won't have permission to use them.

Use environment variables

When consuming a geoprocessing service from ArcGIS Pro, you can use the tool's Environments tab to set environment settings for when the tool is run. Some environments, such as Output Coordinate System and Mask, accept a typed in feature service or map service URL in addition to choosing from the drop-down list. Some environments, such as Snap Raster and Cell Size, accept a typed in image service URL in addition to choosing from the drop-down list. Environment settings specified on the Analysis tab, which are used in local geoprocessing in ArcGIS Pro, are not processed when the geoprocessing service is consumed. Below is the list of supported environments.

  • Output Coordinates—Output Coordinate System, Geographic Transformations
  • Processing Extent—Extent
  • Parallel Processing—Parallel Processing Factor
  • Raster Analysis—Cell Size, Cell Size Projection Method, Mask, Snap Raster
  • Geodatabase—Auto Commit
  • M Values—Output has M Values
  • Z Values—Default Output Z Value, Output has Z Values
  • Random Numbers—Random Number Generator Seed, Generator
  • Raster Storage—NoData
  • Processor Type—Processor Type, GPU ID

Parameter filters

When authoring a tool, you can set a filter on the Parameters tab on the Tool Properties dialog box. Starting at ArcGIS Server 10.7, when you publish a tool with filters, the filter information is also published. Only filters for supported input data types are supported, other than Date filters.

Example

In the tool below, a Range Filter has been set for a Double parameter with a Minimum value of 213 and a Maximum value of 123132.123.

If you use geoprocessing services in ArcGIS Pro and set an input value outside of the filter range, the tool prompts an error indicating the value is out of range.

The use of a range filter prevents values from being used outside of your defined range

Python environment used by geoprocessing services

Similar to ArcGIS Pro, ArcGIS Enterprise uses Python environments in ArcGIS Server.

By default, your geoprocessing services published from ArcGIS Pro uses the default Python environment, which is in the ArcGIS Server install directory on your server machine. If your ArcGIS Server is in the default installation location, your Python environment will be at C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3.

If you are using a customized Python environment with third-party Python packages when you author your analysis, those Python packages are not automatically uploaded to the ArcGIS Server during the publishing process. You need to upload your packages with the steps described in Deploying custom Python packages for ArcGIS Server. Otherwise, your geoprocessing services will fail when attempting to import the missing packages.