You are on page 1of 3

ESRI ArcObjects is the development platform for the ArcGIS family of applications such as ArcMap, ArcCatalog, and ArcScene.

The ArcObjects software components expose the full range of functionality available in ArcInfo, ArcEditor, and ArcView to software developers.
Copyright 2001 ESRI. All right reserved. ESRI, ArcView, and the ESRI globe logo are trademarks of ESRI, registered in the United States and certain other countries; registration is pending in the European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap are trademarks of ESRI and www.esri.com is a service mark of ESRI.

ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS professionals with a spectrum of geographic data management, spatial editing, and cartographic visualization functionality. The ArcGIS Desktop systems each contain a configuration of applications, such as ArcCatalog, ArcMap, ArcToolbox, and ArcScene, and can host a variety of extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst, and others. This object model diagram shows how ArcMap presents geographic information through views and how ArcCatalog manages geodatabases. These are the ArcObjects components documented in volume one of Exploring ArcObjects. You will find updates to ArcObjects developer resources at www.esri.com/arcobjectsonline.

Diagram key
Inbound interface Outbound interface

Types of Classes An abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object. A class cannot directly create objects, but objects of this class can be created as a property of another class or instantiated by objects from another class. Types of Relationships

Chapter 3 This ArcGIS object model diagram uses this color code to denote the coclasses, classes, and abstract classes in the ArcObjects subsystems. Framework coclass

Chapter 4 ArcMap coclass

Type inheritance
This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1 component objects. Software interfaces are not duplicated in the child classes. The objects to the left show a sample view of type inheritance. The objects below show a flat view of the objects with their full list of interfaces. The two views are equivalent, but the type inheritance view gives insight into the structural composition of the object model. IRowBuffer IRowBuffer

ESRI ArcGIS 8.1 Object Model


Exploring ArcObjects Volume 1 Applications and cartography
TM IEnumGxView IGxViewContainer

TM

abstract class

Instantiation

Type inheritance
Interface

Framework class

ArcMap class

Associations represent relationships between classes. They have defined multiplicities at both ends. Type inheritance defines specialized classes of objects that share properties and methods with the superclass and have additional properties and methods. Note that interfaces in superclasses are not duplicated in subclasses. Instantiation specifies that one object from one class has a method with which it creates an object from another class.

coclass

Composition

Framework abstract class

ArcMap abstract class

RowBuffer

RowBuffer
Chapter 5 Display coclass Chapter 6 Output coclass Chapter 7 ArcCatalog coclass IRow IRowBuffer IRowEvents IValidate IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRow IRowBuffer IRowEvents IValidate

class

Composition is a relationship in which objects from the "whole" class control the lifetime of objects from the "part" class. An N-ary association specifies that more than two classes are associated. A diamond is placed at the intersection of the association branches. A multiplicity is a constraint on the number of objects that can be associated with another object. Association and composition relationships have multiplicities on both sides. This is the notation for multiplicities:
1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer

Row

Association

1..*

Multiplicity

IRow IRowEvents IValidate

Row

Display class

Output class

ArcCatalog class IFeature IFeatureBuffer IFeatureDraw IFeatureEdit

Special Interfaces (Optional) represents interfaces that are inherited by some subclasses but not all. The subclasses list the optional interfaces they implement. (Instance) represents interfaces that are only on specific instances of the class. (<classname>) indicates the name of the helper class required to support this event interface in Visual Basic.

Feature

Display abstract class

Output abstract class

ArcCatalog abstract class

Feature

EnumGxView

An extension provides a mechanism for extending an application

Application
IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IVBAApplication IWindowPosition

The printer abstract class defines the common interfaces for controlling the output of data to hardcopy devices IClone IPersistStream IPrinter

GxViewContainer

The GxViewContainer object permits a GxView object to be a container for additional views

IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IVBAApplication IWindowPosition

Application
See chapter 3, 'Customizing the user interface' IExtension IExtensionAccelerators IExtensionConfig

IExtension IExtensionAccelerators IExtensionConfig

Extension *

Application

A dockable window definition is used by the application to create a dockable window


IDockableWindow

ITemplates

Templates

A collection of up to three templates can be loaded in ArcMap, one in ArcCatalog. Templates help you define the scope of customization

Printer

PageLayout in ArcMap

IGxSelectionEvents IGxView

GxView
GxView *
GxPreview shows previews of the selected object
IGxPreview IGxApplication IGxCatalogAdmin IGxCatalogEvents IGxCatalogEventsDisp

Extension
See chapter 3, 'Customizing the user interface'

DockableWindow

IStatusBar

StatusBar

Application is the core object that represents ArcMap or ArcCatalog and provides access to the current state of the user interface 0..1
ICustomizationFilter

The status bar is the horizontal area at the bottom of ArcMap and ArcCatalog that provides information about the current application state

Framework dialog boxes


IAcceleratorTable IPersist IPersistStream IProgressDialogFactory

Printer
IEmfPrinter

GxView is an abstract class that represents all possible ArcCatalog views

GxApplication
GxApplication
GxApplication represents the running ArcCatalog executable

IExtension

Extension
IMetadataExport

AcceleratorTable

IDockableWindowDef ISupportErrorInfo

DockableWindowDef

A customization filter provides a mechanism for locking parts of the customization functionality in an application

CustomizationFilter

IDocument

A dockable window can exist in a floating state or attached to the main application window
IAccelerator

An accelerator table contains a list of accelerator keys and the command identifiers associated with them

ProgressDialogFactory

The Progress dialog box factory creates and displays a new progress dialog box

EmfPrinter

IColorCorrection IFontMapEnvironment IPsDriver IPsDriver2 IPsPrinter ISpotPlateCollection The PS printer is used to create output through a PostScript driver

PsPrinter

IArcPressPrinter IArcPressPrinterDriver IColorCorrection The ArcPress printer serves as a driver for the creation of output through ArcPress IArcPressPrinterDriver IColorCorrection The ArcPress printer driver supports the ArcPress printer by setting ArcPress parameters

ArcPressPrinter

Metadata
MetadataExport
The metadata export objects output a dataset's metadata to a file

IMetadataEditor

MetadataEditor

The metadata editor objects provide a user interface for editing metadata

IGxCatalogEvents IGxDocumentationView IGxViewPrint

GxDocumentationView GxGeographicView

GxDocumentationView represents the metadata view in ArcCatalog

Application GxPreview
IDocument IGxDocumentEvents IGxDocumentEventsDisp

*
Accelerator
An accelerator key is a keyboard shortcut to quickly execute a common command

Document
Document provides access to properties, such as title and type, and contains the Visual Basic for Applications project A collection of command bars associated with a document

IProgressDialog IProgressDialog2 IProgressor IStepProgressor

ProgressDialog

GxDocument

IConnectionPointContainer IMetadataHelper IMetadataEvents IPersistStream

MetadataExtension ExportHTML ExportMPHTML

A Progress dialog box displays animation and a step progressor bar

An EMF printer serves as a driver for the creation of output through the Enhanced Windows Metafile format

ArcPressPrinterDriver

IGxCatalogEvents IGxGeographicView IGxGeographicView2 ITransformEvents

FGDCEditor ExportXML

DefaultEditor

The GxGeographic-View lets you preview your data

Document
ICommandBars

A command bar definition is used by the command bars collection to create a COM command bar

CommandBars
page xx

ICommandItem IPersist IPersistStream ISupportInfo

Command
CommandItem Command
MacroItems are simple procedures written in the Visual Basic Editor

GxDocument represents the document object in the VBA class ThisDocument contained in each VBA project

IGxSelection IGxSelectionEvents

IEnumGxObject

GxSelection

ICoordinateDialog

CoordinateDialog

IFontMapEnvironment The Coordinate dialog box is used for getting user input in the form of x, y coordinates

EnumGxObject

FontMapEnvironment

CommandBarDef
ICommandBar ICommandItem

1..* CommandBar

A command bar is a toolbar, menubar, menu, or context menu

A command item is an element on a command bar, such as a button, tool, or menu item

IGetStringDialog

UIControl

MacroItem

COM Command
IGetUserAndPasswordDialog

GetStringDialog

The Get String dialog is used for getting user input in the form of a string

The font map environment supports the PS printer by setting font information to be used during the creation of Postscript output

IColorCorrection IPsDriver IPsDriver2 ISpotPlateCollection

Output
IFontMapCollection

IGxCatalogEvents IGxTableView

GxTableView Application

GxTableView is used to preview the table associated with the selected object

GxSelection keeps track of the items chosen in the tree and tabbed views of the data

ExportMP
IGxObjectArray

ExportMPSGML

IMetadataImport

GxObjectArray ExportMPFAQ
IGxObjectFilter

MetadataImport

The metadata import objects add or replace metadata from an input file

PsDriver

FontMapCollection

IGxCatalogEvents IGxTreeView

GxTreeView

GxTreeView shows a hierarchical organization of your data holdings Objects in the GxContentsViewColumn collection represent the columns in the tabbed display area of the view (when Contents is the active tab)

GxObjectArray object holds a set of GxObjects

ExportMPTXT ImportMP ImportMPTXT

IMenuDef IRootLevelMenu IShortcutMenu

MenuDef COMCommandBar ToolbarDef

IToolbarDef

DocumentCommandBar

Framework
IUIButtonControlEvents

GetUserAndPasswordDialog

The Get User and Password dialog is used for getting username and password information

The PS driver supports the PS printer by setting general PostScript variables, including color information

The font map collection houses the set of font maps used by the PS printer or PS exporter objects

IGxCatalogEvents IGxContentsView IGxContentsViewColumns IPersistStream

GxContentsView

GxContentsView is the Explorer-style iconic view available in ArcCatalog

GxObjectFilter

A menu definition is used by the command bars collection to create a menu A toolbar definition is used by the command bars collection to create a toolbar

UIButtonControl acts as a button or menu item that performs a simple task when clicked
IUIComboBoxControl IUIComboBoxControlEvents

UIButtonControl

ICommand ICommandSubtype (optional)

Button
IListDialog

*
ISpotPlate

*
IFontMap IFontMap2

SpotPlate ListDialog
The List dialog box is used to present a list of options and allows the user to select one of the options The spot plate allows for the creation of separate plates (images) based on the specified color

FontMap
IGxObjectFactory IGxObjectFactoryMetadata

A button is a simple command that performs a simple task when clicked


ICommand ICommandSubtype (optional) ITool

IGxContentsViewColumn IClone IPersistStream

* GxContentsViewColumn

A COM command bar can be written in any COM-compliant language and is compiled as an ActiveX DLL

A document command bar is a custom menu or toolbar created with the Customize dialog box

UIComboBoxControl

Tool
IMessageDialog

UIComboBoxControl is a dropdown list box control that can be added to a toolbar

MessageDialog

A tool acts as a button that allows further interaction with the application display
ICommand ICommandSubtype (optional) IToolControl INumberDialog

The Message dialog box is used to display a message to the user

IClone IPaper IPersistStream

A font map creates associations between TrueType fonts and the mapped font

GxObjectFactory

The GxObjectFilter objects are used in conjunction with the GxDialog object to limit the types of data the user can browse when selecting objects to open or save

Paper

GxObjectFactory objects help ArcCatalog generate GxObjects based on the object type

The paper object defines the printer and tray designations for use with the printer object

IGxObjectFactoryEdit

GxCoverageFactory

GxMapFactory
IGxObjectFactoryPriority

IGxObjectFactoryEdit

GxTextFileFactory

IDllThreadManager IApplication

AppRef

An application reference object is a reference to the currently running application

DllThreadManager

A DLL thread manager provides access to an event that DLL thread managers listen for

IUIEditBoxControl IUIEditBoxControlEvents

UIEditBoxControl

ToolControl

NumberDialog

The Number dialog box is used for getting user input in the form of a number The exporter abstract class defines the common interface for controlling the output of map data to files The ArcPress export abstract class supports the output of map data to the different file formats of ArcPress IExporter

The CGM driver is created by the CGM exporter object during the output of map data to a CGM file

UIEditBoxControl is an editable textbox control that can be added to a toolbar


IMouseCursor

A tool control is dropdown list box control, editable textbox control, or other type of control that can be added to a toolbar

GxDatabaseFactory

GxMetadataFactory

ArcCatalog
IGxObject IGxObjectEdit IGxObjectUI

TM

GxObject

GxFilterAnnotationFeatureClasses GxFilterBasicTypes GxFilterCadDrawingDatasets GxFilterCoverageAnnotationClasses GxFilterDatasets GxFilterDatasetsAndLayers GxFilterFeatureClasses GxFilterFeatureDatasets GxFeatureDatasetsAndFeatureClasses GxFilterFiles GxFilterGeodatasets GxFilterLayers GxFilterMaps GxFilterPointFeatureClasses GxFilterPolygonFeatureClasses GxFilterPolylineFeatureClasses GxFilterRasterDatasets GxFilterSpatialReference GxFilterTables GxFilterTablesAndFeatureClasses GxFilterTINDatasets GxFilterWorkspaces

ImportMPSGML

ImportXML

IDllThreadManager IFindDialog IGxSelectionEvents ISearchEngineEvents

FindDialog
FindDialog
FindDialog provides access to ArcCatalogs Search dialog box

IAppROT IAppROTEvents

AppROT

The application running object table is a global list of all currently running ESRI COM-based applications

MouseCursor

You can use MouseCursor to set the system mouse cursor to be one of the standard built-in cursors or a custom cursor

Exporter
Exporter
ICGMDriver ISupportErrorInfo

GxObject
GxFile represents any file type that has been defined in ArcCatalog GxMetadata represents XML files
IFindDialogSettings IQuery IXmlQuery

IUIToolControlEvents

UIToolControl

IMultiItem IMultiItemEx (optional)

MultiItem

UIToolControl acts as a button that allows further interaction with the application display

CGMDriver

GxFileFactory

IGxObjectFactoryPriority

GxPrjFileFactory

GxObjects represent individual data items and they are what appear in the tree view and the contents view

FileSystemQuery

FileSystemQuery lets you modify an existing searchs parameters or define a new query

IComponentCategoryManager

ComponentCategoryManager

The component category manager object registers components with the component categories used by the ESRI applications

A MultiItem is a dynamic command that appears as zero or more adjacent menu items on a menu depending upon the state of the application

IUID

UID

A unique identifier object represents the globally unique identifier for any COM object

IExtensionManager IExtensionManagerAdmin ISupportErrorInfo

ExtensionManager

IArcPressExporter IArcPressExporterDescriptionEnum

ArcPressExporter
IArcPressExporterDriver

ICGMExporter

CGMExporter

GxLayerFactory
The CGM exporter creates output in the Computer Graphics Metafile format

GxShortcutFactory

IGxObjectContainer IGxPasteTarget

GxObjectContainer

IGxFile IGxFileSetup (optional) IGxObjectInternalName (optional) IGxObjectProperties IMetadata IMetadataEdit INativeTypeInfo

