When using a web tool or a geoprocessing service that has a raster output, the output is generated on the server and sent back to the client as a .tif file with a URL. The use of this .tif file is limited, especially for large rasters, which will have performance issues. In addition, there can be significant information loss when the result raster, such as multidimensional raster data, is converted to a .tif file.
With an output image service, a raster output becomes an image service that provides the benefits of using an image service, including quick access for clients even with a large raster, processing imagery quickly on the fly, and performing additional analysis.
Publishing
To share a web tool or a geoprocessing service with an output image service, use ArcGIS Pro 3.4 or later, and publish to ArcGIS Enterprise 11.4 or later. Stand-alone ArcGIS Server is also supported. ArcGIS Enterprise on Kubernetes does not support an output image service.
The web tool or geoprocessing service must be asynchronous, and the View output in map imagery layer option must be unchecked.
Raster data types and composite data types that have a raster data type as one of the allowed types in the composite are also supported, but multivalue raster outputs and output value tables with a raster column are not.
To publish or overwrite a web tool or a geoprocessing service in ArcGIS Pro with output image service, complete the following steps:
- Run the geoprocessing tool locally and successfully without any errors.
- Open the Share as a web tool or Publish Geoprocessing Service pane.
- Click the Content tab.
- Click the Configure Tool Properties button
and edit the task you want to have for the output image service.
- In the Parameter Configuration section, check the Add optional Output Image Service check box.
An optional input string parameter is added to the tool during the publishing process.
The parameter will have a display name of Output Image Service and a parameter name of esri_out_image_service. There is no default value.
To use Python to publish a web tool or a geoprocessing service, use the GeoprocessingSharingDraft class, and set the enableOutputImageService property to True.
Requirements for using an output image service
Using an output image service has the following requirements:
- Regardless of the image server licensing and configuration, the server having the web tool or geoprocessing service must have the raster rendering system image service running. Otherwise, the image service will not be created, resulting in an error when using the tool.
- Ensure that there is enough disk space in the input server directory on the machine of the web tool or geoprocessing service. This is especially important when frequently generating large raster results. Even if you registered a raster store, raster stores are not supported as a storage option for an output image service.
- You must have the privileges or roles required to publish an image service. See Publish an image service for more information.
- If the raster result is a mosaic dataset, ensure that ArcGIS Server has an image server role licensed. Contact your system administrator to confirm, or authorize ArcGIS Server.
When providing a value for the output image service parameter, ensure that there are no special characters. Only alphanumeric characters and spaces and underscores are supported. Spaces will be converted to underscores for the image service. The name you specify is a prefix. The full image service name will be in the prefix_<output raster parameter name> format. If you have multiple output raster parameters, there will be multiple image services generated. If an optional output raster parameter does not have a result, no image service will be generated. Use a brief prefix when possible; the maximum number of characters for the full image service name is 120.
Create an output image service
To use an output image service for a web tool in ArcGIS Enterprise, provide a prefix for the Output Image Service name. Once the tool has run successfully, a web imagery layer portal item will be located in the portal folder. The corresponding image service will be in the root directory of ArcGIS Server.
To use an output image service for geoprocessing services in a stand-alone ArcGIS Server, provide a prefix. The result image service will also be in the root directory of ArcGIS Server.
The original format of the raster results will be preserved whenever possible, whether they are in a geodatabase such as a mosaic dataset, or a file format such as TIFF or CRF. The raster results will be used to create an image service. If the result raster is in memory, there will be an image service based on the CRF format converted from the result raster in memory. Avoid using memory for raster results if the result raster size will be large. See General considerations for using web tools to learn how to increase heap size when using in memory.
To use the ArcGIS REST API when you submit a geoprocessing job, provide a string or a JSON based on the JSON schema. You can specify folders and metadata using the ArcGIS REST API and providing explicit names for each output image service to avoid the prefix_<output raster parameter name> format.
Overwrite an output image service
If the web tool or geoprocessing service is on ArcGIS Enterprise or stand-alone ArcGIS Server 11.5 or later, you can overwrite an existing image service with a prefix starting at ArcGIS Pro 3.5 by checking the Overwrite existing image servicescheck box.
To overwrite the service, you must be the owner of the existing image service or an administrator of your ArcGIS Enterprise or stand-alone ArcGIS Server. All other requirements for creating an output image service apply. To overwrite an image service that has a name that does not follow the prefix_<output raster parameter name> format, or to overwrite existing metadata, use the ArcGIS REST API when submitting a geoprocessing job.