ESRI banner

ArcGIS Image Server development overview

AG_Globe About ArcGIS Image Server development

ArcGIS Image Server provides users with a complete system to handle the processing and distribution of large quantities of image data for a variety of user requirements. However, some users may wish to extend the functionality of the system to handle specific workflows or integrate ArcGIS Image Server with other applications.

About ArcGIS Image Server being open

ArcGIS Image Sever is designed to be open, thereby enables developers to expand the functionality and integrate it with their applications. Developers can use a number of methods such as writing specific APIs to customize the functionality and capabilities, or use published data structures to enable service definitions to be directly generated from databases of image properties and metadata.

The core structures that ArcGIS Image Sever uses are a combination of XML and simple tables stored as shapefiles. The Service Editor application provides a graphic user interface that enables the creation of services from the most common types of rasters. The APIs predominantly work by creating and passing XML structures between the different system components. Many of the interfaces are also controlled by XML based forms that are interpreted at run-time and can be modified as required.

Categories of development methods

This document is broken down into chapters covering the following categories of possible development:

Creation of new client applications—The client component of ArcGIS Image Server utilizes a ImageServerClientDLL, which is compact and can be quickly integrated into a number of different applications enabling users to quickly access the imagery and features of ArcGIS Image Server. If additional applications require direct access to ArcGIS Image Server services, the ImageServerClientDLL can be quickly integrated into these applications by implementing a few function calls, allowing imagery to be returned in memory to the client application or as a file on the local disk. No licensing is required to use the ImageServerClientDLL. To learn more, see An overview of ArcGIS Image Server clients.
Raster formats—In ArcGIS Image Server, a raster format defines how pixels are read from a media into the server for processing and distribution. Although ArcGIS Image Server reads a number of common raster formats directly, there are some formats that can not be directly accessed. Additional raster formats can be added to the image server by adding specially written DLLs. Some raster formats are only raw pixels stored in a specified structure and can be accessed using the RRW raster format reader. Currently, RDO is utilized for adding additional unsupported raster formats. RDO is found in all ESRI applications. To learn more, see An overview of raster formats.
Raster types—In ArcGIS Image Server, a raster type defines properties and metadata about one or more rasters. There are many properties that are used to define a raster type, including how the raster is georeferenced, what processing should be applied, the spatial references system, the pixel sizes, and the footprint. Many image products are a combination of specifically formatted pixel data with the properties and metadata stored using a specific standard. Such image products can be considered specific raster types. When a raster is added to ArcGIS Image Server it is added by a process that is specific to its type, so that the properties and metadata are converted to ArcGIS Image Server standards. A number of standard raster types are directly supported; however, developers can create new raster type definitions or modify existing raster type definitions. To learn more, see An overview of raster types.
Processes—One of the key features of ArcGIS Image Server is its capability to apply image processing on rasters. A number of processes are available for you to apply on the image services or rasters. You can chain different processes together in different orders and using various parameters to create complex processes. ArcGIS Image Server 9.2 does not have the ability to create new processes. However, there is information on how to write Geotransformers, which are a specific type of ArcGIS Image Server process, can be written. To learn more, see An overview of Geotransformers.
GeotransformersThese are a specific type of processes in ArcGIS Image Server to georeference or transform imagery. Different Geotransformers exist to warp the image and define different sensors for features such as orthorectification. If specific georeferencing is required that is not directly supported, it can be added by including additional Geotransforms to  ArcGIS Image Server. To learn more, see An overview of Geotransformers.
MetadataArcGIS Image Server stores and distributes metadata about the image services and individual rasters that partake in the creation of an image. There are many standards for such metadata. In ArcGIS Image Server a set of metadata tags that are used for most applications, have been defined. If additional tags are required they can be added. To learn more, see An overview of metadata in ArcGIS Image Server.
AutomationThe Image Server Editor and Server Manager provide graphic user interfaces to perform the different tasks. For some operations, automated tools are required to streamline implementations. Using the automation tools, different workflows can be automated. To learn more, see An overview of automation in ArcGIS Image Server.
ArcGIS Image Server XML—ArcGIS Image Server utilizes XML extensively for the storage of parameters, to pass the parameters between the different components, and to control the interfaces that are generally dynamically generated. Standard XML schemas can be used to define the XML structures, but ArcGIS Image Server also uses its own data structures that define both the structure and validation of the XML, as well as the structure and functionality of the forms. By modifying these, it is possible to localize ArcGIS Image Sever and create new interfaces for defining new functionality in the different graphic user interfaces. To learn more, see An overview of ArcGIS Image Server XML.