GxFile

IGxFile IGxObjectInternalName IMetadata IMetadataEdit INativeTypeInfo

IGxObjectWizard

GxMetadata

GxObjectWizard

ISearchEngine ISearchEngineEvents ISearchEngineProperties

SearchEngine

3
The legend group contains a collection of legend class objects
ILegendGroup IPersist IPersistStream FeatureLayer in ArcMap IFeatureRenderer ILegendInfo IPersist IPersistStream ILegendClass IPersist IPersistStream

ArcPressExporterDriver

IGxBasicObject IGxNewDatabase IGxObjectProperties

GxNewDatabase CatalogSearchEngine
The CatalogSearchEngine lets you search for any object that appears in ArcCatalog

ArcPressExporterJPEG

IBmpExporter IDibExporter IExporter2 IWorldFileSettings IEmfExporter

DibExporter

The DIB exporter creates output in the Device-Independent Bitmap format

ArcPressExporterPCX

The ArcPress exporter driver uses ArcPress to convert a PostScript file to one of the supported formats

EmfExporter

The EMF exporter creates output in the Microsoft Enhanced Metafile format

IComPropertySheetEvents IConnectionPoint IConnectionPointContainer IGxCatalog IGxCatalogEventsDisp IGxCatalogEvents IGxFile IGxObjectFactories IMetadataEdit

GxCatalog

IGxFile IGxCachedObjects IGxObjectSort IGxObjectProperties IMetadata IMetadataEdit ISearchResults

SearchResults

SearchResults stores a query

IGxCachedObjects IGxFile IGxFolder IGxObjectInternalName IGxObjectProperties IMetadata IMetadataEdit INativeTypeInfo

GxFolder

IComPropertySheetEvents IGxLayer IGxObjectInternalName IGxThumbnail

GxLayer

GxLayer represents layer files

GxNewDatabase is the shortcut used to create a new remote connection

IFileSystemQuery

IJpegExporter
IClone IColor IPersist IPersistStream IColorBrowser

Color

LegendGroup *

LegendClass *
A color ramp is a series of colors

Colors and ramps


IClone IColorRamp IPersist IPersistStream

*
CmykColor

The color browser dialog box allows a color to be selected by setting individual color properties

ColorBrowser

ArcPressExporterPNG
IFontMapEnvironment IPsExporter The Export dialog box displays a dialog for users to enter filename and desired format for outputting map data IPdfExporter IFontMapEnvironment The PDF exporter creates output in the Portable Document format

JpegExporter

The JPEG exporter creates output in the format set by the Joint Photographic Experts Group

GxCatalog object represents your actual tree of data, as is shown in the tree view
IGxFileFilter IGxFileFilterEvents IPersistStream

IGxCachedObjects IGxObjectProperties IGxRemoteContainer IGxRemoteDatabaseFolder

GxRemoteDatabaseFolder GxSpatialReferencesFolder

GxRemoteDatabaseFolder represents only the top-level Remote Connections folder

GxFolder represents system-level folders


IGxDiskConnection

FileSystemXmlSearchEngine

GxDiskConnection

IGxMap IGxMapPageLayout IGxObjectInternalName IGxThumbnail

FileSystemXmlSearch Engine lets you search for file-based objects stored on disk for which metadata has been created

GxMap

GxMap encapsulates map documents


ISpatialReferenceDialog ISpatialReferenceDialog2

GxFileFilter

ArcPressExporterTIFF MonitorSettings
IExportDialog IExportDialog2

PsExporter

The PS exporter creates output in the PostScript format The PDF driver is created by the PDF exporter object during the output of map data to a PDF file

IGxCachedObjects IGxObjectProperties IGxSpatialReferencesFolder

FeatureRenderer

ICmykColor IPostScriptColor

IMonitorSettings

A feature renderer draws features to a display from a feature class

Feature renderers
IBivariateRenderer

The legend class contains a symbol and some text in the form of a label and description to describe what that symbol represents

ColorRamp

A CMYK color is composed of cyan, magenta, yellow, and black for optimum print reproduction

Monitor settings can be used to get white point, red point, green point, and blue point values for the monitor

PdfExporter

GxFileFilter object maintains the file filter used by ArcCatalog to determine which file types to display

GxSpatialReferencesFolder represents only the top level of the spatial reference information accessible through ArcCatalog

SpatialReferenceDialog

The Spatial Reference dialog box object is a stand-alone object used to create a new spatial reference object

ExportDialog

IGxCachedObjects IGxDatabase IGxDatabase2 IGxObjectInternalName IGxObjectProperties IGxObjectWizard IMetadata IMetadataEdit INativeTypeInfo GxDatabase holds a

When ArcCatalog starts, it creates GxDiskConnection objects for each folder connected at the root
IGxShortcut

IGxFileSetup IGxObjectInternalName IGxPrjFile

GxPrjFile

GxPrjFile represents projection files with GxSpatialReferencesFolder objects

ITableDefinitionDialog

GxDatabase

ICieLabConversion

GrayColor
IGrayColor IIAlgorithmicColorRamp

A biunique value renderer combines the symbols of a unique value renderer and a class breaks renderer
IBarrierProperties2 IBasicOverposterEvents IChartRenderer IDataExclusion IDataNormalization IIdentify IPieChartRenderer IRendererFields

BiUniqueValueRenderer

IBarrierProperties2 IDataExclusion IDataNormalization IRotationRenderer IProportionalSymbolRenderer

ProportionalSymbolRenderer

A proportional symbol renderer draws a symbol of varying size for each feature. The size is in proportion to a field value

AlgorithmicColorRamp

A gray color is defined as a percentage of black An algorithmic color ramp is a sequential series of colors
IHlsColor

A CIELabConversion is used to convert colors from different color models to the CIELab color model

CieLabConversion

IExporter2 ITiffExporter IWorldFileSettings

TiffExporter

workspace within ArcCatalog

IGxCachedObjects IGxDataset IGxObjectInternalName IGxObjectProperties IGxThumbnail IMetadata IMetadataEdit INativeTypeInfo IObjectClassSchemaEvents

TableDefinitionDialog

GxShortcut GxDataset
GxShortcut represents shortcuts to objects returned from a Catalog search GxDataset holds a dataset object within ArcCatalog
IFileName IName IPersistStream IShortcutName IGxCachedObjects IGxDataset IGxFileSetup IObjectClassSchemaEvents IGxObjectInternalName

The Table Definition dialog box object is a standalone object used to create new tables and feature classes within the specific workspace or dataset

GxTextFile

IProjectedCoordinateSystemDialog

IGxDatabaseExtensions

HlsColor
An HLS color is defined with hue, lighting, and saturation components
IHsvColor

IColorPalette ICustomColorPalette

ColorPalette

A chart renderer draws pie, bar, and stacked bar chart symbols based on attributes of each feature

ChartRenderer

IScaleDependentRenderer

ScaleDependentRenderer

A scale-dependent renderer is made of multiple renderers, each operating within a scale range

IMultiPartColorRamp

MultiPartColorRamp

A multipart color ramp is a collection of other color ramps

A ColorPalette displays the colors that are held in the current Styles on a popup menu

6
DataWindow
IDataWindow

IPDFDriver

PDFDriver

7
Application
IApplication IApplicationWindows IExtensionManager IDockableWindowManager IEnumPrinterNames IMultiThreadedApplication IMxApplication IObjectFactory IVBAApplication IWindowPosition

GxDatabaseExtensions is a collection object for the set of GxDatabaseExtension objects


IGxDatabaseExtension IGxDatabaseExtensionCompare

GxDatabaseExtensions
GxDatabaseExtension is an abstract class whose purpose is to provide a starting point for those developers who want to create extensions to a GxDatabase

ShortcutName
IGxDialog IGxObjectFilterCollection IGxSelectionEvents

GxTextFile represents text files within ArcCatalog

ProjectedCoordinateSystemDialog

The Projected Coordinate System dialog box is a stand-alone object used to create a new projected coordinate system object

IGeographicCoordinateSystemDialog

ShortcutName is a name object describing a GxShortcut

GxDialog

GxDatabaseExtension

GxDialog represents a browser that allows you to open and save GIS datasets.

GeographicCoordinateSystemDialog

The Geographic Coordinate System dialog box is a stand-alone object used to create a new geographic coordinate system object

HsvColor
An HSV Color is defined with hue, saturation, and value components
IRgbColor

IColorSelector

ColorSelector

IBarrierProperties2 IClassBreaksRenderer IClassBreaksUIProperties IDataExclusion IDataNormalization A class breaks renderer IDataSampling can be used to draw ILevelRenderer graduated color ILookupSymbol (choropleth) and IRotationRenderer

ClassBreaksRenderer

IDisplayAdmin ILevelRenderer ILookupSymbol IPropertySupport IRotationRenderer ISimpleRenderer ITransparencyRenderer

IPresetColorRamp

SimpleRenderer

A simple renderer draws each feature using the same symbol


IRandomColorRamp

PresetColorRamp

A preset color ramp is a series of 13 specific colors

RgbColor
An RGB color is composed of red, green, and blue for optimum screen display.

A ColorSelector allows you to edit a color according to the RGB, CMYK, or HSV color model

ILevelRenderer ILookupSymbol IRotationRenderer ITransparencyRenderer IUniqueValueRenderer

graduated symbol maps


IDataExclusion IDotDensityRenderer IDotDensityUIRenderer IRendererFields

UniqueValueRenderer

A dot-density renderer draws varying densities of dots within polygon features

DotDensityRenderer
ICalcRendererValues

The unique value renderer defines the symbol a feature is to be drawn with based on an attribute value

RandomColorRamp

A random color ramp is a series of randomized colors within certain limits

DataWindow
Data windows are additional displays associated with the application

CalcRendererValues

IClone IDisplayFilter IPersist IPersistStream ITransparencyDisplayFilter

CalcRendererValues is a utility object used to perform simple statistical calculations on a feature layer for use by renderers

TransparencyDisplayFilter

Display
IClone IPersist IPersistStream ISymbol

A map insert window factory creates map inset windows


IDataWindowFactory

IActiveViewEvents IComPropertySheetEvents IDataGraphWindow IDocumentEvents IPersist IPersistStream

DataGraphWindow

IClone IDataGraph IDataGraphAxis IDataGraphTicks IDataGraphAreaProperties IDataGraphBarProperties IDataGraphColorProperties IDataGraphHighLowCloseProperties IDataGraphOverlayProperties IDataGraphPieProperties IDataGraphProperties IPersistStream

The selection environment controls the application's selection behavior

DataGraph

IPersist IPersistStream ISelectionEnvironment ISelectionEnvironmentLayer ISelectionEnvironmentStorage ISelectionEnvironmentThreshold IIdentifyDialog IIdentifyDialog2 IIdentifyDialogProps

SelectionEnvironment

IPersistStream IStyleGallery IStyleGalleryStorage

Style gallery
StyleGallery EnumStyleGalleryItem

IMapGridFactory IStyleGalleryClass

MapGridFactory

*
A style gallery is a collection of styles. Each ArcMap document has a style gallery associated with it. Using this style gallery, you can access the styles referenced by that document

StyleGalleryClass

Application
IdentifyDialog is the dialog box for quickly querying data attributes

A map grid is a grid of reference points or lines on the layout that help you visually identify the location of features on the map
IClone IGraphicsComposite IMapGrid IPersist IPersistStream

A map grid factory can be used to quickly create a map grid with default properties

IdentifyDialog

IEnumStyleGalleryItem

Data graph windows display graphs Data graphs represent ArcMap and ArcCatalog graphs

*
IExtension

Symbols
Symbol

Symbols are used for drawing features and elements on a map and have attributes such as color and size

MapInsetWindowFactory

IActiveViewEvents IDocumentEvents ILensWindow IMapInsetWindow IMapSurroundEvents IPersistStream

The application object represents the running ArcMap application


IAppDisplay IDisplay IDraw IScreenDisplay IScreenDisplay2

Extension

MapInsetWindow

ArcMap supports extensions that are automatically created when the application starts. The ArcMap editing tools are an example of an extension

An enumeration of style gallery items


IClone IStyleGalleryItem IPersist IPersistStream

Mapinset windows display a magnified view of the focus map

StyleGalleryItem
Style items provide access to the individual map elements and symbols that make up a style

AppDisplay

IMapLevel IMarkerSymbol IPropertySupport ISymbolRotation

Marker symbols
MarkerSymbol

ILineSymbol IMapLevel IPropertySupport

Line symbols
LineSymbol

IFillSymbol IMapLevel IPropertySupport

Fill symbols
FillSymbol

I3DChartSymbol IChartSymbol IMarkerBackgroundSupport IMarkerSymbol ISymbolArray

3D chart symbols
3DChartSymbol
IFormattedTextSymbol IMapLevel IMask IPropertySupport ISimpleTextSymbol ISymbolRotation ITextSymbol

IDataWindowFactory

Text symbols
TextSymbol
An text symbol defines a Font and many formatting properties of a piece of text.

OverviewWindowFactory

IActiveViewEvents IDocumentEvents IMapSurroundEvents IOverviewWindow IPersistStream

OverviewWindow

Overview windows display the full extent view of the focus map

An overview window factory creates overview windows

A table view displays a table

The application display helps manage all of the displays present in the application

ITableWindow ITableWindow2

TableWindow
IClone ITableControl ITableControlInfo ITableControlWidth ITableOutput ITableView ITableView2 ITableViewTableFields

IChangeLayout IContentsViewEdit IDataGraphs IDocument IDocumentDirty IDocumentDatasets IDocumentDefaultSymbols IDocumentEvents IDocumentEventsDisp IDocumentInfo IMxDocument IPersist IPropertySupport IReportUnitFormat

IActiveViewEvents IComPropertySheetEvents IContentsView

TOCView
Style selectors provide you with the means to interactively choose or edit a style item

MxDocument
IDocumentEvents

Using the style gallery coclasses, you can create various types of style items

ICartographicMarkerSymbol ICharacterMarkerSymbol IMarkerMask

CharacterMarkerSymbol

ICartographicLineSymbol ILineProperties

CartographicLineSymbol

IDotDensityFillSymbol IDotDensityMasking ISymbolArray

DotDensityFillSymbol

A 3D chart symbol is a symbol used by a chart renderer A dot-density fill symbol is a datadriven symbol commonly used with the dot-density renderer.
IBarChartSymbol

Table windows display a table

The table of contents catalog view represents the Source tab in the ArcMap table of contents The table of contents display view represents the Display tab in the ArcMap table of contents

TOCCatalog View

