Understand imagery layer settings for analysis

Raster analysis is supported on imagery layer items shared on ArcGIS Online. The analysis request can be sent from Map Viewer, ArcGIS API for Python, or ArcGIS Pro. A user type of GIS Professional Standard or GIS Professional Advanced with the Image Analysis privilege is required to gain access to the raster tools and functions in Map Viewer.

ArcGIS Online has many layers that can be added to a web map and visualized, but not every layer can be used for raster analysis. While some layers can be visualized as imagery in the map, not all of these layers are recognized in raster analysis tools or raster functions.

Note:

Raster functions are currently only available in Map Viewer Classic for ArcGIS Enterprise.

The publisher of the imagery layer can control whether the image layer can be used in analysis, by either blocking or allowing analysis to be performed with the imagery layer as input. You can set these properties when you create the imagery layers. Layers publicly available on ArcGIS Online or through ArcGIS Living Atlas of the World may have properties set that prevent their usage in analysis. When these layers are used as input, you may receive an error message indicating that it may not have analysis enabled or a warning indicating the spatial extent exceeds the limit imposed on the imagery.

The following sections contain information to confirm that an imagery layer is ready for analysis based on the restrictions imposed by the creator of the imagery layers.

Confirm the type of layer

Not all layers that are available in ArcGIS Online are suitable for raster analysis. Many raster analysis tools and raster functions are designed to work on dynamic or tiled imagery layers from ArcGIS Online or imagery layers from ArcGIS Image Server. Review the type of layer for its analysis readiness.

Verify analysis is enabled in the service properties

Whether a layer can be used in analysis is controlled by the allowAnalysis service property. When this value is null or true, the imagery layer can be used in analysis. When the value is false, the imagery layer cannot be used as input for analysis. By default, analysis is enabled for the dynamic or tiled imagery layers from ArcGIS Online or imagery layers from ArcGIS Image Server. The value of the allowAnalysis flag can be retrieved from the service information page. For more information about the allowAnalysis flag, review the help documentation for the parameters.

Consider the request size limit for dynamic imagery layers or image services

In addition to the allowAnalysis flag, the dynamic imagery layer has settings to restrict the size of the analysis from a single request through maxImageHeight and maxImageWidth. In the settings of the imagery layer, the settings are reported as max rows and max columns.

Type of imagery layerMax rowsMax columns

Hosted dynamic imagery layer

4,000

4,000

ArcGIS Image Server image service

4,100

15,000

The values of these two settings define the maximum number of rows and columns that a single analysis request can retrieve from the imagery layer. The layer publisher can also change the settings to values other than the default.

For a hosted dynamic imagery layer on ArcGIS Online, there is a global limit for maximum rows and columns of 4000 by 4000. This global limit does not apply to an ArcGIS Image Server image service or ArcGIS Living Atlas dynamic imagery layer.

When using the layer for analysis, the analysis request size for the numbers of rows and columns is calculated from the analysis extent and the analysis cell size. The number should not exceed the limit set for the layer.

For example, to perform analysis on a 10-meter resolution image from a dynamic imagery layer, the maximum extent you can process in a single request is 10 x 4,000 = 40,000 meters (40 kilometers) by 40 kilometers.

If you use ArcGIS Living Atlas dynamic imagery layers for analysis, the request size limit setting is configured by the layer publisher and may not be the default value listed above. Check the settings value before you start the analysis job.