Hong Xua, Peng Gaob
ESRI, Raster Product Engineer Lead, 380 New York Street, Redlands, CA91765 - [email protected]
ESRI, Raster Development Lead, 380 New York Street, Redlands,-CA91765 - [email protected]
Commission IV, WG IV/2
KEY WORDS: GIS, Raster, Remote Sensing, Transformation, Geometry, Radiometry, Programming, Open System
The traditional workflow of using remote sensing images in GIS applications is to acquire or purchase processed images and then use
these “ready” images in GIS software. As the development of remote sensing technology, more and more sensors have been invented
and are producing imagery with various camera models. Both imagery providers and GIS software companies are working on
providing ways to make these imagery products available to wide varieties of GIS users in a timely fashion. This paper presents the
open structure in ArcGIS, the commercial GIS software, that allows third parties to add custom image processing functionality to
ArcGIS. With this open structure, ArcGIS software provides a platform that brings remote sensing and GIS application together. The
paper will discuss in details the image processing capabilities in ArcGIS and the open structure that supports custom geodata
transformations, custom pixel filters, and custom raster format into ArcGIS.
third parties can create their own extensions or custom plug-ins
to support custom camera model and custom pixel filtering
algorithms, taking advantages of the powerful ArcGIS
capabilities in image management, mapping and raster analysis.
ArcGIS, the leading GIS software for managing geospatial data,
provides functionality in raster data storage and management,
image processing, image visualization, and image serving over
the web. This combination of capabilities provides a complete
solution for government agencies, the military, private
companies, and many other parties to build various GIS and
geospatial applications.
ArcGIS software supports many types of geometric
transformations. The Georeferencing toolbar in ArcGIS allows
users to georeferencing image with three geometric
transformation types: polynomial transformation which includes
1st, 2nd, and 3rd polynomial, rubber sheeting transformation, and
Spline transformation. ArcGIS’s raster projection engine
provides a fast and accurate algorithm for re-projecting images
to various projections including the complicated Cube and
Fuller projections.
First, ArcGIS supports more than 40 existing raster formats and
can store large seamless image mosaics in an enterprise
geodatabase and a File geodatabase that any other existing
raster format can not offer. Developers can also add any new
raster format support into ArcGIS. These capabilities have laid
a solid foundation for building geospatial applications with
various image data; Secondly, ArcGIS provides many raster
renderering capabilities that can display various types of raster
data; Thirdly, ArcGIS provides rich raster processing tools for
raster analysis and image processing such as creating a slope or
creating an hillshade image from DEM, generating a pansharpened image, georeferencing an image, creating
orthorectified images from QuickBird and IKONOS’s basic
image products, and so on. Lastly, the ArcGIS server products
allow users to serve imagery through intranet and internet,
providing image services to more users.
ArcGIS also supports reading and processing images with RPC
camera model. Starting from 9.2 release, ArcGIS software,
supports RPC camera model from the basic image products of
QuickBird and IKONOS. The RPC information is read and
applied directly when the image is accessed or displayed in
ArcGIS (Figure 1). Further more, by applying DEM, ArcGIS
can produce orthorectified image from these products (Figure 2,
and Figure 3).
As the development of GIS and remote sensing technologies
improve, the demand for imagery as GIS data sources also
increases. More image sensors have been developed and are
producing imagery for various GIS applications (Tao, 2001,
Altimarier, 2002, Toutin, and Wolniewicz et al), and each
sensor might have its own proprietary camera model and/or
image processing algorithms. Making these images available to
vast GIS users using a fast and convenient way becomes critical
for both GIS users and image companies. ArcGIS, as a
complete system for managing geospatial data, has not only the
capabilities to mange, visualize, process and serve images, but
also provides an open structure for developers or third parties to
add their own algorithms for image processing including
geometric transformation and radiometric transformation. Any
The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B4. Beijing 2008
ArcGIS provides sets of Geoprocessing tools that allow users to
create, analyze, and process raster data. Some of the tools such
as creating a slope, or creating a shaded relief from DEM,
performing raster data overlay, zonal and local analysis,
hydrology analysis, and so on are provided through ArcGIS’s
Spatial Analysis extension:
Figure 1. Original QuickBird Level 1B product. ArcGIS
software can read the map coordinate directly -Courtesy by
Digital Globe
Some basic image processing tools, such as image clipping,
image mosaicking, compositing bands, and so on, are provided
through ArcGIS core products:
Figure 2. The Geoprocessing tool that can create orthocorrected image by applying DEM data
Figure 3 The ortho-corrected result displayed in ArcMap
The Create Pan-sharpened Raster Dataset tool is used to create a
pan-sharpened image by fusing a low resolution MS image with
a high resolution panchromatic image. The pan-sharpening
methods supported in ArcGIS include Brovey, HIS, Mean, and
ESRI methods. The two pictures (Figure 4 and Figure 5) below
The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B4. Beijing 2008
are the original image and pan-sharpened image using ESRI
pan-sharpening algorithm.
created directly from the raster file name through a workspace
class (e.g. name of the directory where the raster file resides).
The Raster, derived from a RasterDataset, is a class that
provides access to raster data and handles pixel read from raster
dataset. Raster is a virtual representation of raster dataset which
allows changing the properties of Raster such as dimension,
extent, spatial reference, and so on. It also allows transforming
the raster data geometrically and radiometrically through the
GeodataXForm and PixelFilter classes. The changes on Raster
is virtual, it can be preserved by saving out to another raster
dataset or passing to display pipeline.
Figure 4. A multi-band image at a resolution of 2.8 meters
Figure 9. Diagram of geodata transformation classes
The GeodataXform is an abstract class that consists of many
geometric transformation classes including polynomial
transformation, rubber sheeting transformation, RPC
transformation (Rational Polynomial Coefficients), coordinate
transformation that supports projecting raster, and Spline
transformation. (Figure 9)
Figure 5. Pan-sharpened result using ESRI pan-sharpening
method with a panchromatic image of 0.7 meter resolution.
All geodata transformation classes support IGeoDataXform
ISupportErrorInfo, and IPersistStream. IGeodataXform
interface contains methods that transform a set of points,
transform an area, and transform a cell size, which provide the
foundations to transform raster data geometrically.
ArcGIS software is built upon ArcObjects, which includes APIs
that support the built-in raster functionality. Developers and
third parties can also extend ArcGIS raster capabilities using the
existing APIs and build application for visualizing, processing,
and analyzing raster data. ArcObjects contain four major classes
that support the open structure for custom image processing:
RasterDataset, Raster, GeodataXFrom and PixelFilter.
GeodataXform is designed to work with class Raster. Once it is
set on Raster, the ArcGIS raster transformation pipeline,
through RasterXFormer class, will detect it and apply the
GeodataXform during pixel fetching for display or data output.
Figure 6. Diagram of key classes supporting raster functionality
To add a custom transformation into ArcGIS framework, create
a custom geodata transformation class by implementing
IGeoDataXform and the rest three required interfaces. Once
plug-into ArcGIS, the custom geodata transformation class will
work as same as any other built-in geodata transformation
classes, e.g. it can be applied to Raster using
IRaster2::GeoDataXform method and displayed in ArcMap
directly. A geodata transformation class can also be serialized
and stored in a XML file as part of raster dataset.
A RasterDataset class is used to read raster files and provide
properties about the raster data. The RasterDataset class
encapsulates all the details that handle reading specific raster
formats and provides an easy data access, for developers, of
raster data in different formats. Regardless of the raster formats,
RasterDataset interprets information of the raster data
automatically such as projection, coordinates, statistics of the
pixel values, colormap, and pyramids. A RasterDataset can be
Any third parties, who wish to support their proprietary camera
model in ArcGIS, can take advantage of this open structure.
For further documentation and example, please refer the online
The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B4. Beijing 2008
from; Second, compile the
format driver with GDAL library’s ESRI branch which is
released with ArcGIS software; Last, install the format driver
into ArcGIS. Further information on configuration with ArcGIS,
refer to custom format driver documentation form ESRI EDN
web site.
Figure 10. Diagram of pixel filter classes
ArcGIS software provides a complete solution for accessing,
processing, visualizing, and severing geospatial data. The rich
geoprocessing toolsets provide functionality that process and
analysis raster data as well as models that apply to many
industries such as environmental, agriculture, transportation,
energy, infrastructure, and so on. ArcObjects, the libraries that
ArcGIS software is built upon, provides a platform for
developers or third parties to create solution based applications.
Raster APIs, part of ArcObjects, not only allows developers to
develop raster-centric applications, but also provide solution for
third parties to plug-in their own image processing algorithms,
proprietary raster format, or proprietary camera models to
ArcGIS. To summarize, ArcGIS framework provides an easy
way for third parties to distribute new data products and new
technology to a wide GIS user community.
The radiometric transformation in ArcGIS are supported
through a series of pixel filter classes (Figure 10):
ConvolutionFilter class supports standard pixel filtering
algorithms such as low pass filtering, high passes filtering, and
so on; the PanSharpeningFilter class performs image
panchromatic sharpening operation, and RemapFilter class
transforms pixel values based on a set of predefined pixel value
mapping criteria. The PixelFilter is an abstract class and
supports a generic IPixelFilter interface that is implemented by
all pixel filter classes. The pixel filter class is designed to work
with class Raster (Figure 1). A pixel filter class can be set on
Raster through IPixelOperation::PixelFilter method, and the
transformation will be applied during pixel fetching such as
display or data output.
To add a custom pixel filtering operation to ArcGIS, create a
custom pixel filter class by implementing IPixelFilter interface
and the additional required interfaces. The custom pixel filter
class will work as same as any built-in pixel filter classes.
Altimarier, A. and Kany, C., 2002, , Digital surface model
generation from CORONA satellite images, ISPRS Journal of
Photogrammetry and Remote Sensing, July 2002, Pages 221235
Third parties, who wish to add their own image processing
algorithms into ArcGIS or build image processing extension for
ArcGIS, can take advantage of this open structure. For further
documentation and example, please refer to the online topic:
C. V. Tao, 2001, A Comprehensive Study of the Rational
Function Model for Photogrammetric Processing, PE&RS Vol.
67, No. 12, pp.1347-1357
ESRI, last visited on April, 2008, Overview of ArcObjects
Some data vendors or data producers have not only their own
sensor models, but may also store images in their own
proprietary raster format, which is not part of raster formats
supported by default in ArcGIS product. To support this use
case, ArcGIS also provides the capability which allows
developers to add custom raster format. ArcGIS, since 9.2, uses
the Geospatial Data Abstract Library (GDAL) to support
underline raster formats. To add a custom raster format into
ArcGIS, first, develop a format driver for your raster data using
GDAL libraries. The documentation for creating GDAL raster
Toutin, T., last visited on April 2008, Review Paper: Geometric
Processing of Remote Sensing Images: Models, Algoruthms,
and Methods,
Wolniewicz, W. and Ke, L., last visited on April 2008,
Geometric Modeling of VHRS,