AreaPatchStyleGalleryClass BackgroundStyleGalleryClass BorderStyleGalleryClass ColorRampStyleGalleryClass ColorStyleGalleryClass FillSymbolStyleGalleryClass LabelStyleGalleryClass LegendItemStylGalleryClass LinePatchStyleGalleryClass LineSymbolStyleGalleryClass MapGridStyleGalleryClass MarkerSymbolStyleGalleryClass NorthArrowStyleGalleryClass ScalebarStyleGalleryClass ScaleTextStyleGalleryClass ShadowStyleGalleryClass TextSymbolStyleGalleryClass

MapGrid

CustomOverlayGridFactory GraticuleFactory IndexGridFactory MeasuredGridFactory

MapGrid
ICustomOverlayGrid

A custom overlay grid divides the map using lines from the data source you specify
IGraticule IMeasuredGrid

CustomOverlayGrid

IGraphicsComposite IMapGridBorder IPersistStream

MapGridBorder

A map grid border is the set of lines that outline the map grid

Graticule
ISimpleMapGridBorder

A graticule divides the map into a grid of meridians and parallels


IIndexGrid

SimpleMapGridBorder CalibratedMapGridBorder

A simple map grid border is composed of simple lines

IComPropertySheetEvents IStyleSelector

StyleSelector
IComPropertySheetEvents IStyleDialog

IndexGrid
An index grid divides the map into a grid for indexing

ICalibratedMapGridBorder

TableView

A character marker symbol is a single glyph from a TrueType font


IMarkerMask ISimpleMarkerSymbol

A cartographic line symbol has flexible properties to create dot-dash patterns, decorations such as arrowheads, and line join and cap styles

BarChartSymbol

MxDocument controls the current active view that specifies whether the user is interacting with the entire map layout or a specific data frame in the layout

SimpleMarkerSymbol

IGradientFillSymbol

IHashLineSymbol

A simple marker symbol is a square, circle, diamond, cross, or x


IArrowMarkerSymbol IMarkerMask

A hash-line symbol is a series of lines running at an angle to the original line

HashLineSymbol

GradientFillSymbol

A gradient fill symbol is a series of colors

The bar chart symbol draws a bar chart


IPieChartSymbol

IClone ITextBackground IPersist IPersistStream

TextBackground
IPersist ITextPath

TOCDisplayView

IMapGridSelector

StyleManagerDialog

IMeasuredGrid IProjectedGrid

PieChartSymbol

A marker text background is a marker symbol drawn as a background to a piece of text


IMarkerTextBackground

The page layout is ArcMap's version of a hardcopy output page. A typical page layout may have a map and graphic elements representing a title, north arrow and legend

IPersist IPersistStream ISnapGrid

StyleGallery

SnapGrid
The snap grid is a grid of reference points on the layout used to aid element placement. The snap grid works in conjunction with a grid snap agent PageLayout
IActiveView IActiveViewEvents IBasicMap IConnectionPointContainer IDisplayAdmin IDisplayEvents IGraphicsContainer IGraphicsContainerSelect IMap IMapBarriers IMapBookmarks IMapEvents IMapGeographicTransformations IPersist IPersistStream IRelationshipClassCollection ISelectionEvents IStandaloneTableCollection ITableCollection ITransformEvents IViewManager

*
The style gallery is a list of predefined items (styles) used to create maps The Map object is a container for vector, raster, and graphic data. Maps reside on the page layout and contain the geographic data typically seen on a map
IMapEvents

TextPath

An arrow marker symbol is a triangular arrowhead

ArrowMarkerSymbol

ILineFillSymbol IMarkerLineSymbol

A marker line symbol is a series of marker symbols following the path of a line

MarkerLineSymbol

LineFillSymbol

A line fill symbol is a regular series of lines at any angle

The pie chart symbol draws a pie chart


IStackedChartSymbol

StackedChartSymbol

ICallout IQueryGeometry

MarkerTextBackground

A text path defines a line along which a piece of text is placed

Callout BezierTextPath BalloonCallout


A Bezier text path is used to draw text along a curve, from its start to endpoints

IGraphicSnap IPageLayoutSnap IPersist

BackgroundSelector BorderSelector LabelStyleSelector LegendItemSelector NorthArrowSelector ScaleBarSelector ScaleTextSelector ShadowSelector

MapGridSelector

Gives you access to the ArcMap Style Manager dialog box

MeasuredGrid

A measured grid divides the map into a grid of units in any coordinate system

A calibrated map grid border is composed of a graduated band

IStyleDialog

Gives you access to the ArcMap Style References dialog box

StyleReferencesDialog

IGridLabel IGridLabelExport IPersist IPersistStream

GridLabel

A grid label governs the way a map grid is labeled along the borders

GraphicSnap
IActiveView IActiveViewEvents IConnectionPointContainer IDisplayAdmin IGraphicsContainer IGraphicsContainerSelect IGraphicSnapEnvironment IPageEvents IPageLayout GridSnap IPersist GuideSnap IPersistStream ISelectionEvents MarginSnap ITransformEvents RulerSnap IViewManager IPersist IPersistStream IRulerSettings

IDMSGridLabel

ICartographicMarkerSymbol IMarkerMask IPictureMarkerSymbol

PictureMarkerSymbol

IMultiLayerLineSymbol ILayerVisible ILayerColorLock

MultiLayerLineSymbol

IFillProperties IMarkerFillSymbol

MarkerFillSymbol

A callout draws a background behind a piece of text, with a leader line to an anchor point
IBalloonCallout ITextMargins

RulerSettings

Map

NumberFormat
IClone INumberFormat

A marker fill symbol is a grid of marker symbols

A picture marker symbol is a bitmap image or enhanced metafile


IMultiLayerMarkerSymbol ILayerVisible ILayerColorLock IMarkerBackgroundSupport IMask

A multilayer line symbol is a stack of other line symbols


ISimpleLineSymbol

The stacked chart symbol draws a stacked bar chart


IChartSymbolEditor

PageLayout
Ruler settings represents the layout rulers
IPersist IPersistStream ISnapGuides

NumberFormat

Number format objects convert values to text strings and vice versa Numeric format objects convert to and from angle, latitude-longitude, percentages, and rate values.

A DMS grid label displays the map grid using degrees, minutes, and seconds
IFormattedGridLabel

DMSGridLabel

IIndexGridTabStyle

IndexGridTabStyle

An index grid tab style governs the way an index grid is labeled

MapEvents

A formatted grid label uses a number format to label the map grid

FormattedGridLabel

IBackgroundTabStyle

IOverposterTextPath

MultiLayerMarkerSymbol

A simple line symbol is a solid line or one with predefined series of dots and dashes
IPictureLineSymbol

SimpleLineSymbol

IMultiLayerFillSymbol ILayerColorLock ILayerVisible

MultiLayerFillSymbol

A multilayer fill symbol is a stack of other fill symbols

ChartSymbolEditor

A balloon callout draws a balloon behind a piece of text

OverposterTextPath

An overposter text path is used internally by the ArcObjects label engine

SnapGuides

Page Snap guides are horizontal and vertical lines added to the layout that aid element placement. The snap guides work in conjunction with a guide snap agent

BackgroundTabStyle

ILineCallout IMarkerBackground ITextMargins

LineCallout

A multilayer marker symbol is an ordered collection, or stack, of other marker symbols


IClone ILineDecoration IPersist IPersistStream

LineDecoration

A picture line symbol draws a line by filling it with a tiled image

PictureLineSymbol

IFillProperties IPictureFillSymbol

PictureFillSymbol

A picture fill symbol is a grid of pictures

The chart symbol editor can be used to allow users to edit the properties of a chart symbol

A line callout draws a line from an anchor point to a piece of text, and draws a rectangular background behind the text

SimpleTextPath

A simple text path is used to draw text that follows a straight or curved line.

ISimpleLineCallout

SimpleLineCallout

Graphic snap agents move elements by attempting to snap them to various objects such as the snap grid

Page layout
IGraphicSnapEnvironment IPersist IPersistStream IClone IConnectionPointContainer IFrameProperties IPage IPageEvents GraphicIPersist SnapIPersistStream Environment IPropertySupport

The Page object represents the page of paper the layout resides on

This object provides access to the IMapEvents outbound interface

A currency format object converts currency values

CurrencyFormat

INumericFormat

IMixedFontGridLabel IFormattedGridLabel

NumericFormat

A mixed-font grid label displays the label in two fonts and also uses a number format

MixedFontGridLabel

A background tab style labels the index grid using square, round, or rounded-square boxes

Element Layer MapSurround SpatialBookmark

ButtonTabStyle ContinuousTabStyle RoundedTabStyle

ICustomNumberFormat

Page
The page represents the piece of paper the layout resides on Elements are a broad group of items that can be placed on the page layout or on a map. For example, a map title is a text element placed on the page layout A layer is a specific class of data added to a Map. Layer types include features (coverages, shapefiles, geodatabases), rasters, images, TINs, CAD, IMS, and annotation A map surround is a specific group of elements that is associated with a map. Map surrounds include North arrows, scale bars, and legends A spatial bookmark is a specific map extent that has been saved along with a name identifying it

A line decoration maintains a set of line decoration elements, which are symbols drawn along a line
IClone ILineDecorationElement IPersist IPersistStream ISimpleLineDecorationElement

* SimpleLineDecorationElement

IClone IPersist IPersistStream ITemplate

Template

A template defines the series of dots, dashes, and gaps along a cartographic line

ISimpleFillSymbol

A simple fill symbol is a solid or hatched fill


ISymbolSelector

SimpleFillSymbol

A simple line callout draws a custom line shape as a leader line to a TextSymbol
ITextSymbolEditor

A simple line decoration element draws marker decorations on the top of a line symbol, such as arrowheads
ILineDecorationEditor

SymbolSelector

The Symbol Selector dialog box presents all symbols in referenced style files

ISymbolEditor

SymbolEditor

The Symbol Editor dialog box is used to edit the definition of any symbol

IClone IFontSize IPersist IPersistStream

TextSymbolEditor

IClone IElement IElementProperties IPersist IPersistStream

A custom number format converts a wide range of numeric formats


IFractionFormat

CustomNumberFormat
IPercentageFormat

PercentageFormat

A button tab style labels using rectangular buttons that line the grid A continuous tab style labels using a continuous band around the grid A rounded tab style labels using rounded rectangles that line the grid

IAngleFormat

Element

The text symbol editor is a dialog box used for editing the properties of an existing text symbol

FontSize

The graphic snap environment controls which graphic snap agents are active, the order in which they are called, and the snap tolerance

A fraction format object converts fractional values


IScientificNumberFormat

FractionFormat

AngleFormat
IRateFormat

RateFormat
ILatLonFormat ILatLonFormat2

The line decoration editor edits the properties of a line decoration

LineDecorationEditor

The font size object is used by ArcMap to determine the default size for new text

ITextBackgroundEditor

IClassFactory ISymbologyEnvironment

SymbologyEnvironment

The symbology environment controls certain details of symbology display

IGeometryDraw ISupportErrorInfo

GeometryDraw

The geometry draw can be used to draw any geometry to a display

TextBackgroundEditor

The text background editor is a dialog box used for editing the properties of text backgrounds like a callout

IDisplayFeedback

DisplayFeedback

Display objects are used to draw graphics on a variety of output devices

IConnectionPointContainer IDisplay IDisplayEvents IDraw

Display
Display
IClone IFrameDecoration IGraphicsComposite IPersist IPersistStream IConnectionPointContainer IDelayEvents IDisplayTransformation IRasterOutputSettings ITransformation ITransformEvents

Display feedback Frame decoration


FrameDecoration
Frame decorations are adornments to frame elements, such as backgrounds, shadows, and neatlines
ILineMovePointFeedback

Graphic elements are simple graphics that can appear in a data view

IClone IElement IElementProperties IPersist IPersistStream IPropertySupport ITransform2D

Element
Element *
Map elements represent all the graphics that can appear on a map

ArcMap
FeatureClass in Geodatabase Renderer in Display
IAttributeTable IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayFilterManager IDisplayRelationshipClass IDisplayTable IFeatureLayer IFeatureLayer2 IFeatureLayerDefinition IFeatureLayerSelectionEvents IFeatureSelection IFind IGeoFeatureLayer IHotlinkContainer IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IMapLevel IObjectClassSchemaEvents IPropertySupport IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection

TM

A scientific format object converts numbers with exponent values

ScientificFormat

LatLonFormat

A legend is a list of symbol appearing on a map

IBoundsProperties IClone IConnectionPointContainer IMapSurround IMapSurroundEvents IPersist IPersistStream

MapSurround
MapSurround
Map surrounds are associated with a data frame and provide a cartographic context for the geographic data and extent.

IGeoDataset ILayer IPersist IPersistStream

Layer
Layer
A layer is used to display geographic information on a map

IActiveViewEvents IGraphicsComposite ILegend IPropertySupport IReadingDirection

IMapInset

Legend

MapInset

A map inset is a magnified view of a map

*
IBoundsProperties IFrameDraw IFrameElement IFrameProperties

A CAD feature layer displays a CAD feature class from a drawing


IClone ILegendFormat ILegendLayout IPersist IPersistStream

A simple display object abstracts all other devices that can be rendered to using a Windows Device Context such as printers and metafiles

SimpleDisplay
IScreenDisplay ITransformEvents

DisplayTransformation

Creates a feedback on the display for moving a point on a Bzier curve


ICalloutFeedback

BezierMovePointFeedback

INewBezierCurveFeedback

Creates a feedback on the display for adding a new Bezier curve

NewBezierCurveFeedback
A group element is a set of grouped elements

IGraphicElement

GraphicElement

FrameElement

A frame element forms a border around other elements or objects

A group layer is a group of layers that appear and act like a single layer in the table of contents
ICompositeLayer IConnectionPointContainer IDisplayAdmin IGroupLayer IIdentify IIdentify2 ILayer2 ILayerEvents ILayerInfo ILayerPosition IMapLevel

An Internet map server layer displays data from an image service on the Internet

LegendFormat

A legend format manages a legend's default properties

MapTitle

A map title is a text element describing a map

IBackground ISymbolBackground

SymbolBackground

IBorder ISymbolBorder

SymbolBorder

IShadow ISymbolShadow

SymbolShadow

Creates a feedback on the display for a callout

CalloutFeedback

INewCircleFeedback

Creates a feedback on the display for adding a new circle


INewDimensionFeedback

NewCircleFeedback

IGraphicElement IBoundsProperties IFrameElement IFrameDraw IFrameProperties IGroupElement

GroupElement

FrameElement

A frame element is a neatline

GroupLayer

ScreenDisplay

A display transformation manages the map to device transformation for each type of display The symbol background draws a background fill for a frame element The symbol border draws an outline for a frame element The symbol shadow draws a shadow around a frame element

ISet

A screen display object abstracts a normal application window and implements scrolling and backing store

Creates a feedback on the display for a group of feedback objects


ILineMovePointFeedback

GroupFeedback

Creates a feedback on the display for adding new dimension shapes


INewEnvelopeFeedback INewEnvelopeFeedback2

