An overview of developing with ArcGIS Image Server

About developing with ArcGIS Image Server

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

ArcGIS Image Server is designed to be open, thereby enabling developers to expand its functionality and integrate it with their applications. Developers can use a number of methods such as writing specific application programming interfaces (APIs) to customize the functionality and capabilities or using published data structures to generate service definitions directly from databases of image properties and metadata.

The core structures that ArcGIS Image Server uses are a combination of Extensible Markup Language (XML) and simple tables stored as shapefiles. The Service Editor component provides a graphic user interface (GUI) that enables you to create 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.

Development methods

This ArcGIS Image Server Developer Kit is divided into chapters covering the following categories of possible development:

Creation of new client applications—The client component of ArcGIS Image Server utilizes an ImageServerClientDLL, which is compact and can be quickly integrated many different applications, enabling you to quickly access the imagery and features of ArcGIS Image Server. If additional applications require direct access to image 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.

Learn about ArcGIS Image Server clients

Raster formats—In ArcGIS Image Server, a raster format defines how pixels are read from a medium into the server for processing and distribution. Although ArcGIS Image Server reads many common raster formats directly, there are some formats that cannot be directly accessed. Raster formats can be added to the image server with 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.

Learn about 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. A raster is added to ArcGIS Image Server 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.

Learn about raster types

Processes—A key feature of ArcGIS Image Server is its capability to apply image processing on rasters. Many processes are available for you to apply to the image services or individual raster datasets within an image service. You can chain different processes together in different orders and use various parameters to create complex processes.

Learn about custom processes

GeotransformsThese are a specific type of processes in ArcGIS Image Server to georeference or transform imagery. Geotransforms exist to warp the image and define different sensors for features such as orthorectification. If specific georeferencing is required that is not directly supported, you include additional Geotransforms in ArcGIS Image Server.

Learn about Geotransformers

MetadataArcGIS Image Server stores and distributes metadata about the image services and any individual rasters within the image service. There are many standards for such metadata. In ArcGIS Image Server, metadata tags that are used for most applications have been defined. If additional tags are required they can be added.

Learn about metadata in ArcGIS Image Server

AutomationThe Service Editor and Server Manager provide graphic user interfaces to perform different tasks. For some operations, automated tools are required to streamline implementations. Using the automation tools, different workflows can be automated.

Learn about automation in ArcGIS Image Server

ArcGIS Image Server XML—ArcGIS Image Server utilizes XML extensively to store parameters, to pass the parameters between the different components, and to control the interfaces that generally are dynamically generated. You can use standard XML schemas to define the XML structures, but ArcGIS Image Server uses its own data structures that define both the structure and validation of the XML, as well as the forms' structure and functionality. By modifying these, it is possible to localize ArcGIS Image Server and create additional interfaces for defining new functionality in the different graphic user interfaces.

Learn about ArcGIS Image Server XML