Image services provide web-based access to imagery for both visualization and analysis. ArcGIS Server provides the ability to serve individual raster datasets as image services.
These image services enable a wide range of applications to quickly access imagery, because only the required data is returned to the client application. In addition to returning the original pixel value, the server can also perform on-the-fly processing—pixels are processed as they are accessed, returning rendered and compressed versions of the imagery.
The ArcGIS Image Server (formerly Image Server Extension) extends these capabilities by using mosaic datasets as a source. Mosaic datasets can reference large collections of imagery, maintain metadata, and define how images should be processed into multiple image products. With Image Server, mosaic datasets can be served not only as searchable catalogs, but also as dynamic mosaics in which multiple images are fused together based on predefined or user-defined rules. In this way, fast and simple access is provided to large collections of imagery.
Mosaic datasets
Mosaic datasets are the optimum data model for efficiently managing and serving of large collections of imagery. Mosaic datasets catalog the rasters along with their metadata, enable the definition of additional metadata for each raster, and allow processing to be applied when the data is accessed. The mosaic dataset can then be either directly accessed by ArcGIS applications, such as ArcGIS Pro, or served as image services, making them accessible to a wide range of desktop, web, and mobile devices. You can quickly access the imagery and associated metadata for use as a background image in applications, or for detailed interpretation or analysis. Mosaic datasets can also be used as the input for Raster Analytics, which enables Image Server to persist data products covering large areas by using distributed compute and storage.
Mosaic datasets are generally created using tools in ArcGIS Desktop. A range of tools is provided to create a mosaic dataset, add rasters, define or refine metadata, add processing, and modify properties. These same tools can also be incorporated into scripts that can be run either in Desktop or on Server in fully automated environments.
When mosaic datasets are accessed directly by ArcGIS Desktop, the application determines the view extent for the imagery that needs to be accessed, performs the required processing, and displays the image.
Serving dynamic image services
When connecting through Image Server, the client application defines the extent and scale of the imagery required, and the server determines the imagery that needs to be accessed, performs the required processing, and returns only the required processed pixels to the application. As a user of these dynamic image services, you can do the following:
- Access the rendered imagery, a catalog of the imagery, and metadata
- Define additional processes to be applied to the imagery
- Define additional queries and filters to limit which images are displayed
- Define the mosaic method rules that control the display order of the imagery when images overlap
This rich functionality enables the full information content in imagery to be accessed for visual interpretation as well as analysis.
As an imagery manager, you may want to provide your users quick access to the imagery, but without creating intermediate products or using lots of different services. Users prefer simple user experiences and applications where a single layer provides access to all the appropriate imagery that they require for a task within an application. A typical user would prefer to zoom directly to their area of interest and immediately see the most appropriate imagery without needing to first define a source or search for appropriate imagery. They may also want to do one or more of the following:
- Query metadata of the imagery to ensure that it is suitable for some analysis
- Query the availability of other imagery
- Change the display of the imagery
- Define processing to be performed to enhance the image or perform some analysis
Such user experiences can be achieved using image services.
Image services are designed to be used directly, so that users do not need to download the imagery to their local machines. There may be valid reasons for a user to download, such as exporting a section of imagery covering a specified extent, taking imagery to the field, or downloading the original pixels for local analysis. This is allowed, but in many cases it is discouraged, as it creates redundant copies of the imagery and makes image management and maintenance more complex.
Serving tile cache
Serving tile cache is an alternative method of serving imagery, in which imagery is cached as tiles that are returned to the client applications. Tile cache provides the most scalable method for serving imagery, because accessing pre-generated cache tiles puts very little load on a server and exploits the inherent caching capabilities of networks and browsers for static content.
Creating tile cache is most valuable when imagery is only required as a background and no filtering or control of the image order is required. Tile cache is generally highly compressed and limited to 3-band 8-bit imagery, so it is not suitable for analysis. Tile cache does require additional storage, but in cases where the original imagery need not be accessed (and so archived away), it can also reduce the storage requirement on the server.
The optimum method of creating a tile cache of imagery is to first create a mosaic dataset. The mosaic dataset can then be served as an image service, converted to a cache, or served as an image service with caching turned on. When serving image services with caching, you can connect and use this default cached view of a service. This puts very little load on the services. But when you need to better interpret, query, or analyze the imagery, you may change to a dynamic image service. For more information, see How applications access and use the image service cache.
Tile cache can also be created with ArcGIS from either a raster dataset or a mosaic dataset. The tile cache can be used as a new compressed raster dataset served as a map service from ArcGIS Server or through ArcGIS Online.
Raster analytics and geoprocessing
With Image Server 10.5, raster analytics was added to allow for distributed raster analysis and distributed image processing. Raster analytics extends Image Server to enable the persistence of imagery products for large areas at high resolution.
Traditionally, the result of processing was streamed directly back to the client application. Instead, raster analytics allows data to be processed and output in parallel to a raster datastore, and then served back to the client applications as web layers. The output from raster analytics can be an image, a large raster dataset, or vector data, and it can be served back as an image services or feature services registered as item layers in your portal.
The process of using raster analytics is similar to using geoprocessing tools. Both are applied as tasks and run as asynchronous processes, and the input for both can be mosaic datasets, raster datasets, or vector layers. Using geoprocessing tools enables the full integration of the extensive capabilities of ArcGIS, while raster analytics provides scalability for intensive image and raster analysis.
Next: Overview of Publishing Imagery using ArcGIS Imagery Workflows