Imagery is so much more than a pretty picture. It is purchased, collected, or acquired with the goal of extracting information from it, whether that is through visualization or analysis. However, imagery must be shared before it can be used. Even after finding a place to host imagery, it can be challenging to decide how to share it. Within ArcGIS, there are three ways to share or stream imagery and raster data: map tile cache, tiled imagery, and dynamic imagery. This article outlines the advantages and disadvantages of each method.
What Is Map Tile Cache?
Think of a map tile cache as a collection of images that have been tiled together to create a pretty picture that is often used as a basemap. This picture is optimized for performance and designed to scale. What makes this tile service fast is that preprocessing and compression are performed before it’s served. Because each tile is cached and optimized for display, the tiles are drawn immediately after panning and zooming the map.
Map tile cache is highly performant, which makes it ideal for visualization. When imagery or elevation data is solely intended to serve as a backdrop or basemap, streaming imagery as map tile cache is the best choice.
Although map tile cache receives high marks for performance, note that it is streaming “dumb,” compressed image tiles. The rich information typically contained within imagery is lost. The map tile caching process automatically saves imagery as 8 bit and projects it to a single projection—typically Web Mercator. This means that minimal analysis can be performed on this imagery. A map tile cache doesn’t provide access to spectral bands, image metadata, or the ability to reproject the imagery. If stakeholders in the organization need to do more with imagery than basic visualization, use streaming tiled imagery or dynamic imagery layers.
What Are Tiled Imagery Layers?
Like map tile cache, tiled imagery layers bring a collection of images together to create a single service or carpet of imagery. However, unlike a map tile cache, the images do not have to be compressed or projected, so more information from the original imagery is retained by the streaming service.
Tiled imagery provides an experience that’s just right for visualization and analysis. It’s fast and performant, like map tile cache, but the tiles render on the client side, so no work is required on the server side. However, the rich content within the imagery is preserved, and no pixel fidelity is lost. This means the number of bands streamed isn’t limited, the bit depth stays true to the original imagery, and pixel values can be obtained for any location, which allows for analysis, set renderings, and visualization of different band combinations using a single analysis-ready imagery layer.
Tiled imagery is not ideal for overlapping, multiresolution, or multitemporal imagery. Because tiled imagery layers treat data like a carpet of imagery with a preset projection and pixel size. Streaming dynamic imagery layers is the best choice for stitching together imagery in real time from different sensors or for different days for a given area.
What Are Dynamic Imagery Layers?
Dynamic imagery is an image collection that’s dynamically mosaicked/stitched together on the fly by the server. During panning and zooming, the imagery that covers the specific extent required is fetched from the server. For the area of interest, a call is made to the server to pick all the imagery in that area, process that imagery (if required), stitch the imagery together, and then send it to the client’s view. This process results in a dynamic view based on specified mosaic rules that is extracted directly from the source imagery.
Use dynamic imagery layers to analyze overlapping and multitemporal imagery. This image service is great for use cases that require stepping through time and dynamically sorting imagery based on attributes, such as cloud cover, date of acquisition, or nadir angle.
For scenarios in which cloud cover is an issue, available imagery without clouds can be dynamically chosen. To perform a change detection workflow, use a dynamic imagery layer to query two images of the same extent captured on different dates. And if that wasn’t enough, dynamic imagery layers can process imagery on the server using raster functions before streaming the pixels back to the client. In essence, a dynamic imagery layer can finely control the imagery that is received.
Because the data is processed on the fly and dynamic imagery layers provide additional capabilities, they tend to be slower and slightly more expensive than either map tile cache or tiled imagery. Dynamic imagery layers also require processing power from the server. If hosting imagery via ArcGIS Image for ArcGIS Online, these services can only be streamed within an organization and cannot be streamed publicly. Alternatively, dynamic imagery layers can be streamed publicly via ArcGIS Image Dedicated, Esri Managed Cloud Services, or ArcGIS Image Server.
Take the Next Step
For a quick way to host and share imagery and raster data try ArcGIS Image on ArcGIS Online. Learn more about sharing imagery. For more information on sharing imagery and raster data, see the Esri Imagery Workflows site.