NewDimensionFeedback NewEnvelopeFeedback

A marker element is a point graphic

IBoundsProperties IMarkerElement

MarkerElement

A line element is a line graphic

IClassify

Classify
Classify
IDataNormalization IHistogram IStatisticsResults ITableHistogram

IRubberBand

Rubber band
RubberBand
A rubber point object allows the user to input and move points on the display

Creates a feedback on the display for moving a point on a line


IModifyDimensionFeedback

LineMovePointFeedback

IActiveViewEvents IConnectionPointContainer IDisplayAdmin IDisplayEvents IGraphicsComposite IGraphicsContainerProperty IMapFrame IMapFrameEvents IMapGrids ITransformEvents

A map frame manipulates the frame containing the map

FeatureLayer

ICompositeLayer ICompositeLayer2 IDataLayer IDataLayer2 IDisplayAdmin IDisplayFilterManager IIdentify IIdentify2 IIMSMapLayer ILayerDrawingProperties ILayerEffects ILayerInfo ILayerPosition

IMSMapLayer

MapFrame
A map surround frame manipulates the frames of map elements such as North arrows and legends

A feature layer displays data from a feature class on a map


IBarrierProperties IBarrierProperties2 IConnectionPointContainer IGraphicsContainer IGraphicsContainerSelect IGraphicsLayer IOverflowGraphicsContainer ISelectionEvents

Graphics layers manage the graphics associated with a map


IAttributeTable IDimensionLayer IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayFilterManager IDisplayRelationshipClass IDisplayTable IFeatureLayer IFeatureLayer2 IFeatureLayerDefinition IFeatureLayerSelectionEvents IFeatureSelection IFind IHotlinkContainer IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition IMapLevel IObjectClassSchemaEvents IPropertySupport IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection

Creates a feedback on the display for adding a new envelope


INewLineFeedback

IBoundsProperties IElementEditVertices ILineElement

LineElement
IGraphicsComposite IMapFrameEvents IMapSurroundEvents IMapSurroundFrame ITransformEvents

TableHistogram
A rubber circle object allows the user to input circles on the display A rubber envelope object allows the user to input and move envelopes on the display

Creates a feedback on the display for modifying a dimension shape


IMoveEnvelopeFeedback

ModifyDimensionFeedback

NewLineFeedback

A text element is a text graphic


IBoundsProperties IElementEditCallout IElementEditVertices IGroupSymbolElement ITextElement ITransformEvents

MapSurroundFrame

GraphicsLayer

An OLE frame is an OLE object graphic

Creates a feedback on the display for adding a new line


INewMultiPointFeedback

IClassifyMinMax IIntervalRange

DefinedInterval

The defined interval classification produces classes that are divided by regular fixed numeric increments

The table histogram is a data structure used to set data to a data classification

RubberCircle

RubberPoint

IClassifyMinMax

EqualInterval

The equal interval classification is similar to defined interval, except that the first interval starts at the lowest value

RubberEnvelope

RubberPolygon RubberRectangular -Polygon

A rubber polygon object allows the user to input and move polygons on the display

Creates a feedback on the display for moving an envelope

MoveEnvelopeFeedback

Creates a feedback on the display for adding a new multipoint


INewPolygonFeedback

NewMultiPointFeedback

A data graph element manipulates the frame containing a graph A picture element represents Windows raster or vector graphic objects
IBoundsProperties IFrameDraw IFrameElement IFrameProperties IOlePictureElement IPictureElement

TextElement

IOleFrame IElementShutdown GraphicElement

OleFrame

A table frame manipulates the frame containing the table

IAttributeTable ICadDrawingLayers ICadTransformations IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayFilterManager IDisplayRelationshipClass IDisplayTable IFeatureLayer IFeatureLayer2 IFeatureLayerDefinition IFeatureSelection IFind IGeoFeatureLayer IHotlinkContainer IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 ILayerDrawingProperties ILayerEffects ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IMapLevel IObjectClassSchemaEvents IPropertySupport IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection

ICadLayer ICad3DRenderMode ICadDrawingLayers ICadTransformations IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IIdentify ILayerEffects ILayerExtensions ILayerInfo ILayerPosition

CadLayer

IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IIdentify ILayerEffects ILayerEvents ILayerDrawingProperties ILayerExtensions ILayerInfo ILayerPosition ILegendInfo IRasterCatalogLayer

RasterCatalogLayer
Documented in chapter 13, "Integrating raster data"

IClone ILegendItem ILegendItem2 IPersist IPersistStream

*
INorthArrow

LegendItem
Legend items are the individual parts of a legend
IGraphicsComposite IMarkerNorthArrow IPropertySupport ITransformEvents

NorthArrow

The North arrow object is a base class for all north arrow types

A CAD layer displays a CAD drawing

IHorizontalBarLegendItem IVerticalLegendItem

HorizontalBarLegendItem HorizontalLegendItem

MarkerNorthArrow

Marker North arrows use a character marker symbol An overview displays the full map extent of a dataframe, together with a box graphic showing the current map extent

CadFeatureLayer

IActiveViewEvents IDataGraphElement IGraphicsContainerProperty

IHyperlink IPersist IPersistStream

Hyperlink

DataGraphElement

DimensionLayer

ITableFrame

IMoveGeometryFeedback

NaturalBreaks

The natural breaks classification produces classes which highlight natural groupings by minimizing variance within a class and maximizing variance between classes

A rubber line object allows the user to input and move polylines on the display

RubberLine

A rubber rectangular object allows the user to input and move polygons, which are constrained to be rectangular, on the display

Creates a feedback on the display for moving a geometry by reference


IMoveImageFeedback IMoveImageFeedback2

MoveGeometryFeedback

Creates a feedback on the display for adding a new polygon


IPolygonMovePointFeedback

NewPolygonFeedback

TableFrame
A fill shape element is a graphic of a closed area

PictureElement

IBoundsProperties IFillShapeElement

FillShapeElement

IDeviationInterval

StandardDeviation

The standard deviation classification creates classes that represent dispersion about the mean value

Selection tracker
ISelectionTracker

SelectionTracker

Selection trackers manage the handles of selected elements

Creates a feedback on the display for moving an image of symbolized elements or features
IMoveLineFeedback

MoveImageFeedback

Creates a feedback on the display for moving a point in a polygon


IReshapeFeedback

PolygonMovePointFeedback BmpPictureElement ReshapeFeedback


A BMP picture element is a Windows bitmap An EMF picture element is a Windows Enhanced Metafile picture

EmfPictureElement

ICircleElement

CircleElement

IEllipseElement

EllipseElement

MultiPatchElement

Quantile

The quantile classification creates as close as possible to equal numbers of values in each class
ICalloutTracker

Creates a feedback on the display for moving a line

MoveLineFeedback

Creates a feedback on the display for reshape

IResizeEnvelopeFeedback IResizeEnvelopeFeedback2

CalloutTracker

EnvelopeTracker

LineTracker

PointTracker

PolygonTracker

IMovePointFeedback

ITrackCancel

CancelTracker
IAnchorPoint IRotateTracker

Creates a feedback on the display for moving a point

MovePointFeedback

Creates a feedback on the display for resizing an envelope


IStretchLineFeedback

ResizeEnvelopeFeedback

IRectangleElement

RectangleElement

IElementEditVertices IPolygonElement

PolygonElement

A cancel tracker provides a mechanism for the user to stop a process

AnchorPoint

RotateTracker

IScaleTracker

ScaleTracker

IMovePolygonFeedback

An anchor point is useful for rotating elements and features

A rotate tracker manages the user interface for rotating features or elements

A scale tracker controls the user interface for scaling features or elements

Creates a feedback on the display for moving a polygon

MovePolygonFeedback

Creates a feedback on the display for stretching all the vertices on a polyline

StretchLineFeedback

IVertexFeedback

Creates a feedback on the display for editing vertices of a geometry by reference

VertexFeedback

SpatialBookmark
IAOIBookmark

IAttributeTable IClass IDataLayer IDataLayer2 A hyperlink displays IDataset linked data, such as text IDisplayAdmin files or Web pages, IDisplayFilterManager IDisplayRelationshipClass when you click it IDisplayTable IFDOAttributeConversion IFDOGraphicsLayer IFeatureLayer IFeatureLayer2 CompositeIFeatureLayerDefinition ICompositeGraphicsLayer IFeatureSelection ICompositeLayer GraphicsIFind IGeoDatasetSchemaEdit Layer IHotlinkContainer IGraphicsLayerScale IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 A composite graphics layer ILayerEffects manages other graphics layer, but is ILayerEvents ILayerExtensions also a graphics layer itself ILayerFields ILayerInfo ILayerPosition IMapLevel IObjectClassEvents IObjectClassSchemaEvents ISpatialBookmark IPropertySupport SpatialIPersist IRelationshipClassCollection IPersistStream Bookmark IRelationshipClassCollectionEdit ITable ITableFields ITableSelection

IAttributeTable IBarrierProperties IBarrierProperties2 ICadDrawingLayers ICadTransformations ICoverageAnnotationLayer ICoverageAnnotationLayer2 IDataLayer IDataLayer2 IFeatureLayer IFind ILayerFields ILayerInfo ITableFields

IAttributeTable IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayRelationshipClass IDisplayTable IGeoReference IIdentify ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IObjectClass IRasterLayer IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection

IHorizontalLegendItem

IOverview

Overview

IHorizontalLegendItem INestedLegendItem

RasterLayer
Documented in chapter 13, "Integrating raster data" IVerticalLegendItem

NestedLegendItem

IScaleText IPropertySupport ITransformEvents

ScaleText

VerticalLegendItem
ILegendClassFormat IPersist IPersistStream

Legend class format objects control each legend item's presentation


IGraphicsComposite IPropertySupport IScalebar IScaleMarks ITransformEvents

A scale text map surround is a text element that describes the map's scale

IClone IPatch IPersist IPersistStream

Patch

LegendClassFormat

Scalebar

A scale bar graphically shows a map's scale

CadAnnotationLayer

FDOGraphicsLayer

A dimension layer displays descriptive text and supporting graphics (such as leader lines) that are associated with map features

A CadAnnotationLayer is used to control the symbology of the annotation features from a CAD layer

IAttributeTable IBarrierProperties IBarrierProperties2 ICoverageAnnotationLayer ICoverageAnnotationLayer2 IDataLayer IDataLayer2 IFeatureLayer IFind ILayerFields ILayerInfo ITableFields A coverage annotation

IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IDisplayFilterManager IIdentify ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo ITableFields ITinLayer

IScaleLine

ISingleFillScaleBar

A TIN layer displays 3D surface data

ILinePatch

ScaleLine LinePatch

SingleFillScaleBar

IDoubleFillScaleBar

DoubleFillScaleBar

TinLayer
IAreaPatch

AreaPatch

SteppedScaleLine

SingleDivisionScaleBar

AlternatingScaleBar DoubleAlternatingScaleBar HollowScaleBar

CoverageAnnotationLayer
IAnnotationExpressionEngine ICodedValveAttributes IPersist IPersistStream

Patches are individual color boxes in a legend

Scale line scale bars are represented with a single line symbol

Single-fill scale bars are symbolized using one fill symbol

Double-fill scale bars are symbolized using two fill symbols

An FDO graphics layer is a layer based on an annotation feature class in a geodatabase

layer displays annotation from a coverage

AnnotationExpressionEngine

IBarrierCollection

Labeling
LabelEngineLayerProperties
IClone ILineLabelPosition IPersist IPersistStream

A barrier collection holds a set of geometries used as barriers in label placement

BarrierCollection

IClone IPersist IPersistStream IPointPlacementPriorities

PointPlacementPriorities

An area of interest is a map extent you would create when zooming in or panning the display

AOIBookmark

IFeatureBookmark

A feature bookmark stores information about a particular feature so that it can be quickly found again

FeatureBookmark

IAnnotateLayerPropertiesCollection IPersist IPersistStream

Annotate layer properties holds a set of labeling properties for a feature layer

AnnotateLayerPropertiesCollection

IAnnotateLayerProperties IAnnotateLayerTransformationProperties IAnnotateProperties IClone ILabelEngineLayerProperties IPersistStream

An annotation VB Script engine specifies a label expression based on VB Script

AnnotationVBScriptEngine

AnnotationJScriptEngine

An annotation Java Script engine specifies a label expression based on Java Script
IBasicOverposterLayerProperties IBasicOverposterLayerProperties2 IClone IOverposterLayerProperties IPersist IPersistStream

Point placement priorities specify conflict resolution weights for labels placed relative to point features
IClone ILineLabelPlacementPriorities IPersist IPersistStream

LineLabelPlacementPriorities

Label engine layer properties specify labeling properties for a feature layer

LineLabelPosition

Line label position specifies the desired label position and placement option for labels placed relative to line features

Basic overposter layer properties specify label placement and conflict resolution properties

BasicOverposterLayerProperties

Line label placement priorities specify conflict resolution weights for labels placed relative to line features

ESRI ArcObjects is the development platform for the ArcGIS family of applications such as ArcMap, ArcCatalog, and ArcScene. The ArcObjects software components expose the full range of functionality available in ArcInfo, ArcEditor, and ArcView to software developers.
Copyright 2001 ESRI. All right reserved. ESRI, ArcView, and the ESRI globe logo are trademarks of ESRI, registered in the United States and certain other countries; registration is pending in the European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap are trademarks of ESRI and www.esri.com is a service mark of ESRI.

ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS professionals with a spectrum of geographic data management, spatial editing, and cartographic visualization functionality. The ArcGIS Desktop systems each contain a configuration of applications, such as ArcCatalog, ArcMap, ArcToolbox, and ArcScene, and can host a variety of extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst, and others. This object model diagram shows the ArcGIS subsystems and their components that coordinate all geographic data management. These are the ArcObjects components documented in volume two of Exploring ArcObjects. You will find updates to ArcObjects developer resources at www.esri.com/arcobjectsonline.

Diagram key
Inbound interface Outbound interface

Types of Classes An abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object. A class cannot directly create objects, but objects of this class can be created as a property of another class or instantiated by objects from another class. Types of Relationships

Chapter 8 Geodatabase coclass

Chapter 9 Geometry coclass

Chapter 10 Spatial reference coclass Spatial reference class Spatial reference abstract class

Type inheritance
This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1 component objects. Software interfaces are not duplicated in the child classes. The objects to the left show a sample view of type inheritance. The objects below show a flat view of the objects with their full list of interfaces. The two views are equivalent, but the type inheritance view gives insight into the structural composition of the object model. IRowBuffer IRowBuffer

ESRI ArcGIS 8.1 Object Model


Exploring ArcObjects Volume 2 Geographic data management
IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo TM IName IPersist IPersistStream

TM

abstract class

Instantiation

Geodatabase class

Geometry class

Type inheritance
Interface

