Use an output image service

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 an URL. The usage 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, like a multidimensional raster data, is converted to a .tif file.

With an output image service, a raster output becomes an image service, providing the benefits of using an image service, including quick access for clients even with a large raster, the ability to further process imagery quickly on the fly, and to perform 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.

Your web tool or geoprocessing service needs to be asynchronous, and the View output in map imagery layer option must be unchecked.

Raster data types and composite data types which have a raster data type as one of the allowed types in the composite, are also supported, but neither multivalue raster outputs nor an output value table with a raster column are supported.

To publish a web tool or a geoprocessing service in ArcGIS Pro, complete the following steps:

  1. Run your geoprocessing tool locally successfully without any errors.
  2. Publish or overwrite your web tool or a geoprocessing service.
  3. In the Share as a web tool or Publish Geoprocessing Service pane, click the Content tab.
  4. Before you click the Publish or Overwrite button, go to the Content tab of the sharing pane.
  5. Edit the task you want to have for the output image service by clicking the Configure Tool Properties button Configure Tool Properties.
  6. 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 your image server licensing and configuration, the server having your 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 there is enough disk space in the input server directory on the machine of your web tool or geoprocessing service. This is especially important when frequently generating large raster results. Even if you have 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 your 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 there are no special characters. Only alphanumeric characters along with 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 format of prefix_<output raster parameter name>. 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, an image service will not be generated. Use a brief prefix when possible; the maximum number of characters for the full image service name is 120 characters.

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 your 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 your 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 your 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 your 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.