Associations represent relationships between classes. They have defined multiplicities at both ends. Type inheritance defines specialized classes of objects that share properties and methods with the superclass and have additional properties and methods. Note that interfaces in superclasses are not duplicated in subclasses. Instantiation specifies that one object from one class has a method with which it creates an object from another class. Geodatabase abstract class Geometry abstract class

RowBuffer

coclass

Composition

RowBuffer
Chapter 11 Editor coclass Chapter 12 Network coclass Chapter 13 Raster coclass IRow IRowBuffer IRowEvents IValidate IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRow IRowBuffer IRowEvents IValidate

class

Composition is a relationship in which objects from the "whole" class control the lifetime of objects from the "part" class. An N-ary association specifies that more than two classes are associated. A diamond is placed at the intersection of the association branches. A multiplicity is a constraint on the number of objects that can be associated with another object. Association and composition relationships have multiplicities on both sides. This is the notation for multiplicities:
1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer

Row

Association

1..*

Multiplicity

IRow IRowEvents IValidate

Row

Editor class

Network class

Raster class

Special Interfaces (Optional) represents interfaces that are inherited by some subclasses but not all. The subclasses list the optional interfaces they implement. (Instance) represents interfaces that are only on specific instances of the class. (<classname>) indicates the name of the helper class required to support this event interface in Visual Basic.

Feature

Editor abstract class

Network abstract class

Raster abstract class

IFeature IFeatureBuffer IFeatureDraw IFeatureEdit

Feature

IGeoDataset IRasterCatalogTable IConnectionPointLayer IDataLayer IDataLayer2 IDisplayAdmin IGeoDataset IIdentify ILayer ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions A raster layer ILayerInfo combines raster data ILayerPosition and instructions to ILegendInfo IPersistStream visualize, or render, IRasterCatalogLayer

IWorkspaceFactory IWorkspaceFactory2

WorkspaceFactory

IWorkspaceHelper

RasterCatalogTable

A workspace factory is a dispenser of workspaces and allows a client to connect to a workspace

A workspace helper holds a back-reference from a workspace extension to a workspace


IWorkspaceExtension IWorkspaceExtensionControl

WorkspaceHelper
A workspace extension extends the functionality of a workspace

A name object identifies and locates a database or map object and supports methods to instantiate the actual object

Name
The dataset name objects identify and locate datasets within a workspace

The ArcInfoWorkspaceFactory is the entry point to access the geodatabase for ArcInfo coverages and tables
IWorkspaceFactory IWorkspaceFactory2

IName

ArcInfoWorkspaceFactory CadWorkspaceFactory

OLEDBWorkspaceFactory ShapefileWorkspaceFactory

WorkspaceExtension
0..1

Workspace
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional) IVersionedObject IVersionedObject2

ArcInfoWorkspaceFactory
IWorkspaceName

Name
ISupportErrorInfo IWorkspaceFactory IWorkspaceFactory2

A raster workspace factory can create raster workspaces

A workspace is a container of spatial and nonspatial datasets such as feature classes, raster datasets, and tables

Workspace and name


*
IDomain ISchemaLock

IWorkspaceName IWorkspaceName2

WorkspaceName

A workspace name specifies a workspace object and can be used to instantiate it

IDatasetName IMetadata IMetadataEdit INativeTypeInfo ISQLPrivilege

DatasetName

Dataset

IArcInfoWorkspace is used to create new coverages or INFO tables


IArcInfoWorkspace IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo

RasterWorkspaceFactory
IDataset IRasterWorkspace IRasterWorkspace2 ISupportErrorInfo IWorkspace

IGxObjectFilter

WorkspaceName

GxFilterRasterDatasets filters all nonraster datasets out from the GxBrowser

GxFilterRasterDatasets

IMSWorkspaceFactory
IRemoteDatabaseWorkspaceFactory ISetDefaultConnectionInfo ISetDefaultConnectionInfo2

SdeWorkspaceFactory AccessWorkspaceFactory

ILocalDatabaseCompact

IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo

RasterWorkspace

A raster workspace can open and create raster datasets

CadDrawingName
IFeatureDatasetName

IDatasetFileNameStat IRasterDatasetName

RasterDatasetName

IModelInfo IObjectClassName ISupportErrorInfo ITableName

TableName

Domain FeatureDatasetName GeometricNetworkName


IRelationshipClassName

IVersion IVersionEdit IVersionedWorkspace

VersionedWorkspace

IEnumConflictClass

EnumConflictClass

A conflict class enumerator returns all classes containing conflicts after performing a reconcile

Workspace

IDatasetName IMetadata IMetadataEdit

DatasetName
A raster dataset represents an existing dataset stored on disk or in a database in a particular raster format

Workspace

A domain is used to specify the permissible values that a field in an object class may take

RelationshipClassName

ObjectClassName

A versioned workspace supports multiuser editing and multiple representations of features classes and tables in a relational database system
IEnumVersionInfo

Versioning
EnumVersionInfo
IClass IConflictClass ITable ITableCapabilities IVersionedTable

IClone ICodedValueDomain IPersist

CodedValueDomain

IGeometricNetworkName

TinName

Table

ICoverageName IDatasetNameFileStat IFeatureDatasetName INativeTypeInfo

CoverageName
IDatasetName IDatasetNameFileStat IMetadata IMetadataEdit IName INativeTypeInfo IPersistStream IRasterDatasetName

IDataset IDatasetAnalyze IDatasetFileStat IGeoDataset IGeoDatasetSchemaEdit IMetadata IMetadataEdit INativeTypeInfo IRasterBandCollection IRasterDataset IRasterPyramid ISupportErrorInfo ITemporaryDataset IWorldFileExport

RasterDataset
RasterDataset
IGeoDataset IRaster IRasterAnalysisProps IRasterBandCollection IRasterDefaultProps IRasterProps ISupportErrorInfo

A raster is a dynamic, inmemory representation of pixels that derives from a raster data source on disk

IAttributeTable IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayRelationshipClass IDisplayTable IGeoDataset IGeoReference IIdentify ILayer ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IObjectClass IPersistStream IRasterLayer IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection

RasterLayer

A raster catalog layer is a special type of layer used to display raster catalogs

RasterCatalogLayer

A raster catalog table is a special type of table used to display multiple raster datasets as a single entity

this data

RasterLayer
IIdentifyObj IRasterIdentifyObj

RasterIdentifyObj
*

A raster identify object allows identification of individual raster pixels in a dataset

IClone IColorSymbol IFillSymbol IMapLevel IPersistStream IPropertySupport ISymbol

ColorSymbol

*
IDisplayAdmin IIdentify ILegendInfo IPersistStream IRasterDisplayProps IRasterRenderer

1..*

A raster renderer is an abstract class that provides the basic tools for raster rendering operations

A color symbol object specifies a color to be displayed by a raster renderer

IFeatureClassName

Raster

A coded-value domain is used to specify a set of permissible values that a field may take
IClone IRangeDomain IPersist

FeatureClassName

A version information enumerator contains available versions for obtaining properties

ArcInfo coverage
IDifferenceCursor

RangeDomain
ITableSort

IVersionInfo

DifferenceCursor
* A difference cursor returns all the differences between two versions based on a difference type
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)

A CoverageName identifies and locates a dataset object and supports methods to instantiate the actual named object
ICoverageFeatureClassName IDatasetNameFileStat IFeatureClassName INativeTypeInfo

RasterDatasetName
IEnumDataset IEnumRasterBand

Raster
IRasterClassifyColorRampRenderer IRasterClassifyUIProperties IRasterDataExclusion IRasterRendererClassInfo

Raster

RasterRenderer

RasterRenderer
A stretch renderer stretches the values from the dataset along a color ramp

IWorkspaceProperty

A workspace property provides information about a workspace

WorkspaceProperty
1..*

A range domain is used to specify the legal minimum and maximum values that a field may have

VersionInfo TableSort
A property set is a generic class that is used to hold a set of properties for anything A table sort controls the order in which rows are returned from a table or feature class Version information contains read-only information to describe version properties
IVersionManager IVersionManagerEvents IConflictDisplay IConflictsWindow IConflictsWindow2 IExtension

Dataset

CoverageFeatureClassName

RasterBands
The pixel block is a generic container for a pixel array that can be read from any raster or raster band
IPixelBlock

VersionManager

0..*

IConfigurationKeyword

ConfigurationKeyword
*

A configuration keyword specifies a set of storage parameters in an ArcSDE database


IConfigurationParameter

IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)

Dataset

Dataset

IClone IPersist IPersistStream IPropertySet IPropertySet2

PropertySet

ConflictsWindow

A configuration parameter specifies a physical storage parameter for data created in an ArcSDE database

ConfigurationParameter
IQueryDef

QueryDef
IGeodataSchemaEdit IGeoDataset

IEnumIDs

Geodatabase
EnumIDs
An enumeration of IDs represents a set of object identifiers A table is a collection of rows with attributes stored in columns
IClass ITable ITableCapabilities

The conflicts window provides access to the editor conflicts window

ICoverage provides information about ArcInfo coverages and processing operations

A raster dataset name maintains name and other information for a raster dataset

RasterClassifyColorRampRenderer

IRasterStretch IRasterStretchColorRampRenderer IRasterRendererClassInfo

RasterStretchColorRampRenderer
IRasterUniqueValueRenderer IRasterRendererClassInfo

The raster bands object allows a developer to easily enumerate through a set of raster bands
IClass IDataset IGeoDataset IMetadata IMetadataEdit INativeTypeInfo IObjectClass IRasterBand IRasterDataset IRasterProps IRasterPyramid IRasterTable IRasterTransaction IRawPixels ISupportErrorInfo ITable

A classify renderer divides the data values for a dataset into classes and assigns each class to a specific color
IRasterRGBRenderer IRasterStretch

A CoverageFeatureClassName identifies and locates a feature class in a coverage and is used for obtaining some basic properties of the feature class

The version manager provides a user interface to create and manage version properties

ICoverage ICoverage2 IFeatureDataset INetworkCollection IFeatureClassContainer IRelationshipClassContainer

FeatureDataset
The ArcInfoItems object is used to manage the item set, or collection of items in an INFO table

A raster band represents a single band of a raster dataset on disk

PixelBlock RasterBand

RasterRGBRenderer

A unique value renderer displays each unique value in the dataset using a different color
IRasterGeometryProc

RasterUniqueValueRenderer

RasterBand
IRasterColormap

An RGB renderer compositely draws three bands of a raster dataset, one to each of the red, green, and blue channels of the display
IRasterCursor

A raster geometry proc can be used to perform geometric operations, such as flip, mirror, rotate, and polynomial warping, on a raster
IRasterSdeConnection IRasterSdeServerOperation IRasterSdeStorage ISupportErrorInfo IRasterPicture

RasterGeometryProc

The IArcInfoTable interface is used to access and manage the items in an INFO table

IArcInfoTable IClass ITable ITableCapabilities

Table
IArcInfoItems IArcInfoItemsEdit

A raster band name maintains name and other information for a raster band

RasterCursor
A raster cursor is a mechanism for iterating through all of the pixel blocks in a raster

IRasterEncoder ISupportErrorInfo

SidEncoder

GeoDataset

A query definition represents a database query on one or more tables or feature classes

ArcInfoItems
IDatasetName IMetadata IMetadataEdit IName INativeTypeInfo IPersistStream IRasterBandName

The Sid encoder compresses a raster dataset into MrSID format A raster colormap provides access to the colormap of a raster band

RasterSdeLoader

RasterPicture

A geodataset is a type of dataset that stores geographic data

IDatasetContainer IFeatureDataset INetworkCollection INetworkCollection2 IFeatureClassContainer IRelationshipClassContainer

FeatureDataset
IRowBuffer

Query, cursor, selection


RasterDataset
See chapter 13, 'Integrating raster data'

ISelectionSet ISelectionSet2

SelectionSet

Table
A relationship class represents relationships through embedded foreign keys
IClone IFields IFields2 IFieldsEdit IPersist

The ICoverageFeatureClass interface provides information on an individual feature class of an ArcInfo coverage

ICoverageFeatureClass ICoverageFeatureClass2 IFeatureClass IFeatureClassLoad IFeatureClassWrite IGeoDataset INetworkClass

FeatureClass

1..*
IArcInfoItem IArcInfoItemEdit

RasterBandName

RasterColormap

A raster defaults environment allows the user to customize raster default behavior
IFormatData IFormatList IFormatTest

A raster SDE loader creates and loads raster data into an SDE database

A raster picture is a lightweight object that can be used to view some raster formats in a simple manner

ArcInfoItem

Fields

IClone IIndexes IIndexesEdit IPersist

Indexes

A selection set references a set of rows by a selection criteria

The ArcInfoItem object represents a field of the INFO table, and is used to create and manage individual fields

IDatasetName IName IPersistStream ISDERasterTableName ISQLPrivilege

IRasterHistogram

SDERasterTableName
IRasterStatistics

RasterHistogram

A raster histogram provides access to the histogram of a raster band

IRasterDefaultsEnv IRasterDefaultsEnv2

RasterDefaultsEnv

FormatList
IPnt

IRasterRendererMaker

DblPnt RasterFormatInfo
A format list can identify all supported raster formats and provide information about them

RasterRendererMakerDefault

A feature dataset stores vector data in feature classes

INativeTypeInfo IRasterDataset IRasterBandCollection IRasterPyramid ITemporaryDataset

RowBuffer
A row buffer is used for data loading with cursors A query filter restricts the set of rows retrieved from a table

IDataset IRelationshipClass IRelationshipClass2 IRelClassSchemaEdit

Relationship Class

IRasterFormatInfo

1..*
IClone IField IFieldEdit IModelInfo IPersist

1..*
IClone IIndex IIndexEdit

Field

Index
IObjectLoaderUI IObjectLoaderUIProperties

1..* 0..1

An SDE raster table name maintains name and other information for an SDE raster

RasterStatistics

A graph is a set of topologically related feature classes


IDataset IGraph IFeatureClassContainer

Row, object, feature


Graph
A geometric network is a type of graph that is uniquely associated with a logical network that represents network topology

IRelatedObjectEvents IRow IRowChanges IRowCompare IRowEdit IRowEvents IrowSubtypes ISupportErrorInfo IValidate

IClone IPersistStream IQueryFilter IQueryFilter2

QueryFilter

Row
ISpatialFilter

SpatialFilter

Table, object class, feature class


IClassSchemaEdit IClassSchemaEdit2 IModelInfo IObjectClass IObjectClassInfo IObjectClassInfo2 ISubtypes IValidation IValidation2

AttributedRelationshipClass

An attributed relationship class is a table that stores relationships. Many-tomany relationships can be stored in this class

ObjectLoaderUI

IClone IGeometryDef IGeometryDefEdit IPersist

GeometryDef
The object loader user interface is the same as that of the ArcMap object loader
IClassHelper

13
FieldError
IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo

A raster statistics object provides access to pixel statistics from a raster band

Raster format information provides information about a raster format specific to the user interface

A double point is a support object that represents a point

The raster renderer maker default object determines the renderer used to display a raster by default

A row is a record in a table. All rows in a table have the same set of fields
IObject IRowSubtypes

An object class stores nongeographic entities

Each table has a set of fields that describe the data format of attributes. If a field represents a geometry, GeometryDef specifies its particulars. An index can be optionally specified on a field

ClassHelper
A class helper is an intermediate object used to avoid circular references between an object class and a class extension
IFieldChecker

A field checker will find potential problems in field names 0..1

FieldChecker

Object
ICursor

A spatial filter is a query filter that includes spatial and attribute constraints

IRule

IClassExtension

ObjectClass
*

IDatasetEdit IGeoDataset IGeometricNetwork IGeometricNetworkConnectivity IGeometricNetworkErrorDetection IMetadata IMetadataEdit INativeTypeInfo ISchemaLock

An object is a row in a geodatabase table

Rule

Cursor

GeometricNetwork
A feature is a geographic object with a geometric shape

A cursor can iterate over a set of rows in a table or insert new rows

Rule
IConnectivityRule

Rules are associated with feature classes or object classes and are used to validate features or objects

ClassExtension
0..1

Class extension
A class extension is a way for a programmer to add class-wide customization, such as a custom form for data inspection

IEnumFieldError

A field error enumerator stores the problems found by a field checker


IFieldError

EnumFieldError

IFeature IFeatureBuffer IFeatureChanges IFeatureDraw IFeatureEdit IFeatureEvents IFeatureSimplify

Feature
IFeatureCursor

ConnectivityRule

IRelationshipRule

RelationshipRule

FeatureCursor

Geometric network
IAnnotationFeature IDimensionFeature INetworkFeature INetworkFeatureEvents

A feature cursor references a set of features

A feature class is a type of object class that stores geographic features


IEdgeConnectivityRule

IConfirmSendRelatedObjectEvents (optional) IObjectClassExtension IObjectInspector (optional) IObjectClassDescription (optional) IObjectClassEvents (optional) IObjectClassValidation (optional) IRelatedObjectClassEvents (optional) IRelatedObjectClassEvents2 (optional)

ObjectClassExtension

A field error provides information about a field problem

Workspace
See chapter 8, 'Accessing the Geodatabase' IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)

IExtension IExtensionAccelerators IExtensionConfig

Extension
IFlagDisplay IFeatureDraw

FlagDisplay

A flag display maintains the starting point for traces and path findings

0..*

IAttributeRule

NetworkFeature

Network features participate in a geometric network. Each feature is associated with one or many elements in a logical network

DimensionFeature

AnnotationFeature

A dimension feature persists and draws dimensions in a geodatabase

An annotation feature persists and draws annotation in a geodatabase

IFeatureClass IFeatureClassLoad (optional) IFeatureClassWrite IGeoDataset INetworkClass

FeatureClass

EdgeConnectivityRule

AttributeRule

A relationship rule constrains the cardinality of a relationship

IFeatureClassExtension IFeatureClassCreation (optional) IFeatureClassDescription (optional) IFeatureClassDraw (optional) IFeatureClassEdit (optional) INetworkClassDescription (optional)

FeatureClassExtension
0..1

A feature data converter lets you convert data between geodatabases, shapefiles, and coverages An annotation feature class extension manages the drawing of annotation features

An object loader appends data to existing feature classes or tables

Dataset
See chapter 8, 'Accessing the Geodatabase' IJunctionFlagDisplay

IFeatureProgress IObjectLoader ISupportErrorInfo IFeatureDataConverter IFeatureDataConverter2 IFeatureProgress ISupportErrorInfo

ObjectLoader
INetworkWorkspace INetworkWorkspace2

NetworkAnalystExt
NetworkWorkspace
INetElementClass

JunctionFlagDisplay

A junction flag display begins a trace or path finding at a junction


IEdgeFlagDisplay ISupportErrorInfo

IJunctionConnectivityRule IJunctionConnectivityRule2

JunctionConnectivityRule

An attribute rule is the application of an attribute domain to an attribute


IDimensionClassExtension

FeatureDataConverter
IEnumInvalidObject

IJunctionFeature

Feature elements encapsulate the geometry of connection points on complex junction features

IEdgeFeature

Junction features represent the nodes in a geometric network

JunctionFeature
IFeatureElement IFeatureElementEdit

Edge features represent the lines in a geometric network.

EdgeFeature

DimensionClassExtension

IAnnoClass IAnnoClassAdmin IAnnoClassAdmin2

AnnotationFeatureClassExtension
IObjectClassDescription

Data converter
An object class description helps automate the creation of new object classes

EnumInvalidObject

A network workspace lets you open and create a logical network


INetAttributes INetAttributesEdit INetElements INetSchema INetSchemaEdit INetTopology INetTopologyEdit INetwork INetworkUpdate IVersionedObject2

NetElementClass

A network element class provides access to the IDs of the object classes participating in the network

IExtension INetworkAnalysisExt INetworkAnalysisExtBarriers INetworkAnalysisExtFlags INetworkAnalysisExtResultColor INetworkAnalysisExtResults INetworkAnalysisExtWeightFilter INetworkAnalysisExtWeights ISupportErrorInfo

NetworkAnalysisExt

A network analysis extension manages the parameters found within the Utility Network Analysis toolbar

EdgeFlagDisplay

An edge flag display begins a trace or path finding along an edge

IClone IDimensionShape IPersist IPersistStream ITransform2D

DimensionShape

A dimension shape stores the geometry for a dimension

*
IRelationship

Relationship
A relationship defines a general association between two objects or features

Connectivity rules constrain which network features can be connected

FeatureElement
ISimpleEdgeFeature ISimpleNetworkFeature

Relationship

A dimension class extension manages the drawing of dimension features

IDimensionStyles IPersistStream

DimensionStyles
1..*
IFeatureClassDescription

ObjectClassDescription
A feature class description helps automate the creation of new feature classes

An invalid object enumerator represents a set of objects that failed a data conversion process
IInvalidObjectInfo

Network
Network
IForwardStar

IComplexEdgeFeature IComplexNetworkFeature

ComplexEdgeFeature

IDimensionGraphic

ISimpleJunctionFeature ISimpleNetworkFeature

A simple junction feature has one junction element in the logical network

SimpleJunctionFeature ComplexJunctionFeature

DimensionGraphic AttributedRelationship
0..*

InvalidObjectInfo

The Network object is the logical network associated with a geometric network. It represents the linear connectivity among a set of network features

ForwardStar

A forward star returns all the adjacent elements given a junction and edge element. It is used extensively when writing solvers

ITraceTasks IUtilityNetworkAnalysisExt

UtilityNetworkAnalysisExt

INetElementBarriers INetElementBarriers2

NetElementBarriers

Network element barriers create barriers of individual elements

SimpleEdgeFeature
A complex edge feature has one to many edge elements in the logical network A dimension graphic draws dimensions

The dimension styles object manages a collection of dimension style objects


IClone IDimensionStyle IDimensionStyleDisplay IDimensionStyleText IPersistStream

FeatureClassDescription
A network class description helps automate the creation of new network feature classes

Invalid object information explains why data could not be loaded


IUtilityNetwork

A utility network analysis extension provides trace and path finding capabilities to a Utility Network Analyst toolbar

ISelectionSetBarriers

IEnumNetEID IEnumNetEIDBuilder

SelectionSetBarriers

IComplexJunctionFeature IComplexNetworkFeature IFeatureConnect IFeatureSnap

A complex junction feature has one to many junction and edge elements in the logical network

A simple edge feature has one edge element in the logical network

SimpleRelationship
An attributed relationship stores attributes on a relationship and also represents many-to-many relationships

0..*

DimensionStyle

UtilityNetwork

IStreetNetwork

StreetNetwork

EnumNetEIDArray

INetworkClassDescription

A simple relationship represents one-to-one or one-to-many relationships without attributes

NetworkClassDescription

INetSolver INetSolverWeights

A dimension style defines properties for controlling the symbology of dimensions

A route measure event geoprocessor facilitates event overlay, dissolve, and concatenation
IMetadata IMetadataEdit

IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)

A utility network is a network where flow is directed. You can establish flow direction on this type of network

A street network is a network where flow is undirected

NetSolver

Network
0..*
ITraceTask ITraceTaskResults

Selection set barriers create barriers from selected sets of features

TraceTask
A trace task executes a defined trace or path-finding routine

TraceTask

Dataset
INetworkLoader INetworkLoader2 INetworkLoaderProgress INetworkLoaderProps ISupportErrorInfo

A network solver defines the trace environment before executing one of the trace methods from the trace flow solver
ISupportErrorInfo ITraceFlowSolver ITraceFlowSolver2

NetSolver

ITracePathTaskResults

GxObject, Name, Dataset, TIN, GeometricNetwork, other objects


IPersistStreamInit IPropertySet ISupportErrorInfo IXmlPropertySet IXmlPropertySet2

ISynchronizationHelper

FGDCSynchronizationHelper

The FGDC synchronization helper helps translate dataset properties into metadata properties

IDataset IRelationshipClass IRelationshipClass2

RelationshipClass

On-the-fly table joins


ISelectionSet ISelectionSet2

IClass IDataset ITable

Table

IRouteMeasureEventGeoprocessor ISupportErrorInfo

SelectionSet

Metadata
XmlPropertySet
IXmlPropertySetEdit IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)

MemoryRelationshipClass
A memory relationship class is a type of simple relationship class where the origin and destination classes can be from different workspaces
IFeatureClass (optional) IObjectClass IRelQueryTable IRelQueryTableInfo IRelQueryTableManage IVirtualTable

Dynamic segmentation
RelQueryTable

RouteMeasureGeoprocessor

IClass ITable ITableCapabilities

ILocator ILocatorFullName

NetworkLoader

Locator

A network loader creates a geometric network along with its logical network

TraceFlowSolver

Table
A locator knows how to transform a spatial description into a shape
IRouteLocator INetWeight INetWeightEdit

A trace flow solver performs tracing operations on a logical network A network weight is used to limit tracing in a network and denote the cost of tracing through a network element

The find accumulation task finds the accumulated cost of an upstream trace

FindAccumulationTask FindAncestorsTask

ITracePathTaskResults

FindPathUpstreamTask TraceDownstreamTask

The find path upstream task finds the optimal path based on elements flowing upstream

Dataset
IName

IQueryFilter IQueryFilter2

QueryFilter

IClassSchemaEdit IClassSchemaEdit2 IModelInfo IObjectClass IObjectClassInfo IObjectClassInfo2 ISubtypes IValidation IValidation2

A route locator knows how to transform a route location into a shape

RouteMeasureLocator
INetWeightAssociation INetWeightAssociationEdit

NetWeight

INetFlag

NetFlag
NetFlag
A network flag is a location on a network. It is used as input for a network solver

The find ancestors task finds the common ancestors in an upstream trace from two or more flags

The trace downstream task finds all elements that can be reached in a downstream flow from the current flags

ObjectClass RouteMeasureLocator

NetWeightAssociation

A network weight association defines how an object class participates in a weight

The find connected task finds all elements that can be reached from the current flags

FindConnectedTask FindDisconnectedTask

ITracePathTaskResults

TracePathTask

The trace path task finds the optimal path between flag displays

An XML property set stores the metadata for a dataset

XML property set edit is an alternative to using an XML property set for changing metadata

XmlPropertySetEdit

Name
IClass ITable ITableCapabilities

Table
IDatasetName

IMemoryRelationshipClassFactory

MemoryRelationshipClassFactory
ICursor

ISpatialFilter

SpatialFilter

A RelQueryTable is a table with rows and columns derived from a joined pair of tables

Route event properties describe the characteristics of an event table

IFeatureClass IFeatureClassLoad (optional) IFeatureClassWrite IGeoDataset INetworkClass

FeatureClass

A route measure locator is a specific kind of route locator that requires a route identifier and one or two measure values

IEdgeFlag IJunctionFlag INetElementDescription INetElementDescriptionEdit

JunctionFlag

EdgeFlag

The find disconnected task finds all elements that cannot be reached from the current flags

TraceUpstreamTask

The trace upstream task finds all elements that can be reached in an upstream flow from the current flags

NetElementDescription

A network element description is a container to hold information about a network element to be used in calls in INetTopologyEdit

DatasetName
IClassSchemaEdit IClassSchemaEdit2 IModelInfo IObjectClass IObjectClassInfo IObjectClassInfo2 ISubtypes IValidation IValidation2

8
An XYEventProperties provides information about an XYEventSource
IXYEventProperties

ObjectClass

IFeatureClassName IPersistStream ISupportErrorInfo IXYEventSourceName

XYEventSourceName

A memory relationship class factory manages the memory relationship classes that exist in the application

Cursor

IRelQueryTableFactory

RelQueryTableFactory

IClone IPersistStream IRouteEventProperties ISupportErrorInfo

RouteEventProperties

IEventSourceErrors IRouteEventSource

RouteEventSource

* *

A junction flag is a network flag that occurs at a junction

An edge flag is a network flag that occurs somewhere along an edge. The position is measured as a percent along the edge

The find loops task finds elements that can be reached from more than one direction

FindLoopsTask

IFeatureCursor (optional)

IFeatureClass IFeatureClassLoad (optional) IFeatureClassWrite IGeoDataset INetworkClass

FeatureClass

An XYEventSourceName represents an XYEventSource. An XYEventSource can be created from an XYEventSourceName


IFeature (optional) IFeatureBuffer (optional) IFeatureDraw (optional) IObject IRow IRowBuffer

RelQueryCursor

A RelQueryTableFactory manages the RelQueryTables that exist in the application

IName

Name

IRouteMeasurePointProperties

RouteMeasurePointProperties

A route event source serves an event table as a dynamic feature class

IRouteLocation ISupportErrorInfo

A route location describes either a precise location along a route or a portion of a route between a from- and to-measure
IRouteMeasurePointLocation IName

RouteMeasureLocation

12 Editing in ArcMap
TM 1..* 1..*
ISnapAgent

A RelQueryCursor is a cursor that references the rows in a RelQueryTable

IDatasetName

IRouteMeasureLineProperties

XY events
XYEventProperties
IXYEventSource

DatasetName RelQueryRow

RouteMeasureLineProperties

Name

RouteMeasurePointLocation RouteMeasureLineLocation

XYEventSource

IRouteMeasureLineLocation

An XYEventSource is a point feature class with features dynamically generated from coordinates in a table

A RelQueryRow is a record in a RelQueryTable


IRelQueryTableName

A locator name refers to a locator

IClone IPersistStream ISupportErrorInfo IXYEvent2FieldsProperties

XYEvent2FieldsProperties

An XYEvent2FieldsProperties specifies the fields needed to generate geometry for an XYEventSource where at least two fields are required

A RelQueryTable name is an object that represents a RelQueryTable. A RelQueryTable can be created from a RelQueryTable name

RelQueryTableName

IRelationshipClassName

RelationshipClassName

ILocatorName

IDatasetName

LocatorName
A route measure locator name refers to a route measure locator

DatasetName
A route event source name object refers to a route event source

IMemoryRelationshipClassName

A memory relationship class name is an object that represents a memory relationship class. A memory relationship class can be created from a memory relationship class name

MemoryRelationshipClassName

IRouteLocatorName IPersistStream ISupportErrorInfo

RouteMeasureLocatorName

IFeatureClassName IPersistStream IRouteEventSourceName ISupportErrorInfo

RouteEventSourceName

IConstructAngle IConstructDomainExtent IEncode3DProperties IExtrude IGeometryEnvironment IGeometryEnvironment2 IGeometryFactory IGeometryFactory2 ISupportErrorInfo

A geometry environment is a singleton object that stores global variables used by other geometry objects. It lets you create geometry objects from different kinds of input

IAffineTransformation2D IAffineTransformation2D2 IClone ISupportErrorInfo ITransformation

AffineTransformation2D
IClone IGeometry ITransform2D ISupportErrorInfo

IClone IPersistStream ISupportErrorInfo ITransformation

Transformation
Transformation
Transformations are used by spatial reference and geometry transformation objects

Edit tasks perform a specific operation using the edit sketch


IEditTask

Snap agents aid in positioning geometries by snapping them to other geometries

Geometry

EditTask

GeometryEnvironment
IClone IGeometry ITransform2D ISupportErrorInfo

A feature is associated with one of these types of geometry: points, multipoints, polylines, or polygons.

IGeometryCollection

GeometryCollection

A geometry collection is a collection of part geometries used to construct a single high-level geometry

A 2D affine transformation defines a two-dimensional affine transformation matrix and is used to create an arbitrary twodimensional transformation

Geometry
*

Geometry
IArea IEnvelope IEnvelope2 IGeometry2 IHitTest IMAware IPersist IPersistStream IProximityOperator IRelationalOperator IZAware

A point is a zero-dimensional geometry. Points are defined with x,y coordinate pairs with optional altitudes, measures, and point IDs.

IClone IConstructGeometryCollection IEnumGeometry IGeometry IGeometry2 IGeometryBag IGeometryCollection IRelationalOperator ISpatialIndex ITopologicalOperator

GeometryBag

Envelope

A geometry bag is a heterogeneous collection of points, multipoints, polylines, and polygons


ICurve

IConstructMultiPatch IGeometryCollection IHitTest IMAware IMCollection IMultiPatch IPersist IPersistStream IPointCollection IPointIDAware ITransform3D IZAware IZCollection

MultiPatch
documented with 3D geometry objects

IConstructPoint IConstructPoint2 IGeometry2 IHitTest IMAware IPersist IPersistStream IPoint IPointIDAware IProximityOperator IRelationalOperator ITopologicalOperator ITransform3D IZAware

Point
IConstructMultipoint IGeometry2 IGeometryCollection IHitTest IMAware IMCollection IMultipoint IPersist IPersistStream IPointCollection IPointCollection2 IPointIDAware IProximityOperator IRelationalOperator ISpatialIndex ITopologicalOperator ITopologicalOperator2 IZAware IZCollection

IConstructMultiPatch IGeometryCollection IHitTest IMAware IMCollection IMultiPatch IPersist IPersistStream IPointCollection IPointIDAware ITransform3D IZAware IZCollection

3D geometry
*

MultiPatch

IClone IGeometry IGeometry2 IGeometryCollection IMAware IPointCollection IPointIDAware ISupportErrorInfo ITransform2D ITriangleFan IZAware

Spatial reference
The geographic coordinate system defines a coordinate system that describes the positions of features on the earth using latitude and longitude values
IGeographicCoordinateSystem IGeographicCoordinateSystem2 IGeographicCoordinateSystemEdit IPRJSpatialReference ISRPersistStream IClone IPersist IPersistStream IESRISpatialReference ISpatialReference ISpatialReference2 ISpatialReferenceInfo ISupportedErrorInfo

IGeoTransformation

The geotransformation class specifies the methods used by all geographic transformations

GeoTransformation

The Editor gives ArcMap feature editing capabilities

TriangleFan

A triangle fan is a surface patch consisting of triangle surfaces between two consecutive points connected around a single central point

SpatialReference

The spatial reference is the base for three types of coordinate systems: projected, geogaphic, and unknown The unknown coordinate system is used when the coordinate system is not known or unavailable

IMolodenskyTransformation

The abridged Molodensky transformation uses three parameters (dX, dY, dZ) to convert between geographic coordinate systems (datums)
ICoordinateFrameTransformation

AbridgedMolodenskyTransformation

IGridTransformation

GridTransformation

Grid transformations perform accurate coordinate conversions using a grid, or matrix, of control points held in a file
IExtension

IActiveViewEvents IEditEvents IEditEvents2 IEditLayers IEditor IEditProperties IEditSketch IEditSketch2 IExtension IExtensionAccelerators IExtensionManager IPersist IPersistStream ISnapEnvironment

SnapAgent

Editor

IFeatureSnapAgent

FeatureSnap

Editor
1..*
IEditSketchExtension

Feature snap agents are a class of snap agents that help position features and the edit sketch by snapping them to other features

Point

A multipatch is a threedimensional collection of surface patches; triangle fans, triangle strips, and rings

*
IClone IGeometry IGeometry2 IGeometryCollection IMAware IPointCollection IPointIDAware ISupportErrorInfo ITransform2D ITriangleStrip IZAware

TriangleStrip

A triangle strip is a surface patch consisting of triangle surfaces between three consecutive points

GeographicCoordinateSystem

SpatialReference
IUnknownCoordinateSystem IPRJSpatialReference IProjectedCoordinateSystem IProjectedCoordinateSystem2 IProjectedCoordinateSystemEdit ISRPersistStream

Projected Coordinate System

UnknownCoordinateSystem

The coordinate frame transformation object uses seven parameters (dX, dY, dZ, rX, rY, rZ, dS) to convert between geographic coordinate systems (datums)
IGeocentricTranslation

CoordinateFrameTransformation

NADCONTransformation

The NADCON transformation is a grid-based transformation method that converts geographic coordinates between the NAD 1927 and the NAD 1983 datums

Editor extensions are additional objects that aid editing

Extension

EditSketchExtension

IAttributeWindow

Multipoint

A curve is an abstract segment-based geometry. Curves may be single segments, single paths, a collection of paths, single rings, or a collection of rings

Curve

Segments are the parametric curves between two endpoints. Segments may be linear lines or true nonlinear circular arcs, elliptic arcs, or B zier curves
ICurve2 IProximityOperator ISegment ISegmentID A circular arc is part of a ISegmentM circle. It is commonly used ISegmentZ

Geometry
Segment

Curve

An envelope is the rectangular bounding box of a geometry defined by maximum and minimum coordinate and attribute values

A multipoint is an unordered collection of points. Features with multipoint geometries represent a set of points that share a common set of attributes

IArea IRing

Ring
*

IClone IDatum IDatumEdit IESRISpatialReference IPersistStream ISpatialReferenceInfo ISupportErrorInfo

Datum

A projected coordinate system object includes a geographic coordinate system, a projection, a set of projection parameters, and a linear unit

The geocentric translation transformation uses three parameters (dX, dY, dZ) to convert between geographic coordinate systems (datums)
ILongitudeRotationTransformation ILongitudeRotationTransformationEdit

GeocentricTranslation

AttributeWindow
IConflictDisplay IConflictsWindow IConflictsWindow2

IDigitizerButtons IDigitizerSetup

DigitizerExtension
ITopoEditor

Edit sketch extensions override the default edit sketch behavior to provide a custom editing experience for specific feature classes

HARNTransformation
The attribute window is the ArcMap editor's attribute editing dialog box

ConflictsWindow

TopoEditor
The digitizer extension allows the ArcMap editor to work with a digitizing board and puck The topological editor extension enables the ArcMap editor to perform shared geometry editing
IEditSelectionCache IEditSelectionCache2

IClone IESRISpatialReference IPersistStream IProjection ISupportErrorInfo

Projection
The longitude rotation transformation converts between two prime meridians by applying a shift to the longitude values
IMolodenskyTransformation

LongitudeRotationTransformation

The HARN transformation is a highly accurate grid-based transformation method that converts geographic coordinates between the NAD1983 datum and the HARN readjustments (used in the United States)

The conflicts window is the ArcMap Conflict Resolution dialog box

IConstructPath IPath IPointCollection ISegmentCollection

Path

A path is a sequence of connected segments. Paths make up polylines

for road curb lines at street intersections

Segment
IConstructLine ILine ILine2

IArea IRing

Ring
*

ICircularArc IConstructCircularArc IConstructCircularArc2

CircularArc

Line

IEllipticArc IConstructEllipticArc

EllipticArc

IBezierCurve IConstructBezierCurve

IConstructCurve IGeometry2 IGeometryCollection IHitTest IMAware IMSegmentation IMCollection IPersist IPersistStream IPointCollection IPointIDAware IPolycurve IPolycurve2 IProximityOperator IRelationalOperator ISegmentCollection ISpatialIndex ITopologicalOperator ITopologicalOperator2 IZ IZAware IZCollection

IClone IGeometry IRay

Ray

A ray is an infinite one-dimensional line defined by an origin point and a three-dimensional direction of infinite extension from the origin
IClone ISupportErrorInfo IVector IVector3D

Vector3D

IClone IGeometry ISphere

Sphere

A sphere is a three-dimensional surface that is a specified radius from a central origin point

A 3D vector has a specific direction and magnitude, but no fixed location. A 3D vector can be used to define directions and axes

A datum represents a reference system for latitudelongitude coordinates and is defined by a spheroid and the spheroid's position relative to the center of the earth

IAngularUnit IAngularUnitEdit IClone IESRISpatialReference IPersistStream ISpatialReferenceInfo ISupportErrorInfo IUnit

AngularUnit

A projection object specifies the mathematical transformation to convert between geographic and planar coordinates

The Molodensky transformation uses three parameters (dX, dY, dZ) to convert between geographic coordinate systems (datums)

MolodenskyTransformation
ICommand ISnappingWindow ISpatialReferenceInfo

EditSelectionCache

An edit selection cache stores the selection for fast hit testing

IPositionVectorTransformation

Polycurve

A polycurve is an abstract multipart curve

The angular unit specifies the measurement units used in a geographic coordinate system

IClone IESRISpatialReference IParameter IParameterEdit IPersistStream ISpatialRerefenceInfo ISupportErrorInfo

Parameter

The position vector (Bursa-Wolf) transformation object uses seven parameters (dX, dY, dZ, rX, rY, rZ, dS) to convert between geographic coordinate systems (datums)

PositionVectorTransformation

SnappingCommand
IFeatureCache IFeatureCache2

SpatialReferenceInfo

The snapping command is the ArcMap editor's snapping window where snap agent properties are set
ISketchOperation ISketchOperation2

BezierCurve

Polycurve
IArea IPolygon IPolygon2

A ring is a closed path; the begin and endpoints are the same. Rings make up polygons
IMSegmentation2 IPolyline IPolyline2

IClone IESRISpatialReference IPersistStream ISpatialReferenceInfo ISpheroid ISpheroidEdit ISupportErrorInfo

Spheroid

The parameter can be used to define and modify the values for specific properties for a projected coordinate system

IClassFactory ISpatialReferenceFactory ISpatialReferenceFactory2 ISupportErrorInfo

Spatial ReferenceEnvironment

The spatial reference info retrieves information about a spatial reference object

SketchOperation
IObjectInspector

FeatureCache

A feature cache stores features in memory for a particular spatial extent.

Sketch operations allow edit sketch modifications to be undone


ICommand ISketchTool ITool

IESRISpatialReference

The spatial reference environment creates predefined spatial reference objects


IClone IESRISpatialReference IPersistStream IPrimeMeridian IPrimeMeridianEdit ISpatialReferenceInfo ISupportErrorInfo IClone IESRISpatialReference ILinearUnit ILinearUnitEdit IPersistStream ISpatialReferenceInfo ISupportErrorInfo IUnit

ESRISpatialReferenceInfo

SketchTool

FeatureInspector

The feature inspector is the control inside the attributes dialog box that enables attribute editing

The sketch tool is the editor's main tool for creating an edit sketch
IEditEvents2

Polyline

Polygon

A line is a straight segment between two points. Lines are used for straight constructions, such as a road segment or a parcel boundary

An elliptic arc is part of an ellipse. It is used for the geometry of a transitional feature such as a highway ramp

A B zier curve is a parametric curve defined by a set of third-order polynomials through four control points

The spheroid object models the approximate shape of the earth's surface

PrimeMeridian

LinearUnit

IClone ICompositeGeoTransformation IGeoTransformation IPersistStream ISupportErrorInfo ITransformation

CompositeGeoTransformation

The ESRI spatial reference info provides methods to import and export components to and from spatial reference objects
IGeoTransformationOperationset ISupportErrorInfo

EditEvents2

EditEvents2 enables Visual Basic developers the opportunity to respond to the events grouped under IEditEvents2 fired by the Editor object

GeoTransformationOperationSet

A polyline is an ordered collection of paths that can be disjoint or connected. Polylines are used to represent the geometry of all linear features

A polygon is a collection of rings that are partially ordered by their containment relationship. Polygons are used to represent the geometry of areal features

10

A prime meridian object specifies the line of zero longitude for the coordinates in a geographic coordinate system.

The linear unit specifies the measurement units used in a projected coordinate system.

The composite geotransformation allows you to set up a transformation path between two datums by defining two or more geotransformation objects and their associated direction

The geotransformation operation set stores a set of geographic transformation operators (a geotransformation object and its direction)

11

ESRI ArcObjects is the development platform for the ArcGIS family of applications such as ArcMap, ArcCatalog, and ArcScene. The ArcObjects software components expose the full range of functionality available in ArcInfo, ArcEditor, and ArcView to software developers.
Copyright 2001 ESRI. All right reserved. ESRI, ArcView, and the ESRI globe logo are trademarks of ESRI, registered in the United States and certain other countries; registration is pending in the European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, Street Map USA, and ArcMap are trademarks of ESRI and www.esri.com is a service mark of ESRI.

ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS professionals with a spectrum of geographic data management, spatial editing, and cartographic visualization functionality. The ArcGIS Desktop systems each contain a configuration of applications, such as ArcCatalog, ArcMap, ArcToolbox, and ArcScene, and can host a variety of extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst, and others. This object model diagram shows some of the extensions created to the ArcGIS Desktop systems. These are the ArcObjects components documented in supplemental electronic chapters of Exploring ArcObjects. You will find updates to ArcObjects developer resources at www.esri.com/arcobjectsonline.

Diagram key
Inbound interface Outbound interface

Types of Classes An abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object. A class cannot directly create objects, but objects of this class can be created as a property of another class or instantiated by objects from another class. Types of Relationships Chapter 14 3D Analyst coclass Chapter 15 StreetMap coclass Chapter 16 Geocoding coclass

Type inheritance
This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1 component objects. Software interfaces are not duplicated in the child classes. The objects to the left show a sample view of type inheritance. The objects below show a flat view of the objects with their full list of interfaces. The two views are equivalent, but the type inheritance view gives insight into the structural composition of the object model. IRowBuffer IRowBuffer 3D Analyst class StreetMap class Geocoding class

ESRI ArcGIS 8.1 Object Model


Exploring ArcObjects Supplemental extension chapters
TM

TM

abstract class

Instantiation

Type inheritance
Interface

Associations represent relationships between classes. They have defined multiplicities at both ends. Type inheritance defines specialized classes of objects that share properties and methods with the superclass and have additional properties and methods. Note that interfaces in superclasses are not duplicated in subclasses. Instantiation specifies that one object from one class has a method with which it creates an object from another class.

RowBuffer

coclass

Composition

RowBuffer
IRow IRowBuffer IRowEvents IValidate IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRow IRowBuffer IRowEvents IValidate

class

Composition is a relationship in which objects from the "whole" class control the lifetime of objects from the "part" class. An N-ary association specifies that more than two classes are associated. A diamond is placed at the intersection of the association branches. A multiplicity is a constraint on the number of objects that can be associated with another object. Association and composition relationships have multiplicities on both sides. This is the notation for multiplicities:
1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer

3D Analyst abstract class

Geocoding abstract class

Row

Association

1..*

Multiplicity

IRow IRowEvents IValidate

Row

Special Interfaces (Optional) represents interfaces that are inherited by some subclasses but not all. The subclasses list the optional interfaces they implement. (Instance) represents interfaces that are only on specific instances of the class. (<classname>) indicates the name of the helper class required to support this event interface in Visual Basic.

Feature

IFeature IFeatureBuffer IFeatureDraw IFeatureEdit

Feature

Geocoding object model


An attached locator is a copy of a locator used to create a dataset
IName IPersistStream

ArcCatalog extensions
A locator is an object that can create geometric descriptions of locations from non-spatial descriptions of locations
IGxDatabaseExtension

GxDatabaseExtension
See Chapter 7, 'Working with the Catalog'

IGxObject IGxObjectUI IGxObjectEdit

GxObject
See Chapter 7, 'Working with the Catalog'

Name
See chapter 8, 'Accessing the Geodatabase'

IAttachedLocator ISupportErrorInfo

AttachedLocator

A locator name enumerator contains an enumeration of locator name objects


IEnumLocatorName ISupportErrorInfo

IClone ILocator ILocatorDataset ISdeLocator

Locator
ILocatorUI

IRowBuffer

Geodatabase extensions
IClassExtension

A GxLocator is a GxObject that represents a locator


IGxLocator IGxDatabaseExtensionCompare IGxObjectProperties IGxPasteTarget

RowBuffer LocatorUI

ClassExtension GxGeocodingServiceExtension
A GxGeocodingServiceExtension extends ArcCatalog to display the contents of database locator workspaces

A locator name object is a lightweight object that represents a locator


IFileName ILocatorName ISupportErrorInfo

An address locator is a locator that geocodes addresses


IAddressCandidates IAddressGeocoding IAddressInputs (Optional)IIntersectionGeocoding

GxLocator

LocatorNameEnumerator

LocatorName

AddressLocator

A locator UI object provides user interfaces for locators


IAddressUI ISupportErrorInfo

ILocatorManager ISupportErrorInfo

LocatorManager

0..*
ILocatorWorkspaceName ISupportErrorInfo

An ESRI address locator is an address locator that uses the ESRI geocoding engine

AddressLocatorUI

A locator manager opens locator workspaces and returns attached locators from datasets

A locator workspace name object is a lightweight object that represents a locator workspace
ILocatorAttach ILocatorWorkspace ISupportErrorInfo

LocatorWorkspaceName

IAdvancedGeocoding IGeocodingProperties IPlaceNameAlias (Optional)IAdvancedIntersectionGeocoding

A address locator UI object provides user interfaces for address locators

IRow IRowChanges IRowCompare IRowEdit IRowEvents IrowSubtypes ISupportErrorInfo IValidate

Row

IConfirmSendRelatedObjectEvents (optional) IObjectClassExtension IObjectInspector (optional) IObjectClassDescription (optional) IObjectClassEvents (optional) IObjectClassValidation (optional) IRelatedObjectClassEvents (optional) IRelatedObjectClassEvents2 (optional)

ObjectClassExtension
See Chapter 8, 'Accessing the Geodatabase'

IGxObjectFactory

GxObjectFactory
See Chapter 7, 'Working with the Catalog'

IGxNewLocator IGxDatabaseExtensionCompare IGxObjectProperties

GxNewLocator

ESRIAddressLocator

IObject IRowSubtypes IRelatedObjectEvents

Object
See Chapter 8, 'Accessing the Geodatabase' IGeocodingIndexCompute IRelatedObjectClassEvents

LocatorWorkspace
A locator workspace stores locators and locator styles

IReferenceDataTables ISupportErrorInfo

IDatabaseLocatorWorkspace

DatabaseLocatorWorkspace

An ESRI FDO address locator is an ESRI address locator that uses feature-data-object data sources as reference data

ESRIFDOAddressLocator

Geocoding
IEnumReferenceDataTable ISupportErrorInfo

GeocodingIndexClassExtension

A geocoding index class extension in an object class extension for automatically maintained geocoding indexes

A GxNewLocator is a GxObject that can be used to create new locators in ArcCatalog


IGxObjectContainer IGxPasteTarget

GxLocatorFactory

The GxLocatorFactory extends ArcCatalog to display the contents of local locator workspaces

GxObjectContainer
See Chapter 7, 'Working with the Catalog'

ReferenceDataTableEnumerator

IFeature IFeatureBuffer IFeatureChanges IFeatureDraw IFeatureEdit IFeatureEvents IFeatureSimplify

Feature
See Chapter 8, 'Accessing the Geodatabase'

IFeatureClassExtension IFeatureClassCreation (optional) IFeatureClassDescription (optional) IFeatureClassDraw (optional) IFeatureClassEdit (optional) INetworkClassDescription (optional)

FeatureClassExtension
See Chapter 8, 'Accessing the Geodatabase'

IGxObjectFilter

GxObjectFilter
See Chapter 7, 'Working with the Catalog'

IGxLocatorFolder IGxCachedObjects IGxDatabaseExtensionCompare IGxObjectProperties

GxLocatorFolder

A database locator workspace is a locator workspace that resides in an ArcSDE database A local locator workspace is a locator workspace that resides on your local file system

IReferenceDataFile ISupportErrorInfo

ILocalLocatorWorkspace

A locator style is a template that you can use to create new locators
IClone ILocator ILocatorStyle ISupportErrorInfo

LocalLocatorWorkspace

A StreetMap address locator is an ESRI address locator that uses StreetMap data as reference data

StreetMapAddressLocator

A reference data table enumerator contains an enumeration of reference data tables used by a locator

GeocodingIndexObject Geocoded Feature


A geocoded feature is a custom feature that comprises automatically maintained feature classes

A geocoding index object is a custom object that comprises automatically maintained geocoding indexes
IGeocodedFeatureClass IRelatedClassEvents

IGxLocatorFilter

GeocodedFeatureClassExtension

GxFilterGeocodingServices

A GxFilterGeocodingServices is a GxObjectFilter that you can use to allow users to browse for geocoding services

A GxLocatorFolder contains GxObjects that represent items in a locator workspace

IReferenceDataTable IReferenceDataTableEdit ISupportErrorInfo

ReferenceDataTable

1..*

A geocoded feature class extension is a feature class extension for automatically maintaining geocoded feature classes

LocatorStyle

IEnumLocator ISupportErrorInfo

0..*

LocatorEnumerator

A locator enumerator contains an enumeration of locators

A reference data table describes a feature-data-object data source used as reference data by a locator

IPropertySet

GenericLocatorStyle

IAddressInputs IGeocodingProperties IPlaceNameAlias

ESRIAddressLocatorStyle

An ESRI address locator style is a locator style that you can use to create new ESRI address locators

IEnumReferenceDataIndex ISupportErrorInfo

ReferenceDataIndexEnumerator

IEnumReferenceDataField ISupportErrorInfo

A generic locator style is a locator style that you can use to define properties for your own custom locators
IReferenceDataTables

A reference data index enumerator contains an enumeration of reference data indexes 0..*

A reference data fields enumerator contains an enumeration of reference data fields

ReferenceDataFieldsEnumerator

ArcMap extensions
IExtension

The find address object extends the find dialog to allow users to geocode addresses
IFinder ILocatorExtensionEvents

Extension

1..*
IReference-DataField (Optional)IReferenceDataFieldEdit ISupportErrorInfo

See Chapter 3, 'Customizing the User Interface'

FindAddresses

ESRIFDOAddressLocatorStyle

IReferenceDataFile

StreetMapAddressLocatorStyle

IReference-DataIndex (Optional)IReferenceDataIndexEdit ISupportErrorInfo

ReferenceDataIndex

ReferenceDataField

An ESRI FDO address locator style is a locator style that you can use to create new ESRI FDO address locators

A StreetMap address locator style is a locator style that you can use to create new StreetMap address locators

A reference data index describes a geocoding index on a reference data table

A reference data field describes a field in a reference data table that contains address information

ILocatorExtension ILocatorExtensionEvents IPersistStream ISupportErrorInfo

LocatorExtension

IAddressFindData

AddressFindData

15

The locator extension extends ArcMap to manage a set of locators in a ArcMap document

An address find data object represents a candidate for an address found using the find dialog

3D Analyst objects
IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IObjectFactory ISxApplication IVBAApplication IWindowPosition

Tin and Raster operators


The application object represents the running ArcScene application
IDataset IFunctionalSurface IGeoDataset IMetadata IMetadataEdit INativeTypeInfo ISupportErrorInfo ISurface ITin ITinAdvanced ITinEdit ITinNodeCollection ITinSelection ITinSurface

Application
See Chapter 3, 'Customizing the User Interface'

The triangulated network object is used for surface modeling and other forms of spatial analysis

Tin

StreetStreetMap Map USA objects


IWorkspaceFactory IWorkspaceFactory2

TM

IBasicDocument IBasicDocumentDefaultSymbols IDocument ISxDocument ISxDocumentEventsDisp ISxDocumentInfo

SxDocument

SxDocument represents the scene document that can be persisted to disk Nodes are the most basic element of a TIN
ITinNode

WorkspaceFactory
See Chapter 8, 'Accessing the Geodatabase'

IGxObjectFactory IGxObjectFactoryMetadata

GxObjectFactory
See Chapter 7, 'Working with the Catalog'

IGxObject IGxObjectEdit IGxObjectUI

GxObject
IActiveViewEvents IBasicMap IPersistStream IScene ISelectionEvents

ITinTriangle

ITinEdge

A StreetMap workspace factory is a dispenser of StreetMap workspaces

Scene

The scene is a container for vector, raster and graphic data

TinNode

TinTriangle

TinEdge

IGxObjectContainer IGxPasteTarget

StreetMapNativeType

StreetMapWorkspaceFactory

GxObjectContainer

GxStreetMapFactory
IGxCachedObjects IGxDataset IGxObject IGxObjectEdit IGxObjectInternalName IGxObjectProperties IGxObjectUI IGxObjectContainer IGxThumbnail IMetadata IMetadataEdit INativeTypeInfo IObjectClassSchemaEvents

Non-graphic layers are used to view data other than primitive graphics. Examples include feature, raster, TIN, CAD, and IMS layers

Triangles are formed by connected nodes and represent areas A container for recording data and events that occur in a scene
IActiveViewEvents IDisplay3D ISceneGraph ISceneGraphEvents ISceneGraphEventsDisp ISceneRendererEvents

Edges connect nodes. They can represent linear features

IGxObjectFilter

GxObjectFilter
See Chapter 7, 'Working with the Catalog'

A GxStreetMapFactory allows ArcCatalog to create GxObjects based on StreetMap Feature classes

ILayer IGeoDataset

GxDataset
See Chapter 7, 'Working with the Catalog'

Layer

Graphics layers are used to render graphic primitives


IActiveViewEvents IGraphicsContainer3D IGraphicsLayer IGraphicsSelection ILayer ILayerEffects ILayerEvents ILayerExtensions IPersistStream ISceneRendererEvents

SceneGraph
1..*

IClone IGeoAnalysisEnvironment IRasterAnalysisEnvironment IPersist IPersistStream

RasterAnalysis

Controls analysis environment properties like extent, cellsize, mask, and output workspace

Provides support for IDW, kriging, spline interpolation

IExtension

Extension
See Chapter 3, 'Customizing the User Interface'

SceneViewers are the display windows for a scene

GxFilterStreetMapFeatureClasses

IExtensionConfig

GraphicsLayer3D
3DProperties is a layer extension that controls how a layer gets viewed in 3D. Different 3DProperties classes are implemented for different layer types
ICamera I3DProperties IDataLayerExtension IPersist IPersistStream

SceneViewer

IInterpolationOp IRasterAnalysisEnvironment ISupportErrorInfo

RasterInterpolation Op
IRasterAnalysisEnvironment IRasterMakerOp ISupportErrorInfo

StreetMapExtension

GxStreetMapDataset

RasterMakerOp

A GxFilterStreetMapFeatureClass is a GxObjectFilter that allows a GxDialog to browse StreetMap feature classes

The StreetMap extension extends an application to provide access to StreetMap data sources as feature classes

A GxStreetMapDataset is a GxObject based on a StreetMap feature class

Creates numerically constant or random rasters

Camera Basic3DProperties
The camera controls the perspective of a 3D view TM
IMathSupportOp IRasterAnalysisEnvironment

16

RasterMathSupportOp

IFeature3DProperties ICursor IFeatureCursor

Feature3DProperties

Raster3DProperties

Tin3DProperties

3D Analyst
IMessageDispatcher

Provides basic aritmetic operators such as addition, subtraction, and floating point truncation

IRasterAnalysisEnvironment IReclassOp ISupportErrorInfo

RasterReclassOp

Reclassifies rasters using tables to define categories

MessageDispatcher

14

The MessageDispatcher controls navigation ability and cancel tracking while in custom code loops

IDddEnvironment IExtension IExtensionConfig

The 3D Analyst extension object. It is used for licensing and to obtain global raster settings

DddEnvironment

IRasterAnalysisEnvironment ISupportErrorInfo ISurfaceOp

RasterSurfaceOp

Performs surface analysis such as contouring or slope derivation