Professional Documents
Culture Documents
Types of Classes
An abstract class cannot create new objects; it is a specification for
ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS Chapter 3 Chapter 4
ESRI® ArcObjects™ is the development instances of subclasses (through type inheritance.) This ArcGIS Type inheritance
software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS A coclass can directly create objects by declaring a new object. object model Framework ArcMap
This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1
platform for the ArcGIS™ family of applications professionals with a spectrum of geographic data management, spatial editing, and
Inbound interface
Outbound interface abstract Instantiation
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
diagram uses this
color code to
coclass coclass
component objects. Software interfaces are not duplicated in the child classes.
class another class. denote the The objects to the left show a sample view of type inheritance. The objects below
such as ArcMap™, ArcCatalog™, and cartographic visualization functionality. ® TM coclasses, classes, Framework ArcMap show a flat view of the objects with their full list of interfaces. The two views are
subsystems.
components expose the full range of functionality ArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety of Interface
Type inheritance defines specialized classes of objects that share
properties and methods with the superclass and have additional
Framework
abstract class
ArcMap
abstract class IRowBuffer
IRowBuffer RowBuffer
Composition properties and methods. Note that interfaces in superclasses are not
available in ArcInfo™, ArcEditor™, and extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, and coclass duplicated in subclasses. RowBuffer
Instantiation specifies that one object from one class has a method with
ArcView™ to software developers. others. which it creates an object from another class.
Chapter 5 Chapter 6 Chapter 7
IRow
Composition is a relationship in which objects from the "whole" class IRowBuffer Row
class Display Output ArcCatalog IRowEvents
control the lifetime of objects from the "part" class.
This object model diagram shows how ArcMap presents geographic information An N-ary association specifies that more than two classes are
coclass coclass coclass IRow
IRowEvents Row
IValidate
IValidate
Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and the through views and how ArcCatalog manages geodatabases. These are the Association 1..* Multiplicity
associated. A diamond is placed at the intersection of the association
branches. Display Output ArcCatalog IFeature
ESRI globe logo are trademarks of ESRI, registered in the United
States and certain other countries; registration is pending in the ArcObjects components documented in volume one of Exploring ArcObjects. A multiplicity is a constraint on the number of objects that can be class class class IFeatureBuffer
IFeatureDraw
Special Interfaces associated with another object. Association and composition relationships
European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, TM have multiplicities on both sides. This is the notation for multiplicities:
IFeatureEdit Feature
(Optional) represents interfaces that are inherited by some subclasses but not all.
You will find updates to ArcObjects developer resources at IRow
IEnumGxView IGxViewContainer
GxView-
EnumGxView Container IApplication
The printer abstract class defines the IDockableWindowManager Application
common interfaces for controlling the The GxViewContainer object permits a GxView IExtensionManager See chapter 3,
object to be a container for additional views IMultiThreadedApplication 'Customizing the user
output of data to hardcopy devices
Application IVBAApplication
IWindowPosition
interface'
IExtension Extension
An extension provides a mechanism
for extending an application
A collection of up to three templates can
IClone
IPersistStream Printer PageLayout in
ArcMap IGxSelectionEvents
GxView IExtensionAccelerators
IExtensionConfig
See chapter 3,
'Customizing the user
interface'
ITemplates be loaded in ArcMap, one in ArcCatalog. IPrinter IGxView *
IApplication GxView
IExtension
IExtensionAccelerators
Extension
IDockableWindowManager
IExtensionManager
IMultiThreadedApplication
Application
A dockable window definition is used by the
application to create a dockable window Templates Templates help you define the scope of
customization
Printer GxView is an abstract
class that represents all
GxApplication The metadata editor
IExtensionConfig IVBAApplication
IWindowPosition IDockableWindow
Dockable- IStatusBar The status bar is the horizontal area at
Framework dialog boxes Progress- IColorCorrection IArcPressPrinter
ArcPress-
possible ArcCatalog views GxPreview shows previews
of the selected object
IGxApplication
IGxCatalogAdmin
IGxCatalogEvents
IGxCatalogEventsDisp
GxApplication
IExtension
Extension
Metadata
IMetadataEditor
Metadata-
Editor
objects provide a user
interface for editing
* Window the bottom of ArcMap and ArcCatalog IAcceleratorTable
IProgressDialogFactory IEmfPrinter IArcPressPrinterDriver metadata
StatusBar Accelerator- An accelerator table Dialog- The Progress dialog box factory creates and EmfPrinter IFontMapEnvironment Printer IMetadataExport
Metadata-
that provides information about the IPersist
displays a new progress dialog box IPsDriver IColorCorrection IGxCatalogEvents Gx- IGxPreview The metadata export
current application state
IPersistStream Table contains a list of Factory IPsDriver2
PsPrinter IGxDocumentationView
Document- GxDocumentationView Application
GxPreview Export objects output a dataset's
Application is the core object that represents ArcMap or ArcCatalog accelerator keys and IGxViewPrint GxApplication
and provides access to the current state of the user interface A dockable window can the command
IPsPrinter The ArcPress printer serves as a ationView represents the metadata represents the
IConnectionPointContainer
Metadata-
metadata to a file
IDockableWindowDef ISpotPlateCollection driver for the creation of output IMetadataHelper
Dockable- exist in a floating state view in ArcCatalog running
ISupportErrorInfo identifiers associated through ArcPress
IDocument
IGxDocumentEvents
IMetadataEvents Extension
0..1 WindowDef or attached to the main with them IProgressDialog IGxDocumentEventsDisp
GxDocument ArcCatalog IPersistStream
FGDCEditor DefaultEditor
Progress- executable
ICustomizationFilter IDocument
application window * IProgressDialog2
IProgressor Dialog
A Progress dialog box displays animation and a An EMF printer serves as a driver for The PS printer is used to IArcPressPrinterDriver ArcPress- IGxCatalogEvents
IGxGeographicView
Gx-
The GxGeographic-View
Customization- Document IAccelerator
IStepProgressor
step progressor bar the creation of output through the create output through a IColorCorrection Printer- IGxGeographicView2 Geographic-
Accelerator Enhanced Windows Metafile format PostScript driver lets you preview your data Export- Export- Export-
A customization filter provides
Filter An accelerator key is The ArcPress printer driver
Driver ITransformEvents View GxDocument represents the document IEnumGxObject HTML MPHTML XML
IGxSelection
Document provides access to properties, a keyboard shortcut object in the VBA class ThisDocument Enum-
a mechanism for locking parts
of the customization
functionality in an application Document such as title and type, and contains the
Visual Basic for Applications project ICommandItem
Command to quickly execute a
common command ICoordinateDialog
Coordinate-
IFontMapEnvironment
FontMap-
supports the ArcPress printer by
setting ArcPress parameters contained in each VBA project
IGxSelectionEvents GxSelection
GxObject
Output
The Coordinate dialog box is used for getting IGxCatalogEvents GxTableView is used to
IPersist Command- Dialog Environment Export- Export-
ICommandBars Command user input in the form of x, y coordinates
IGxTableView
GxTableView
Application preview the table associated IMetadataImport
Command- A collection of command bars
IPersistStream Item with the selected object GxSelection keeps track of the items chosen in MP MPSGML Metadata- The metadata
ISupportInfo import objects add
Bars MacroItems are simple procedures the tree and tabbed views of the data IGxObjectArray Import
A command bar associated with a document GxObject-
page xx written in the Visual Basic Editor or replace metadata
definition is used by Array from an input file
A command item is an The font map environment
the command bars IGetStringDialog IGxCatalogEvents Export- Export-
element on a command bar, GetString- supports the PS printer by setting GxTreeView shows a hierarchical
collection to create a A command bar is a toolbar, The Get String dialog is used for getting user IColorCorrection IFontMapCollection IGxTreeView GxObjectArray object
Command- such as a button, tool, or Dialog font information to be used during FontMap- GxTreeView organization of your data holdings MPFAQ MPTXT
COM command bar
BarDef 1..* menubar, menu, or context menu COM input in the form of a string IPsDriver
PsDriver holds a set of GxObjects
menu item the creation of Postscript output
IPsDriver2 Collection
ICommandBar UIControl MacroItem Command
ICommandItem ISpotPlateCollection Objects in the IGxObjectFilter Import- Import-
CommandBar GxObject-
Framework
The font map collection GxContentsView is the GxContentsViewColumn MP MPTXT
The PS driver supports the PS printer IGxCatalogEvents collection represent the
Filter
IGetUserAndPasswordDialog GetUserAnd- houses the set of font maps IGxContentsView GxContents- Explorer-style iconic view
Password- The Get User and Password dialog is used for by setting general PostScript variables, used by the PS printer or IGxContentsViewColumns View available in ArcCatalog columns in the tabbed display
IMenuDef getting username and password information including color information PS exporter objects IPersistStream area of the view (when
IRootLevelMenu
Dialog Import- Import-
MenuDef ICommand * Contents is the active tab)
IShortcutMenu
ICommandSubtype * IFontMap GxFilterAnnotationFeatureClasses MPSGML XML
IUIButtonControlEvents
UIButton- (optional)
Button ISpotPlate *
COM- Document- IFontMap2 FontMap GxFilterBasicTypes
CommandBar CommandBar Control SpotPlate IGxContentsViewColumn
GxContents- The GxObjectFilter objects are used in GxFilterCadDrawingDatasets
IToolbarDef UIButtonControl acts as IListDialog
The spot plate allows for the creation IClone GxFilterCoverageAnnotationClasses
The List dialog box is used to present a list of conjunction with the GxDialog object to
ToolbarDef a button or menu item A button is a simple command that ListDialog options and allows the user to select one of the of separate plates (images) based on
IPersistStream ViewColumn limit the types of data the user can browse GxFilterDatasets
that performs a simple performs a simple task when clicked the specified color IGxObjectFactory GxFilterDatasetsAndLayers
A menu definition is used by options GxObject- when selecting objects to open or save GxFilterFeatureClasses
task when clicked A font map creates associations IGxObjectFactoryMetadata
the command bars collection GxFilterFeatureDatasets
A COM command bar A document command bar is a ICommand between TrueType fonts and Factory GxFeatureDatasetsAndFeatureClasses
to create a menu
can be written in any custom menu or toolbar created ICommandSubtype the mapped font GxObjectFactory objects help ArcCatalog GxFilterFiles
COM-compliant with the Customize dialog box
IUIComboBoxControl
UICombo- (optional)
Tool IClone generate GxObjects based on the object type
A toolbar definition is IUIComboBoxControlEvents IMessageDialog GxFilterGeodatasets
used by the command language and is BoxControl ITool Message- The Message dialog box is used to display a IPaper Paper The paper object defines the
TM GxFilterLayers
ArcCatalog
compiled as an ActiveX Dialog IPersistStream GxFilterMaps
bars collection to create
a toolbar DLL
UIComboBoxControl is a
dropdown list box control
that can be added to a toolbar
A tool acts as a button that allows further
interaction with the application display
message to the user printer and tray designations for
use with the printer object IGxObject-
FactoryEdit GxCoverage- GxMap-
IGxObject-
FactoryEdit GxTextFile-
GxFilterPointFeatureClasses
GxFilterPolygonFeatureClasses
GxFilterPolylineFeatureClasses IDllThreadManager
FindDialog
Factory Factory Factory GxFilterRasterDatasets IFindDialog FindDialog
ICommand GxFilterSpatialReference IGxSelectionEvents FindDialog provides access to
IDllThreadManager A DLL thread manager ICommandSubtype INumberDialog The CGM driver is created by the ArcCatalog’s Search dialog box
DllThread- IUIEditBoxControl ToolControl Number- GxFilterTables ISearchEngineEvents
provides access to an UIEditBox- (optional) The Number dialog box is used for getting user CGM exporter object during the GxFilterTablesAndFeatureClasses
IApplication
AppRef An application reference
object is a reference to the
Manager event that DLL thread
managers listen for
IUIEditBoxControlEvents
UIEditBoxControl is an editable
Control IToolControl
IAppROT
You can use MouseCursor
to a toolbar control that can be added to a toolbar output of map data to files
IExporter
Exporter IGxObject-
GxObjects represent individual
data items and they are what
GxFile represents any file type that has
been defined in ArcCatalog
GxMetadata represents XML files IFindDialogSettings
IQuery
IXmlQuery
FileSystem-
Query
FileSystemQuery lets you modify an
The application running IUIToolControlEvents IMultiItem The ArcPress export GxFile- GxPrjFile- appear in the tree view and the existing search’s parameters or define
IAppROTEvents
AppROT
IMouseCursor to set the system mouse UITool- IMultiItemEx Exporter ICGMDriver
FactoryPriority
object table is a global list of MouseCursor cursor to be one of the Control (optional)
MultiItem abstract class supports CGM- Factory Factory contents view a new query
all currently running ESRI the output of map data ISupportErrorInfo
standard built-in cursors
UIToolControl acts as a button Driver IGxFile IGxFile
COM-based applications or a custom cursor A MultiItem is a dynamic command to the different file IGxObjectWizard
that allows further interaction IGxObjectContainer IGxFileSetup (optional) IGxObjectInternalName GxObject-
that appears as zero or more adjacent formats of ArcPress GxMetadata
with the application display IGxPasteTarget GxObject- IGxObjectInternalName (optional)
GxFile
IMetadata Wizard ISearchEngine
menu items on a menu depending GxLayer- GxShortcut- Container IGxObjectProperties IMetadataEdit ISearchEngineEvents Search-
IComponentCategoryManager Component- The component category upon the state of the application Factory Factory IMetadata INativeTypeInfo ISearchEngineProperties Engine
IMetadataEdit
Category- manager object registers IUID
A unique identifier object IArcPressExporter
ArcPress- ICGMExporter
CGM- The CGM exporter creates output in the INativeTypeInfo
Manager components with the represents the globally IArcPressExporter-
UID IExtensionManager DescriptionEnum Exporter Exporter Computer Graphics Metafile format
component categories used unique identifier for any IExtensionManagerAdmin Extension- IGxBasicObject
by the ESRI applications COM object ISupportErrorInfo Manager IGxNewDatabase GxNew-
IArcPress- IGxObjectProperties Database
ExporterDriver ArcPress- Catalog- The CatalogSearchEngine lets you search for any
3
IBmpExporter IComPropertySheetEvents
Exporter- IDibExporter The DIB exporter creates output in the IConnectionPoint IGxFile IGxCachedObjects
Search- object that appears in ArcCatalog
IGxFile
Driver IExporter2 DibExporter Device-Independent Bitmap format IConnectionPointContainer IGxCachedObjects
IGxFolder IComPropertySheetEvents Engine
IWorldFile- IGxCatalog IGxObjectSort Search- IGxObjectInternalName IGxLayer
GxLayer GxNewDatabase is the
ArcPress- IGxCatalogEventsDisp GxCatalog IGxObjectProperties
Results SearchResults stores a query IGxObjectProperties
GxFolder IGxObjectInternalName
GxLayer represents
Settings IMetadata shortcut used to create a
ExporterJPEG IGxCatalogEvents
IMetadataEdit IMetadata IGxThumbnail layer files new remote connection
FileSystemXmlSearch
IGxFile IMetadataEdit
IGxObjectFactories ISearchResults FileSystem- Engine lets you
The ArcPress exporter driver uses INativeTypeInfo IFileSystemQuery
The EMF exporter creates output in IMetadataEdit search for file-based
ArcPress to convert a PostScript file IEmfExporter
the Microsoft Enhanced Metafile format
XmlSearch- objects stored on disk
ArcPress- to one of the supported formats EmfExporter GxFolder represents Engine
IGxCachedObjects GxRemote- GxRemoteDatabaseFolder system-level folders for which metadata
ExporterPCX GxCatalog object represents IGxObjectProperties IGxMap
IGxRemoteContainer
Database- represents only the top-level IGxMapPageLayout
has been created
your actual tree of data, as is GxMap GxMap encapsulates
The JPEG exporter creates output shown in the tree view
IGxRemoteDatabaseFolder Folder Remote Connections folder IGxDiskConnection
GxDisk-
IGxObjectInternalName
IGxThumbnail map documents
IJpegExporter in the format set by the Joint
The legend group contains a collection
Jpeg- Connection ISpatialReferenceDialog Spatial- The Spatial Reference dialog box object is a
ArcPress- Photographic Experts Group
of legend class objects IClone Exporter GxSpatialReferencesFolder ISpatialReferenceDialog2 Reference- stand-alone object used to create a new spatial
ExporterPNG
IGxFileFilter IGxCachedObjects GxSpatial-
IColor
IPersist
Color IColorBrowser
Color- IGxFileFilterEvents
GxFileFilter IGxObjectProperties
References- represents only the top level Dialog reference object
IPersistStream IGxSpatialReferencesFolder of the spatial reference When ArcCatalog starts, it
IPersistStream Browser The PS exporter creates Folder
ILegendGroup
IPersist
IPersistStream
Legend-
Group
ILegendClass
IPersist
IPersistStream
Legend-
Class Colors and ramps *
The color browser dialog box allows a color to be
selected by setting individual color properties ArcPress-
IFontMapEnvironment
GrayColor
ICieLabConversion
CieLab-
Conversion
IExporter2
ITiffExporter
IWorldFileSettings
TiffExporter
workspace within
ArcCatalog IGxDatabaseExtensions
INativeTypeInfo
IObjectClassSchemaEvents GxDataset holds a
dataset object
IFileName
IName Shortcut-
IGxObjectInternalName
GxTextFile represents text
files within ArcCatalog
SystemDialog
stand-alone object used to create a new
projected coordinate system object
IGrayColor A CIELabConversion is used to convert colors from GxDatabase- IPersistStream Name
6
IBivariateRenderer different color models to the CIELab color model Extensions within ArcCatalog IShortcutName
BiUnique- IBarrierProperties2 A gray color is defined as
GxDatabaseExtensions is a collection
Value- Proportional- object for the set of IGeographicCoordinateSystemDialog Geographic-
7
IDataExclusion IIAlgorithmicColorRamp a percentage of black IPDFDriver
A biunique value renderer combines Renderer IDataNormalization Symbol- A proportional symbol renderer draws a Algorithmic- GxDatabaseExtension objects ShortcutName is a name object IGxDialog Coordinate- The Geographic Coordinate System dialog box is
IRotationRenderer symbol of varying size for each feature. ColorRamp An algorithmic color IHlsColor PDFDriver IGxObjectFilter- GxDialog represents a browser a stand-alone object used to create a new
the symbols of a unique value IProportional-
Renderer ramp is a sequential HlsColor IColorPalette GxDatabaseExtension is an abstract class describing a GxShortcut Collection
GxDialog SystemDialog
The size is in proportion to a field value ICustomColorPalette that allows you to open and geographic coordinate system object
renderer and a class breaks renderer SymbolRenderer series of colors ColorPalette IGxDatabaseExtension whose purpose is to provide a starting IGxSelectionEvents
An HLS color is defined with hue, IGxDatabaseExtensionCompare GxDatabase- point for those developers who want to save GIS datasets.
IBarrierProperties2
lighting, and saturation components A ColorPalette displays the colors that are Extension create extensions to a GxDatabase
IMultiPartColorRamp
IBasicOverposterEvents IScaleDependent- Scale- A scale-dependent renderer is MultiPart- A multipart color
held in the current Styles on a popup menu
IChartRenderer Renderer IHsvColor
IDataExclusion Chart- Dependent- made of multiple renderers, each ColorRamp ramp is a collection
A chart renderer IDataNormalization Renderer Renderer operating within a scale range
HsvColor IColorSelector
of other color ramps An HSV Color is defined with hue, Color-
draws pie, bar, and IIdentify
stacked bar chart
IPieChartRenderer saturation, and value components Selector
IRendererFields A ColorSelector allows you to edit a
symbols based on
attributes of each
feature
IDisplayAdmin
ILevelRenderer
ILookupSymbol
IPropertySupport
Simple- A simple renderer draws
IPresetColorRamp
PresetColor-
Ramp
A preset color ramp
is a series of 13
IRgbColor
RgbColor
color according to the RGB, CMYK,
or HSV color model DataWindow
IBarrierProperties2 Renderer each feature using the specific colors
IRotationRenderer
IClassBreaksRenderer
IClassBreaksUIProperties
IDataExclusion
Class-
ISimpleRenderer
ITransparencyRenderer
same symbol An RGB color is composed of
red, green, and blue for optimum IDataWindow
IClone
IDataGraph
Application The selection environment controls
Style gallery IMapGridFactory
MapGrid-
Factory
A map grid factory
can be used to quickly
A class breaks renderer IDataNormalization Breaks- - IRandomColorRamp
Random- A random color ramp is a
series of randomized
screen display. DataWindow IDataGraphAxis
IDataGraphTicks IApplication
the application's selection behavior IPersist
IPersistStream
Selection-
IPersistStream
IStyleGallery
StyleGallery
IStyleGalleryClass
StyleGallery-
A map grid is a grid of reference
create a map grid with
default properties
can be used to draw IDataSampling Renderer ColorRamp Data windows are additional displays
IDataGraphAreaProperties IApplicationWindows ISelectionEnvironment IStyleGalleryStorage
* Class
ILevelRenderer colors within certain limits
graduated color ILevelRenderer Unique- The unique value associated with the application IDataGraphBarProperties IExtensionManager ISelectionEnvironmentLayer Environment A style gallery is a collection of
points or lines on the layout that
ILookupSymbol
ILookupSymbol renderer defines the IDataGraphColorProperties
DataGraph IDockableWindow- ISelectionEnvironmentStorage help you visually identify the
(choropleth) and IRotationRenderer Value- ISelectionEnvironmentThreshold styles. Each ArcMap document
IRotationRenderer IDataGraphHighLowCloseProperties Manager location of features on the map
symbol a feature is to CustomOverlayGridFactory
Display
graduated symbol maps has a style gallery associated with
ITransparencyRenderer Renderer be drawn with based
IDataGraphOverlayProperties IEnumPrinterNames Application
IUniqueValueRenderer IDataGraphPieProperties IMultiThreaded- IdentifyDialog is the dialog box for IIdentifyDialog
it. Using this style gallery, you can IClone GraticuleFactory
IDataExclusion on an attribute value IActiveViewEvents IDataGraphProperties Application IEnumStyleGalleryItem access the styles referenced by AreaPatchStyleGalleryClass IndexGridFactory
IDotDensityRenderer DotDensity- A map insert window IComPropertySheetEvents IPersistStream IMxApplication quickly querying data attributes IIdentifyDialog2
IdentifyDialog EnumStyle- IGraphicsComposite
IMapGrid MapGrid
A dot-density renderer draws
IDotDensityUIRenderer Renderer factory creates map IDataGraphWindow DataGraph- IObjectFactory IIdentifyDialogProps
GalleryItem that document BackgroundStyleGalleryClass IPersist
MeasuredGridFactory
varying densities of dots within
IRendererFields ICalcRendererValues Calc- inset windows IDocumentEvents Window IVBAApplication
IWindowPosition
BorderStyleGalleryClass IPersistStream
CalcRendererValues is a utility object used IPersist
polygon features Renderer-
Values
to perform simple statistical calculations on IPersistStream
Data graph windows display graphs
Data graphs represent ArcMap IExtension
*
ArcMap supports extensions that are An enumeration of style gallery
ColorRampStyleGalleryClass
ColorStyleGalleryClass MapGrid
IClone
IDisplayFilter
IPersist
Transparency-
DisplayFilter
a feature layer for use by renderers
Symbols
IClone Symbols are used for drawing
IDataWindow-
Factory MapInset-
Window- IActiveViewEvents
and ArcCatalog graphs The application object represents
the running ArcMap application
Extension automatically created when the application
starts. The ArcMap editing tools are an example IClone
Style-
items FillSymbolStyleGalleryClass
LabelStyleGalleryClass ICustomOverlayGrid
Custom- IGraphicsComposite
MapGrid-
A map grid border is
IPersistStream IPersist Factory IDocumentEvents
MapInset- of an extension IStyleGalleryItem LegendItemStylGalleryClass IMapGridBorder the set of lines that
ITransparencyDisplayFilter IPersistStream
Symbol features and elements on a map and ILensWindow Mapinset windows display a IPersist GalleryItem LinePatchStyleGalleryClass A custom overlay grid divides the OverlayGrid IPersistStream Border outline the map grid
ISymbol have attributes such as color and size IMapInsetWindow Window magnified view of the focus map
IAppDisplay IPersistStream Style items provide access to the map using lines from the data
IMapSurroundEvents IDisplay
AppDisplay IChangeLayout LineSymbolStyleGalleryClass
IPersistStream IDraw IActiveViewEvents individual map elements and source you specify
IScreenDisplay
IContentsViewEdit
IComPropertySheetEvents symbols that make up a style
MapGridStyleGalleryClass
IScreenDisplay2
IDataGraphs
IContentsView
TOCView MarkerSymbolStyleGalleryClass
IDataWindowFactory Overview- IDocument
NorthArrowStyleGalleryClass
IGraticule
IMeasuredGrid
IDocumentDirty
Marker symbols
IMapLevel
Line symbols IFillSymbol
Fill symbols I3DChartSymbol
3D chart symbols Text symbols
Window-
Factory
IActiveViewEvents
IDocumentEvents
IMapSurroundEvents
Overview-
Window Overview windows display the full
The application display helps
manage all of the displays
IDocumentDatasets
IDocumentDefault-
Symbols MxDocument
Style selectors provide you with the
means to interactively choose or
Using the style gallery coclasses, you
can create various types of style items
ScalebarStyleGalleryClass
ScaleTextStyleGalleryClass
A graticule divides the map into a
grid of meridians and parallels
Graticule
ISimpleMapGridBorder
SimpleMap-
A simple map grid
border is composed of
simple lines
IMarkerSymbol Marker- ILineSymbol
IMapLevel IChartSymbol IFormattedTextSymbol
IOverviewWindow
extent view of the focus map
present in the application IDocumentEvents edit a style item ShadowStyleGalleryClass GridBorder
IMapLevel
LineSymbol FillSymbol IMarker- 3DChart- IMapLevel
IPersistStream A table view IDocumentEventsDisp IDocumentEvents
IPropertySupport Symbol IPropertySupport IPropertySupport
BackgroundSupport Symbol IMask An text symbol defines a Font and many displays a table IDocumentInfo TOCCatalog TextSymbolStyleGalleryClass IIndexGrid
ISymbolRotation TextSymbol formatting properties of a piece of text. An overview window factory IMxDocument IComPropertySheetEvents
IMarkerSymbol IPropertySupport
creates overview windows The table of contents View IndexGrid
ISymbolArray ISimpleTextSymbol ITableWindow Table- IPersist
catalog view represents
IStyleSelector StyleSelector ICalibratedMapGridBorder Calibrated-
ISymbolRotation ITableWindow2 IPropertySupport An index grid divides the map into a
ITextSymbol Window IReportUnitFormat the Source tab in the grid for indexing
MapGrid-
A 3D chart symbol is a symbol Table windows display a table
IClone ArcMap table of contents Border
ITableControl IComPropertySheetEvents Style-
ICartographicMarkerSymbol ICartographicLineSymbol IDotDensityFillSymbol used by a chart renderer ITableControlInfo MxDocument controls the current active
Character- Cartographic- IDotDensityMasking DotDensity- A dot-density fill symbol is a data- ITableControlWidth
IStyleDialog
Manager- IMeasuredGrid
Measured- A calibrated map grid
ICharacterMarkerSymbol ILineProperties
FillSymbol TableView view that specifies whether the user is
The table of contents display IProjectedGrid
IMarkerMask MarkerSymbol LineSymbol ISymbolArray driven symbol commonly used with ITableOutput
interacting with the entire map layout or Dialog Grid border is composed
IBarChartSymbol ITableView view represents the Display tab TOCDisplay- IMapGridSelector
A cartographic line symbol has flexible the dot-density renderer. BarChart- a specific data frame in the layout MapGrid- Gives you access to the ArcMap of a graduated band
A character marker symbol is a ITableView2 in the ArcMap table of contents A measured grid divides the map into a
properties to create dot-dash patterns, Symbol IClone ITableViewTableFields View BackgroundSelector Selector Style Manager dialog box
single glyph from a TrueType font Text- grid of units in any coordinate system
decorations such as arrowheads, and ITextBackground
The bar chart symbol BorderSelector
line join and cap styles IGradientFillSymbol A gradient fill symbol is a draws a bar chart
IPersist Background The page layout is ArcMap's version of a hardcopy output IGridLabel
IMarkerMask
GradientFill- IPersistStream StyleGallery LabelStyleSelector A grid label governs the way a map
ISimpleMarkerSymbol Simple- series of colors page. A typical page layout may have a map and graphic IPersist IStyleDialog Style- IGridLabelExport
GridLabel
IHashLineSymbol Symbol LegendItemSelector IPersist grid is labeled along the borders
MarkerSymbol HashLine- A marker text background is a marker symbol elements representing a title, north arrow and legend IPersistStream
SnapGrid * References- IPersistStream
IPieChartSymbol ISnapGrid NorthArrowSelector
A simple marker symbol is a
A hash-line symbol is a series of lines
Symbol PieChart- drawn as a background to a piece of text IPersist IActiveView
ScaleBarSelector Gives you access to the ArcMap Dialog
ITextPath
square, circle, diamond, cross, or x Symbol TextPath A text path defines a The snap grid is a grid of PageLayout IActiveViewEvents The style gallery is a list of predefined Style References dialog box
running at an angle to the original line line along which a IBasicMap
items (styles) used to create maps
ScaleTextSelector
IMarkerTextBackground reference points on the IConnectionPointContainer
MarkerText- piece of text is placed ShadowSelector
IArrowMarkerSymbol ILineFillSymbol The pie chart symbol IGraphicSnap layout used to aid IDisplayAdmin
IMarkerMask Arrow- IMarkerLineSymbol LineFill- draws a pie chart Background IPageLayoutSnap
GraphicSnap element placement. The IDisplayEvents IDMSGridLabel IIndexGridTabStyle
MarkerSymbol MarkerLine- Symbol A line fill symbol is a regular ICallout IPersist
snap grid works in IGraphicsContainer The Map object is a container for vector, DMS- IndexGrid- An index grid tab style
IQueryGeometry IActiveView
series of lines at any angle Callout
An arrow marker symbol is a
triangular arrowhead
A marker line symbol is a series of marker
symbols following the path of a line
Symbol IStackedChartSymbol Stacked-
Chart-
Symbol
A callout draws a background A Bezier text path is used to
IActiveViewEvents
IConnectionPointContainer
IDisplayAdmin
IPersist
IPersistStream
IRulerSettings
Ruler-
Settings
conjunction with a grid
snap agent
IGraphicsContainerSelect
IMap
IMapBarriers
IMapBookmarks Map
raster, and graphic data. Maps reside on
the page layout and contain the geographic
data typically seen on a map
NumberFormat IClone Number format objects
A DMS grid label displays the map grid
using degrees, minutes, and seconds
GridLabel TabStyle governs the way an
index grid is labeled
behind a piece of text, with a BezierText- draw text along a curve, from IGraphicsContainer IMapEvents INumberFormat Number- convert values to text
IFillProperties leader line to an anchor point Path IGraphicsContainerSelect IMapGeographicTransformations Format IFormattedGridLabel
ICartographicMarkerSymbol IMultiLayerLineSymbol its start to endpoints
IMarkerMask Picture- ILayerVisible MultiLayer- IMarkerFillSymbol MarkerFill- A marker fill symbol is a grid of The stacked chart IGraphicSnapEnvironment PageLayout IPersist IMapEvents
strings and vice versa Formatted-
IPageEvents
IPictureMarkerSymbol MarkerSymbol ILayerColorLock LineSymbol Symbol marker symbols symbol draws a IPageLayout
Ruler settings represents IPersistStream
MapEvents Numeric format objects A formatted grid label uses a number format GridLabel IBackgroundTabStyle A background tab style
stacked bar chart IBalloonCallout GridSnap the layout rulers IRelationshipClassCollection
convert to and from to label the map grid Background- labels the index grid
A picture marker symbol is a bitmap ITextMargins Balloon- GuideSnap
IPersist
IPersist
ISelectionEvents
A multilayer line symbol is a
Callout IOverposterTextPath An overposter text path IPersistStream
IPersistStream Page IStandaloneTableCollection angle, latitude-longitude, TabStyle using square, round, or
image or enhanced metafile stack of other line symbols IChartSymbolEditor Chart- A balloon callout
Overposter- is used internally by the MarginSnap ISelectionEvents
ISnapGuides
SnapGuides ITableCollection percentages, and rate IMixedFontGridLabel rounded-square boxes
ITransformEvents ITransformEvents
ISimpleLineSymbol Symbol- draws a balloon TextPath ArcObjects label engine RulerSnap IViewManager IViewManager This object provides access to the values. IFormattedGridLabel MixedFont-
IMultiLayerMarkerSymbol SimpleLine- IMultiLayerFillSymbol
MultiLayer- A multilayer fill Snap guides are horizontal A currency format Currency- INumericFormat GridLabel
ILayerVisible MultiLayer- Symbol ILayerColorLock
symbol is a stack of Editor behind a piece of text IMapEvents outbound interface object converts Format Numeric- A mixed-font grid label displays the label in two
ILayerVisible FillSymbol and vertical lines added to The Page object Format ButtonTabStyle
ILayerColorLock
IMarkerBackgroundSupport
MarkerSymbol A simple line symbol is a solid line or one other fill symbols ILineCallout
IMarkerBackground
LineCallout
A simple text
Graphic snap agents
* the layout that aid element represents the page currency values fonts and also uses a number format
ContinuousTabStyle
A multilayer marker symbol is an ordered
IMask with predefined series of dots and dashes
IPictureLineSymbol
The chart symbol editor can be
used to allow users to edit the A line callout draws a line from
ITextMargins
SimpleText-
Path
path is used to
draw text that
follows a straight
move elements by
attempting to snap them
Page layout placement. The snap guides
work in conjunction with a
guide snap agent
of paper the layout
resides on Element
ICustomNumberFormat A button tab style labels using rectangular buttons that line the grid
RoundedTabStyle
collection, or stack, of other marker symbols PictureLine- IFillProperties
A picture fill
an anchor point to a piece of
to various objects such as IClone MapSurround SpatialBookmark CustomNum-
properties of a chart symbol or curved line. A continuous tab style labels using a continuous band around the grid
A picture line symbol draws a Symbol IPictureFillSymbol PictureFill- symbol is a grid
text, and draws a rectangular ISimpleLineCallout the snap grid IConnectionPointContainer Layer A custom number format berFormat A rounded tab style labels using rounded rectangles that line the grid
line by filling it with a tiled image Symbol of pictures
background behind the text
SimpleLine- IFrameProperties
converts a wide range of
IPercentageFormat
Percentage-
IClone
Line- Callout IPage Page
ILineDecoration
IClone
IGraphicSnap- Graphic- IPageEvents numeric formats Format
IPersist Decoration IElement
Environment
Snap- IPersist The page represents IAngleFormat
IPersistStream IPersist IPersistStream
ArcMap
IPersistStream IPersist IPersistStream
ISimpleLineDecorationElement ISymbolSelector The Symbol Selector dialog ISymbolEditor IPersistStream TM A scientific format object Format symbol appearing on
Symbol- box presents all symbols in
Symbol- The Symbol Editor dialog
converts numbers with a map
A simple line decoration element draws marker decorations Selector Editor box is used to edit the
referenced style files The font size object is used by exponent values
on the top of a line symbol, such as arrowheads
ILineDecorationEditor Line-
definition of any symbol
ArcMap to determine the
default size for new text
ITextBackgroundEditor Text-
Background-
The text background editor is a dialog
box used for editing the properties of IClone
Element Layer IActiveViewEvents
IGraphicsComposite
IMapInset
Decoration- IClassFactory The symbology environment IGeometryDraw Editor text backgrounds like a callout
IElement
Map elements represent all the IGeoDataset ILegend Legend MapInset A map inset is a magnified view of a map
ISymbologyEnvironment Symbology- ISupportErrorInfo Geometry- The geometry draw can be IElementProperties ILayer IPropertySupport
Editor Environment
controls certain details of used to draw any geometry IPersist Element graphics that can appear on a map FeatureClass in Geodatabase Layer A layer is used to display
The line decoration editor edits the
symbology display Draw IDisplayFeedback IPersistStream
IPersist IReadingDirection
properties of a line decoration to a display Display- Renderer in Display IPersistStream geographic information on a map A CAD feature layer displays a CAD
IPropertySupport
Feedback feature class from a drawing
Graphic elements are simple graphics
that can appear in a data view
ITransform2D
* *
A legend format
IClone
*
INorthArrow
on a variety of output devices Frame- Creates a feedback IFrameProperties IDataset
ICompositeLayer IClass ICadTransformations IDisplayAdmin Raster- ILegendItem The North arrow object is a base
IFrameDecoration
IGraphicsComposite
Frame decorations are adornments to on the display for Feedback Creates a feedback on the display Feedback around other elements or objects IDisplayAdmin ICompositeLayer ICompositeLayer2 IConnectionPointContainer IConnectionPointContainer IIdentify CatalogLayer ILegendItem2 LegendItem NorthArrow
Decoration frame elements, such as backgrounds, for adding a new Bezier curve A group element is a set of IDisplayFilterManager IConnectionPointContainer IDataLayer IDataLayer ILayerEffects
class for all north arrow types
IPersist moving a point on a IDataLayer IPersist
IConnectionPointContainer IPersistStream shadows, and neatlines grouped elements IDisplayRelationshipClass IDisplayAdmin IDataLayer2 IDataLayer2 IDataLayer2 CadLayer ILayerEvents Documented in IPersistStream
Bézier curve IDisplayTable IGroupLayer IDataset IDisplayAdmin ILayerDrawingProperties Legend items are the
IDelayEvents Display- IFeatureLayer IIdentify
IDisplayAdmin chapter 13,
IDisplayTransformation Trans- ICalloutFeedback INewCircleFeedback IGraphicElement IFeatureLayer2 GroupLayer IDisplayFilterManager IMSMap- IDisplayAdmin IIdentify ILayerExtensions "Integrating raster individual parts of a legend
A simple display object abstracts all IRasterOutputSettings Callout- NewCircle- IBoundsProperties Frame- A frame element is a neatline IFeatureLayerDefinition
IIdentify2
ILayer2
IIdentify
Layer IDisplayFilterManager ILayerEffects ILayerInfo data"
formation IDisplayRelationshipClass ILayerExtensions ILayerPosition
other devices that can be rendered to Simple- ITransformation Feedback Feedback IFrameElement Group- Element IFeatureLayerSelectionEvents ILayerEvents
IIdentify2
IDisplayTable ILayerInfo ILegendInfo
IGraphics-
using a Windows Device Context Display ITransformEvents
Creates a feedback on Creates a feedback on the display IFrameDraw
Element IFeatureSelection ILayerInfo
IIMSMapLayer
IFeatureLayer ILayerPosition IRasterCatalogLayer IHorizontalBar- Horizontal- Composite Marker- Marker North arrows use a
IFrameProperties ILayerDrawingProperties IMarkerNorthArrow
such as printers and metafiles
IBackground
Symbol-
IBorder
Symbol-
IShadow
Symbol- the display for a callout for adding a new circle
IGroupElement
IFind ILayerPosition ILayerEffects IFeatureLayer2 LegendItem
BarLegend- IPropertySupport
NorthArrow character marker symbol
ISymbolBackground ISymbolBorder ISymbolShadow IGeoFeatureLayer IMapLevel IFeatureLayerDefinition IVerticalLegendItem
A map frame manipulates the ILayerInfo ITransformEvents
Background Border Shadow IHotlinkContainer
ILayerPosition IFeatureSelection A CAD layer displays a Item
IScreenDisplay INewDimensionFeedback New- A marker IActiveViewEvents frame containing the map IHotlinkMacro Feature- IFind CAD drawing
Screen- ISet IConnectionPointContainer IHyperlinkContainer An overview displays the full
ITransformEvents A display transformation manages the map to Group- Dimension- element is a IBoundsProperties IDisplayAdmin IIdentify
Layer A feature layer displays
IGeoFeatureLayer
IAttributeTable IOverview map extent of a dataframe,
Display point graphic Marker- IDisplayEvents Graphics layers manage the IHotlinkContainer CadFeature- IHorizontalLegendItem
device transformation for each type of display
Creates a feedback on the Feedback Creates a feedback on the display Feedback IMarkerElement IIdentify2 data from a feature class graphics associated with a map
IHotlinkMacro
Layer
IClass
Horizontal- Overview together with a box graphic
A screen display object abstracts a normal application Element IGraphicsComposite MapFrame ILayer2 IHyperlinkContainer IConnectionPointContainer
window and implements scrolling and backing store The symbol background draws a The symbol border draws an The symbol shadow draws a display for a group of for adding new dimension shapes IGraphicsContainerProperty ILayerDrawingProperties on a map
IIdentify IDataLayer LegendItem showing the current map
background fill for a frame element outline for a frame element shadow around a frame element feedback objects IMapFrame A map surround frame ILayerEffects IIdentify2 IDataLayer2 extent
A line element is a line graphic IMapFrameEvents IAttributeTable
manipulates the frames of ILayerEvents IBarrierProperties IDimensionLayer ILayer2 IDataset
INewEnvelopeFeedback New- IMapGrids
map elements such as ILayerExtensions IBarrierProperties2 IClass ILayerDrawingProperties IDisplayAdmin
ILineMovePointFeedback LineMove- INewEnvelopeFeedback2
Envelope- ITransformEvents
North arrows and legends ILayerFields IConnectionPoint- IConnectionPointContainer ILayerEffects IDisplayRelationshipClass IHorizontalLegendItem
Nested-
IScaleText
IBoundsProperties ILayerInfo IDisplayTable INestedLegendItem IPropertySupport A scale text map
Point- Feedback IElementEditVertices
Container IDataLayer ILayerExtensions
IGeoReference LegendItem ScaleText
IClassify
Classify IRubberBand
Rubber band Creates a feedback on the
display for moving a point on a
line
Feedback
Creates a feedback on the display for
adding a new envelope ILineElement
LineElement
IGraphicsComposite
IMapFrameEvents
Map-
ILayerPosition
ILegendInfo
IObjectClassSchemaEvents
IMapLevel
IGraphicsContainer
IGraphics-
ContainerSelect
Graphics-
Layer
IDataLayer2
IDataset
IDisplayAdmin
ILayerFields
ILayerInfo
ILayerPosition
IIdentify
ILayerDrawingProperties
ILayerEffects
RasterLayer
Documented in
ITransformEvents surround is a text
element that
describes the map's
IMapSurroundEvents Surround- An OLE frame is an OLE
IGraphicsLayer IDisplayFilterManager ILegendInfo
ILayerEvents chapter 13,
Classify RubberBand INewLineFeedback
NewLine- A text element is a text graphic IMapSurroundFrame Frame
IPropertySupport IOverflow- IDisplayRelationshipClass IMapLevel
"Integrating raster IVerticalLegendItem
Legend class format objects control
scale
IDataNormalization ITransformEvents object graphic IRelationshipClassCollection GraphicsContainer IDisplayTable IObjectClassSchemaEvents ILayerExtensions
data" Vertical-
IHistogram Table- IModifyDimensionFeedback Modify- Feedback IBoundsProperties IRelationshipClassCollectionEdit ISelectionEvents IFeatureLayer IPropertySupport ILayerFields
LegendItem each legend item's presentation
ITable IRelationshipClassCollection ILayerInfo
IStatisticsResults Histogram Dimension- Creates a feedback on the display IElementEditCallout
ITableFields
IFeatureLayer2
IRelationshipClassCollectionEdit ILayerPosition
ITableHistogram A data graph element IElementEditVertices IFeatureLayerDefinition
Creates a feedback on the display Feedback for adding a new line IGroup- TextElement IOleFrame
ITableSelection IFeatureLayerSelectionEvents ITable ILegendInfo IGraphicsComposite A scale bar
manipulates the frame A table frame IFeatureSelection ITableFields IObjectClass IPropertySupport
for modifying a dimension shape SymbolElement IElementShutdown
OleFrame ILegendClassFormat graphically
A rubber circle object allows A rubber point object allows the user
INewMultiPointFeedback New- containing a graph ITextElement GraphicElement manipulates the IFind ITableSelection IRasterLayer
IRelationshipClassCollection IPersist LegendClass- IScalebar Scalebar
to input and move points on the ITransformEvents IHotlinkContainer IClone
Format IScaleMarks shows a
IClassifyMinMax
Defined- The table histogram is a data the user to input circles on Rubber- MultiPoint- frame containing IHyperlink IRelationshipClassCollectionEdit IPersistStream
RubberPoint IHotlinkMacro IPatch
Patch ITransformEvents map's scale
IIntervalRange
Interval
The defined interval classification produces classes
that are divided by regular fixed numeric increments
structure used to set data to a the display Circle display IMoveEnvelopeFeedback Move-
Creates a feedback on the display Feedback A picture element the table IPersist
IPersistStream
Hyperlink * IHyperlinkContainer Dimension-
Layer
ITable
ITableFields
IPersist
data classification Envelope- for adding a new multipoint represents Windows raster IActiveViewEvents
IIdentify IAttributeTable ITableSelection
IPersistStream
Feedback IDataGraphElement DataGraph- IAttributeTable IIdentify2 IBarrierProperties
A rubber envelope object Creates a feedback on the display or vector graphic objects IClass ILayer2
A rubber polygon object allows the
for moving an envelope
IGraphicsContainerProperty Element ITableFrame
IDataLayer ILayerDrawingProperties
IBarrierProperties2
allows the user to input and ICadDrawingLayers
Rubber- Rubber- user to input and move polygons on INewPolygonFeedback TableFrame A hyperlink displays IDataLayer2 ILayerEffects ICadTransformations
IClassifyMinMax
Equal- The equal interval classification is similar to defined interval,
move envelopes on the display
Envelope Polygon the display NewPolygon- IBoundsProperties IDataset ILayerEvents ICoverageAnnotationLayer Cad- IConnectionPointContainer
IScaleLine ISingleFillScaleBar
SingleFill-
IDoubleFillScaleBar
DoubleFill-
Feedback IFrameDraw
Picture-
linked data, such as text IDisplayAdmin ILayerExtensions ICoverageAnnotationLayer2 IDataLayer ScaleLine ScaleBar ScaleBar
Interval except that the first interval starts at the lowest value IMoveGeometryFeedback Move- Creates a feedback on the display IFrameElement IBoundsProperties files or Web pages, IDisplayFilterManager ILayerFields Annotation- IDataLayer2 A TIN layer ILinePatch
Geometry- IFrameProperties Element IFillShapeElement FillShape- A fill shape element is a ILayerInfo
IDataLayer
Layer
A rubber rectangular object for adding a new polygon IOlePictureElement Element graphic of a closed area
when you click it IDisplayRelationshipClass
ILayerPosition
IDataLayer2 IDisplayAdmin displays 3D LinePatch
IDisplayTable IFeatureLayer IDisplayFilterManager surface data
A rubber line object allows the Rubber- allows the user to input and move Creates a feedback on the display for Feedback IPictureElement IFDOAttributeConversion IMapLevel IFind IIdentify
user to input and move RubberLine Rectangular polygons, which are constrained moving a geometry by reference IPolygonMovePointFeedback Polygon- IFDOGraphicsLayer IObjectClassSchemaEvents ILayerFields ILayerDrawingProperties
Natural- The natural breaks classification produces classes which polylines on the display -Polygon to be rectangular, on the display IFeatureLayer IPropertySupport ILayerInfo ILayerEffects TinLayer Single-
Breaks highlight natural groupings by minimizing variance within MovePoint- IFeatureLayer2 IRelationshipClass- ITableFields ILayerEvents Stepped- AlternatingScaleBar
Feedback ICompositeGraphicsLayer Composite- IFeatureLayerDefinition Collection ILayerExtensions IAreaPatch Division- DoubleAlternatingScaleBar
a class and maximizing variance between classes IMoveImageFeedback Creates a feedback on the display IFeatureSelection IRelationshipClass- ILayerFields AreaPatch ScaleLine ScaleBar
IMoveImageFeedback2 MoveImage- for moving a point in a polygon
ICompositeLayer Graphics- CollectionEdit HollowScaleBar
Feedback BmpPicture- EmfPicture- ICircleElement IEllipseElement IGeoDatasetSchemaEdit
Layer
IFind ILayerInfo
IDeviationInterval
Standard- The standard deviation classification creates classes Selection tracker
ISelectionTracker
Creates a feedback on the display for
moving an image of symbolized elements IReshapeFeedback
Reshape-
Element Element Circle-
Element
Ellipse-
Element
MultiPatch-
Element
IGraphicsLayerScale IHotlinkContainer
IHotlinkMacro
IHyperlinkContainer
FDO-
Graphics-
ITable
ITableFields
ITableSelection
A CadAnnotationLayer
IAttributeTable
IBarrierProperties
IBarrierProperties2
ILayerPosition
ILegendInfo
ITableFields
ITinLayer
Deviation that represent dispersion about the mean value Selection- Selection trackers manage the or features IIdentify Layer is used to control the ICoverageAnnotationLayer
Patches are individual color Scale line scale bars are repre- Single-fill scale bars are Double-fill scale bars are symbolized
Tracker Creates a feedback on the display for Feedback IIdentify2 ICoverageAnnotationLayer2 Coverage-
handles of selected elements ILayer2 symbology of the IDataLayer boxes in a legend sented with a single line symbol symbolized using one fill symbol using two fill symbols
IMoveLineFeedback reshape A composite graphics layer ILayerEffects A dimension layer displays annotation features IDataLayer2
Annotation-
MoveLine- manages other graphics layer, but is ILayerEvents descriptive text and supporting IFeatureLayer Layer
A BMP picture element An EMF picture from a CAD layer
Creates a feedback on the display for Feedback is a Windows bitmap element is a also a graphics layer itself ILayerExtensions graphics (such as leader lines) that IFind
Quantile The quantile classification creates as close as moving a line IRectangleElement IElementEditVertices ILayerFields ILayerFields IBarrierCollection IClone Point-
possible to equal numbers of values in each class IResizeEnvelopeFeedback Resize- Windows Enhanced Rectangle- IPolygonElement Polygon- ILayerInfo are associated with map features ILayerInfo IAnnotationExpressionEngine Annotation- Barrier- IPersist
IResizeEnvelopeFeedback2
Envelope- Metafile picture Element Element ILayerPosition ITableFields ICodedValveAttributes Collection IPersistStream Placement-
ICalloutTracker IMapLevel
A coverage annotation
IPersist
Expression- A barrier collection holds a IPointPlacementPriorities Priorities
Callout- Envelope- Point- Polygon- Creates a feedback on the display for Feedback IObjectClassEvents layer displays annotation IPersistStream Engine set of geometries used as
LineTracker
5
IMovePointFeedback IObjectClassSchemaEvents from a coverage
Tracker Tracker Tracker Tracker MovePoint- resizing an envelope ISpatialBookmark An FDO graphics layer is a layer based barriers in label placement
Spatial-
Feedback IPersist
IPropertySupport
IRelationshipClassCollection on an annotation feature class in a
Labeling Point placement priorities specify
4
ITrackCancel Creates a feedback on the display for moving a IPersistStream Bookmark conflict resolution weights for labels
Cancel- point IStretchLineFeedback IRelationshipClassCollectionEdit geodatabase
placed relative to point features
Tracker StretchLine- ITable An annotation Java Script engine
ITableFields IAnnotateLayerProperties An annotation VB Script
Feedback Annotation- Annotation- specifies a label expression based LineLabel-
IAnnotateLayerPropertiesCollection Annotate-
IAnnotateLayerTransformationProperties
IAnnotateProperties
IClone
LabelEngine-
Layer-
engine specifies a label
expression based on VB Script VBScript-
Engine
JScript-
Engine
on Java Script
IClone
ILineLabelPlacementPriorities
IPersist
IPersistStream
Placement-
Priorities
Polygon- IPersist ILabelEngineLayerProperties Properties
for the user to stop a process
Feedback IAOIBookmark IFeatureBookmark IPersistStream Layer- IPersistStream IBasicOverposterLayerProperties
BasicOver-
Creates a feedback on the display for moving a IVertexFeedback AOI- Feature- Properties- IBasicOverposterLayerProperties2
polygon Vertex- Bookmark Bookmark IClone posterLayer-
A feature bookmark stores information Collection Label engine layer properties specify
An anchor point is useful for A rotate tracker manages the user A scale tracker controls the user interface Creates a feedback on the display for Feedback An area of interest is a map extent Annotate layer properties holds a set of IClone Line label position specifies the desired Basic overposter layer properties IOverposterLayerProperties
Properties Line label placement priorities specify
rotating elements and features interface for rotating features or elements for scaling features or elements you would create when zooming in about a particular feature so that it can labeling properties for a feature layer ILineLabelPosition LineLabel- label position and placement option for specify label placement and
IPersist
conflict resolution weights for labels
editing vertices of a geometry by reference labeling properties for a feature layer IPersistStream
or panning the display be quickly found again IPersist Position labels placed relative to line features conflict resolution properties placed relative to line features
IPersistStream
Diagram key
Types of Classes
ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS An abstract class cannot create new objects; it is a specification for Chapter 8 Chapter 9 Chapter 10
ESRI® ArcObjects™ is the development software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS
instances of subclasses (through type inheritance.)
A coclass can directly create objects by declaring a new object. Geodatabase Geometry Spatial Type inheritance
reference
coclass coclass This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1
platform for the ArcGIS™ family of applications professionals with a spectrum of geographic data management, spatial editing, and Inbound interface
Outbound interface abstract Instantiation
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
coclass
component objects. Software interfaces are not duplicated in the child classes.
class another class. The objects to the left show a sample view of type inheritance. The objects below
such as ArcMap™, ArcCatalog™, and cartographic visualization functionality. ® TM Geodatabase Geometry Spatial
reference show a flat view of the objects with their full list of interfaces. The two views are
IGeoDataset
IDatabaseCompact (optional) IRasterCatalogTable Raster-
IWorkspaceFactory
IDatabaseConnectionInfo (optional) CatalogTable
IWorkspaceHelper IConnectionPointLayer
IWorkspaceFactory2 Workspace- Workspace- IDataset
IDataLayer
A name object identifies and locates a database or map object IDatasetContainer
Factory
A workspace factory is a dispenser
of workspaces and allows a client
A workspace helper holds a
back-reference from a workspace
extension to a workspace
Helper
A workspace extension
extends the functionality
IName
IPersist
IPersistStream
Name
and supports methods to instantiate the actual object IFeatureWorkspace
IFeatureWorkspaceAnno (optional)
IFeatureWorkspaceManage
IFeatureWorkspaceSchemaEdit
The ArcInfoWorkspaceFactory is the
entry point to access the geodatabase
for ArcInfo coverages and tables IName A raster workspace factory can
RasterLayer
IAttributeTable
A raster catalog layer is a
special type of layer used to
display raster catalogs
IDataLayer2
IDisplayAdmin
IGeoDataset
IIdentify
to connect to a workspace IClass
Raster-
of a workspace The dataset name objects identify and IGeodatabaseRelease (optional) IWorkspaceFactory ArcInfo- Name create raster workspaces IConnectionPointContainer
ILayer
IWorkspaceExtension ISpatialCacheManager IWorkspaceFactory2 ILayerDrawingProperties Catalog-
IWorkspaceExtensionControl Workspace- locate datasets within a workspace
ISQLSyntax
Workspace- IDataLayer
ILayerEffects A raster catalog table is a
ArcInfo- OLEDB- Extension Workspace Factory IDataLayer2
ILayerEvents Layer special type of table used to
Workspace- Workspace-
ITransactions (optional)
ISupportErrorInfo Raster- IGxObjectFilter GxFilter- IDataset
ILayerExtensions
A workspace is a ITransactionsOptions (optional) IDisplayAdmin A raster layer display multiple raster
Factory Factory IWorkspace
IWorkspaceFactory
Workspace- Raster- IDisplayRelationshipClass combines raster data
ILayerInfo
datasets as a single entity
container of spatial and 0..1 IArcInfoWorkspace is used IWorkspaceFactory2 GxFilterRasterDatasets filters all non-
IDatasetName
IWorkspaceConfiguration (optional) IDataset Factory Datasets IDisplayTable and instructions to
ILayerPosition
ILegendInfo
nonspatial datasets such IWorkspaceDomains (optional) IDatasetAnalyze (optional) to create new coverages or IWorkspaceName raster datasets out from the GxBrowser IGeoDataset
A workspace name specifies IMetadata Dataset- IWorkspaceDomains2 (optional) Workspace- visualize, or render, IPersistStream
Cad-
Workspace-
Factory
Shapefile-
Workspace-
Factory
as feature classes, raster
datasets, and tables Workspace and name IWorkspaceName
IWorkspaceName2 Workspace-
Name
a workspace object and can
be used to instantiate it
IMetadataEdit
INativeTypeInfo
ISQLPrivilege
Name IWorkspaceEdit
IWorkspaceEvents
IWorkspaceExtensionManager (optional)
IDatasetEdit
IDatasetEditInfo
ISchemaLock (optional)
IVersionedObject
Dataset INFO tables
IArcInfoWorkspace
IDatabaseCompact (optional)
Name
IDataset
IRasterWorkspace Raster- A raster workspace can open
IGeoReference
IIdentify
ILayerDrawingProperties
ILayer
this data IRasterCatalogLayer
IClone
IColorSymbol
IWorkspaceProperties (optional) IVersionedObject2 IDatabaseConnectionInfo (optional) IRasterWorkspace2
Workspace ILayerEffects RasterLayer * IFillSymbol
IDatabaseCompact (optional) IWorkspaceSpatialReferenceInfo IDataset ISupportErrorInfo and create raster datasets ILayerEvents IIdentifyObj A raster identify object IMapLevel ColorSymbol
IDatasetContainer
IDatabaseConnectionInfo (optional)
IFeatureWorkspace
IWorkspace ILayerExtensions IRasterIdentifyObj Raster- allows identification of
IPersistStream
IMS- IDataset
IDatasetFileNameStat IModelInfo IFeatureWorkspaceAnno (optional)
ILayerFields
IdentifyObj
IPropertySupport
Workspace- IDatasetContainer ILayerInfo individual raster pixels in ISymbol
CadDrawing- IRasterDatasetName Raster- IObjectClassName IFeatureWorkspaceManage
Factory IFeatureWorkspace
* Name DatasetName ISupportErrorInfo
TableName IVersion IEnumConflictClass
A conflict class enumerator
IFeatureWorkspaceSchemaEdit
IDatasetName
Dataset-
IDataset
IDatasetAnalyze
ILayerPosition a dataset
IFeatureWorkspaceAnno (optional) Versioned- Enum-
IRemoteDatabase- Sde-
IFeatureWorkspaceManage
IFeatureWorkspaceSchemaEdit
IGeodatabaseRelease (optional)
IDomain
ISchemaLock
Domain
ITableName IVersionEdit
IVersionedWorkspace Workspace ConflictClass
returns all classes containing
conflicts after performing a
reconcile
IGeodatabaseRelease (optional)
ISpatialCacheManager
ISQLSyntax
Workspace
IMetadata
IMetadataEdit Name IDatasetFileStat
IGeoDataset
IGeoDatasetSchemaEdit
RasterDataset A raster is a dynamic, in-
memory representation of
ILegendInfo
IObjectClass
IPersistStream
IRasterLayer
*
A raster renderer is an abstract class A color symbol
ISpatialCacheManager IFeatureDatasetName IRelationshipClassName ITransactions (optional) A raster dataset represents an IMetadata pixels that derives from a IRelationshipClassCollection that provides the basic tools for raster object specifies a
WorkspaceFactory Workspace- A domain is used to specify the Feature- Relationship- Raster-
ISetDefaultConnectionInfo
ISetDefaultConnectionInfo2 Factory
ISQLSyntax
ITransactions (optional)
ITransactionsOptions (optional)
IWorkspace
Workspace permissible values that a field in an
object class may take
DatasetName ClassName Object-
ClassName
A versioned workspace supports
multiuser editing and multiple Versioning ITransactionsOptions (optional)
IWorkspace
IWorkspaceConfiguration (optional)
IWorkspaceDomains (optional)
existing dataset stored on disk
or in a database in a particular
raster format
IMetadataEdit
INativeTypeInfo
IRasterBandCollection
IRasterDataset
Dataset raster data source on disk IRelationshipClassCollectionEdit
ITable
ITableFields
ITableSelection
*
1..*
rendering operations color to be displayed
by a raster renderer
ILocalDatabaseCompact Access-
Workspace-
IWorkspaceConfiguration (optional)
IWorkspaceDomains (optional)
IWorkspaceDomains2 (optional) IClone
Coded-
IGeometricNetworkName Geometric-
representations of features classes and
tables in a relational database system IClass
IConflictClass
ITable Table
IWorkspaceDomains2 (optional)
IWorkspaceEdit
IWorkspaceEvents
ICoverageName
IDatasetNameFileStat
IFeatureDatasetName
Coverage-
Name
IRasterPyramid
ISupportErrorInfo
ITemporaryDataset
IGeoDataset
IRaster
IRasterAnalysisProps Raster
IDisplayAdmin
IIdentify
ILegendInfo
IPersistStream
Raster-
Renderer
RasterRenderer
ICodedValueDomain Network- TinName IWorkspaceExtensionManager (optional) INativeTypeInfo Raster
Raster
IWorkspaceEdit IWorldFileExport IRasterDisplayProps
Factory IWorkspaceEvents IPersist ValueDomain IFeature-
IEnumVersionInfo
Enum-
ITableCapabilities
IWorkspaceProperties (optional)
IRasterBandCollection A stretch renderer stretches the values
IWorkspaceExtensionManager (optional)
Name ClassName Feature- IVersionedTable
IWorkspaceSpatialReferenceInfo IDatasetName
IRasterDefaultProps IRasterRenderer
from the dataset along a color ramp
A version information enumerator VersionInfo IRasterProps
IWorkspaceProperties (optional) A coded-value domain is used ClassName IDatasetNameFileStat
IWorkspaceSpatialReferenceInfo to specify a set of permissible
values that a field may take
contains available versions for
obtaining properties ArcInfo coverage A CoverageName identifies and
locates a dataset object and
supports methods to instantiate
IMetadata
IMetadataEdit
IName
Raster-
Dataset-
Name
ISupportErrorInfo
Geodatabase
ICoverage2 An RGB renderer compositely draws three
Keyword IDatasetEditInfo IPropertySet user interface to create and manage
IFeatureDataset Feature- INativeTypeInfo Geometry-
A configuration keyword specifies a set of ISchemaLock (optional) IPropertySet2 version properties bands of a raster dataset, one to each of the
INetworkCollection Dataset IObjectClass
Proc
storage parameters in an ArcSDE database
*
Dataset IFeatureClassContainer
IRelationshipClassContainer The ArcInfoItems object is used to
manage the item set, or collection
IRasterBand
IRasterDataset
IRasterProps
RasterBand
RasterBand
red, green, and blue channels of the display A raster geometry proc can be used to perform
geometric operations, such as flip, mirror, rotate,
and polynomial warping, on a raster
IConfigurationParameter of items in an INFO table IRasterPyramid IRasterCursor
Configuration- IArcInfoTable A raster band name IRasterTable
RasterCursor IRasterEncoder
IClass IRasterTransaction ISupportErrorInfo IRasterPicture
A configuration parameter specifies a Parameter Table maintains name and IRawPixels SidEncoder IRasterSdeConnection
The IArcInfoTable interface is used ITable
other information for ISupportErrorInfo
A raster cursor is a mechanism for iterating IRasterSdeServerOperation Raster- RasterPicture
physical storage parameter for data to access and manage the items in ITableCapabilities through all of the pixel blocks in a raster
created in an ArcSDE database
IQueryDef An enumeration of IArcInfoItems a raster band ITable The Sid encoder compresses a IRasterSdeStorage SdeLoader
an INFO table ISupportErrorInfo
QueryDef IEnumIDs IDs represents a set IArcInfoItemsEdit
ArcInfoItems raster dataset into MrSID format
A query definition represents EnumIDs of object identifiers A table is a collection of rows with
IGeodataSchemaEdit
IGeoDataset a database query on one or attributes stored in columns IDatasetName IRasterColormap
GeoDataset more tables or feature classes
ICoverageFeatureClass IMetadata Raster- A raster colormap
ICoverageFeatureClass2 A raster picture is a lightweight
IFeatureClass Feature- 1..*
IMetadataEdit RasterBand- Colormap provides access to A raster defaults environment allows the A raster SDE loader
object that can be used to view some
A geodataset is a type of dataset The ICoverageFeatureClass IFeatureClassLoad
IName
Name user to customize raster default behavior creates and loads raster
Class INativeTypeInfo the colormap of a raster formats in a simple manner
that stores geographic data
Query, ISelectionSet
ISelectionSet2
SelectionSet
IClass
ITable
ITableCapabilities
Table
interface provides information
on an individual feature class of
an ArcInfo coverage
IFeatureClassWrite
IGeoDataset
INetworkClass
IArcInfoItem
IArcInfoItemEdit
ArcInfoItem
IPersistStream
IRasterBandName
raster band
IFormatData
data into an SDE database
Raster-
IDatasetContainer
IFeatureDataset
INetworkCollection
Feature- cursor, A relationship class represents
relationships through
IClone
IFields
IFields2 Fields
IClone
IIndexes
IIndexesEdit
Indexes The ArcInfoItem object represents a
IDatasetName
IName
IPersistStream SDERaster-
IRasterHistogram
Raster-
Histogram A raster histogram
IRasterDefaultsEnv
IRasterDefaultsEnv2
Raster-
DefaultsEnv
IFormatList
IFormatTest
FormatList
IPnt
IRasterRendererMaker
Renderer-
MakerDefault
Dataset
INetworkCollection2
IFeatureClassContainer
IRelationshipClassContainer
selection A selection set references a set
of rows by a selection criteria IDataset
embedded foreign keys
IFieldsEdit
IPersist
IPersist field of the INFO table, and is used to
create and manage individual fields
ISDERasterTableName
ISQLPrivilege
TableName provides access to the
histogram of a raster band
IRasterFormatInfo
DblPnt
13
ITemporaryDataset data' IObjectLoaderUI
IObjectLoaderUIProperties Object-
IClone 0..1 LoaderUI
Row, IRelatedObjectEvents
IRow
IPersistStream
IQueryFilter
IQueryFilter2
QueryFilter
Table, Attributed-
An attributed relationship
class is a table that stores
relationships. Many-to-
IClone
IGeometryDef
IGeometryDefEdit
Geometry-
Def
object,
IRowChanges
IRowCompare
IRowEdit
IRowEvents
Row object class, Relationship-
Class
many relationships can be
stored in this class
IPersist
The object loader user interface is the
same as that of the ArcMap object loader
A graph is a set of
topologically related
feature
IrowSubtypes
ISupportErrorInfo
IValidate
ISpatialFilter
SpatialFilter feature class Each table has a set of fields that describe the
data format of attributes. If a field represents a
A class helper is an intermediate object
IClassHelper
ClassHelper
IFieldChecker
feature classes An object class stores used to avoid circular references between Field-
geometry, GeometryDef specifies its particulars.
A row is a record in a table. All rows nongeographic entities
An index can be optionally specified on a field
an object class and a class extension Checker
A field checker will find potential
IDataset in a table have the same set of fields
IGraph problems in field names
IFeatureClassContainer
Graph IObject IClassSchemaEdit
A spatial filter is a query filter that 0..1
IRowSubtypes IClassSchemaEdit2
Object includes spatial and attribute constraints IEnumFieldError
A geometric network is a type of
graph that is uniquely associated
with a logical network that An object is a row in a ICursor
IModelInfo
IObjectClass
IObjectClassInfo
IObjectClassInfo2
ObjectClass
IRule
*
Rule Rules are associated with feature
classes or object classes and are
IClassExtension
Class-
Extension
Class extension A field error enumerator stores the
problems found by a field checker
Enum-
FieldError
IDatabaseCompact (optional)
IDatasetEdit represents network topology geodatabase table Cursor A cursor can iterate over ISubtypes used to validate features or objects A class extension is a way IDatabaseConnectionInfo (optional)
IGeoDataset
IGeometricNetwork
IGeometricNetworkConnectivity Geometric-
a set of rows in a table
or insert new rows
IValidation
IValidation2 Rule 0..1
for a programmer to add
class-wide customization, IFieldError
IDataset
IDatasetContainer
IFeatureWorkspace
IGeometricNetworkErrorDetection
Network IFeature
IConfirmSendRelatedObjectEvents (optional)
such as a custom form for FieldError IFeatureWorkspaceAnno (optional)
IFeatureWorkspaceManage
IMetadata IFeatureBuffer data inspection
IConnectivityRule IRelationshipRule IObjectClassExtension A field error provides information IFeatureWorkspaceSchemaEdit IExtension
IMetadataEdit IFeatureChanges Connectivity- Relationship- IExtensionAccelerators
INativeTypeInfo IFeatureDraw Feature IObjectInspector (optional)
ObjectClass- about a field problem IGeodatabaseRelease (optional) Workspace Extension
ISchemaLock A feature is a geographic IFeatureEdit
Rule Rule IObjectClassDescription (optional) ISpatialCacheManager IExtensionConfig IFlagDisplay A flag display maintains
object with a geometric shape IFeatureEvents
IFeatureCursor
Feature- IObjectClassEvents (optional) Extension ISQLSyntax IFeatureDraw
FlagDisplay the starting point for
A feature cursor IObjectClassValidation (optional) ITransactions (optional) See chapter 8,
IFeatureSimplify
Cursor references a set IRelatedObjectClassEvents (optional) ITransactionsOptions (optional) 'Accessing the traces and path findings
IRelatedObjectClassEvents2 (optional) IWorkspace Geodatabase' 0..*
Geometric network of features A feature class is a type of
object class that stores
geographic features IAttributeRule
Attribute- A relationship
An object loader appends
data to existing feature
IWorkspaceConfiguration (optional)
IWorkspaceDomains (optional)
IWorkspaceDomains2 (optional)
IDataset
IDatasetAnalyze (optional)
IDatasetEdit
Dataset
See chapter 8,
'Accessing the
rule constrains classes or tables IWorkspaceEdit IDatasetEditInfo
A feature data converter lets you Geodatabase'
IAnnotationFeature Rule the cardinality of IFeatureClassExtension IWorkspaceEvents ISchemaLock (optional)
IJunctionFlagDisplay
Annotation- IEdgeConnectivityRule Edge- IFeatureClassCreation (optional) Feature- convert data between geodatabases, IWorkspaceExtensionManager (optional) Junction- A junction flag display
IFeatureClass a relationship shapefiles, and coverages
Connectivity- IWorkspaceProperties (optional)
INetworkFeature
IDimensionFeature
Dimension-
Feature
Feature IFeatureClassLoad (optional)
IFeatureClassWrite
IGeoDataset
Feature-
Class Rule
IFeatureClassDescription (optional)
IFeatureClassDraw (optional)
IFeatureClassEdit (optional)
INetworkClassDescription (optional)
Class-
Extension
An annotation feature
IFeatureProgress
IObjectLoader Object-
IWorkspaceSpatialReferenceInfo
NetworkAnalystExt IExtension
FlagDisplay begins a trace or path
finding at a junction
Edge features
EdgeFeature IClone
Dimension-
Extension Extension An object class description
helps automate the creation
An invalid object enumerator
Object INetAttributes
INetAttributesEdit
INetElements
Network
IJunctionFeature
Junction-
Feature
represent the lines in
a geometric network.
IDimensionShape
IPersist
IPersistStream
ITransform2D
Shape A dimension shape
stores the geometry
IRelationship
*
Relationship Connectivity rules constrain which
network features can be connected A dimension class extension
manages the drawing of
IObjectClassDescription
ObjectClass-
of new object classes
represents a set of objects that
failed a data conversion process The Network object is the logical
INetSchema
INetSchemaEdit
INetTopology
Network IForwardStar
ForwardStar
A forward star returns all
the adjacent elements given
a junction and edge element.
ITraceTasks
IUtilityNetworkAnalysisExt UtilityNetwork-
AnalysisExt
INetElementBarriers
INetElementBarriers2 NetElement-
Barriers
Network element
barriers create barriers
of individual elements
Junction features represent the for a dimension dimension features IDimensionStyles
Dimension- Description network associated with a INetTopologyEdit
nodes in a geometric network
Relationship A relationship defines a IPersistStream geometric network. It represents INetwork
It is used extensively when
IFeatureElement Feature- Styles A feature class description IInvalidObjectInfo INetworkUpdate writing solvers A utility network analysis extension
general association between InvalidObject- the linear connectivity among a set
IFeatureElementEdit Element IComplexEdgeFeature
Complex- IDimensionGraphic two objects or features helps automate the creation
Info of network features
IVersionedObject2 provides trace and path finding
IComplexNetworkFeature Dimension- of new feature classes capabilities to a Utility Network ISelectionSetBarriers
EdgeFeature Graphic The dimension styles object 1..* IFeatureClassDescription Analyst toolbar Selection- Selection set barriers
ISimpleJunctionFeature Simple- ISimpleEdgeFeature manages a collection of FeatureClass- Invalid object information explains create barriers from
ISimpleNetworkFeature ISimpleNetworkFeature Simple- dimension style objects why data could not be loaded SetBarriers selected sets of features
Junction- Description IEnumNetEID
Network
EdgeFeature IEnumNetEIDBuilder EnumNet-
A simple junction Feature Attributed- 0..* IUtilityNetwork IStreetNetwork EIDArray
feature has one A complex junction A dimension graphic Relationship IClone A network class description Utility- Street-
junction element in
the logical network IComplexJunctionFeature
IComplexNetworkFeature
Complex-
feature has one to
many junction and A simple edge feature has one
A complex edge
feature has one to
many edge
draws dimensions
Simple- 0..*
IDimensionStyle
IDimensionStyleDisplay
IDimensionStyleText
Dimension-
Style INetworkClassDescription Network-
helps automate the creation
of new network feature
Network Network
ITraceTask
0..* TraceTask
IFeatureConnect Junction- edge elements in edge element in the logical elements in the Relationship IPersistStream Class- classes ITraceTaskResults
IFeatureSnap Feature the logical network network INetSolver TraceTask A trace task executes a defined
logical network Description INetSolverWeights
An attributed relationship stores A simple relationship represents NetSolver trace or path-finding routine
attributes on a relationship and also
represents many-to-many relationships
one-to-one or one-to-many
relationships without attributes
A dimension style defines
properties for controlling the
symbology of dimensions IDataset
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
A network solver defines the trace
environment before executing one
NetSolver
IDatasetAnalyze (optional) of the trace methods from the trace
IDatasetEdit Dataset flow solver
A route measure event geoprocessor IDatasetEditInfo ITracePathTaskResults Find- ITracePathTaskResults FindPath- The find path upstream task
ISchemaLock (optional) INetworkLoader Accumulation- Upstream-
facilitates event overlay, dissolve, and ISupportErrorInfo finds the optimal path based on
concatenation
INetworkLoader2 Network- A network loader creates a ITraceFlowSolver TraceFlow- The find accumulation task Task Task elements flowing upstream
INetworkLoaderProgress
IDataset IClass ILocator INetworkLoaderProps
Loader geometric network along with ITraceFlowSolver2 Solver finds the accumulated cost of
Relationship- its logical network
IMetadata
IMetadataEdit
GxObject,
Name,
ISynchronizationHelper FGDC- The FGDC synchronization helper
helps translate dataset properties into
IRelationshipClass
IRelationshipClass2 Class On-the-fly table joins IDataset
ITable
Table IRouteMeasure-
EventGeoprocessor
ISupportErrorInfo
Route-
Measure-
IClass
ITable
ITableCapabilities
Table
ILocatorFullName
Locator ISupportErrorInfo
A trace flow solver performs tracing
operations on a logical network
an upstream trace
Find- Trace- The trace downstream task
finds all elements that can be
Synchroni- metadata properties
ISelectionSet A locator knows how to transform
The find ancestors task finds the Ancestors- Downstream-
Dataset, TIN, zationHelper ISelectionSet2
SelectionSet Geoprocessor a spatial description into a shape A network weight is used to reached in a downstream
Task Task
Geometric-
Network, Memory- Dynamic IRouteLocator Route-
INetWeight
INetWeightEdit
NetWeight limit tracing in a network and
denote the cost of tracing NetFlag
common ancestors in an upstream
trace from two or more flags
flow from the current flags
8 12
Properties
IObjectClass
IObjectClassInfo ObjectClass IFeatureClassName
relationship classes that exist TableFactory ISupportErrorInfo
IXYEventProperties
XY events IXYEventSource
IFeatureBuffer (optional)
IFeatureDraw (optional)
IObject
RelQueryRow
Properties Name
Editing in
with features dynamically generated from in a RelQueryTable LineLocation
coordinates in a table
IRelQueryTableName IRelationshipClassName ILocatorName
RelQuery- Relationship- IDatasetName
TableName ClassName LocatorName DatasetName
A RelQueryTable name is an object that
IClone XYEvent2- represents a RelQueryTable. A RelQueryTable
IPersistStream
ISupportErrorInfo
Fields- An XYEvent2FieldsProperties specifies the fields needed to generate geometry for can be created from a RelQueryTable name
A route measure locator name
IXYEvent2FieldsProperties Properties refers to a route measure locator
an XYEventSource where at least two fields are required A route event
IMemoryRelationshipClassName Memory- source name object
Route- TM
ArcMap
IRouteLocatorName IFeatureClassName
Relationship- refers to a route
IPersistStream
Measure- IPersistStream RouteEvent- event source
A memory relationship class name is an object that represents ISupportErrorInfo
ClassName LocatorName IRouteEventSourceName SourceName Snap agents aid in
a memory relationship class. A memory relationship class can ISupportErrorInfo positioning geometries
be created from a memory relationship class name
IClone
Transformation Edit tasks perform a
specific operation
by snapping them to
other geometries
IPersistStream using the edit sketch 1..*
IAffineTransformation2D Transformation
A geometry environment is a IAffineTransformation2D2 AffineTrans- ISupportErrorInfo Transformations are used by 1..*
ISnapAgent
singleton object that stores global IClone ITransformation spatial reference and geometry
ISupportErrorInfo
formation2D transformation objects
IEditTask IActiveViewEvents SnapAgent
variables used by other geometry IClone EditTask IEditEvents
ITransformation
objects. It lets you create IGeometry IEditEvents2
ITransform2D
Geometry IEditLayers
Spatial reference
geometry objects from different IEditor
IConstructAngle ISupportErrorInfo IGeoTransformation
kinds of input IGeometryCollection A geometry collection is a collection A 2D affine transformation Geo- IEditProperties
IConstructDomainExtent A feature is associated with one of Geometry-
IEncode3DProperties these types of geometry: points, Collection
of part geometries used to construct defines a two-dimensional affine The geotransformation class Transformation The Editor gives ArcMap IEditSketch
IEditSketch2
Editor IFeatureSnapAgent
Geometry- a single high-level geometry feature editing capabilities
IExtrude
IGeometryEnvironment
IGeometryEnvironment2
IGeometryFactory
Environment
multipoints, polylines, or polygons. transformation matrix and is used
to create an arbitrary two-
dimensional transformation
IConstructMultiPatch
IGeometryCollection
3D geometry IClone
specifies the methods used by
all geographic transformations
IExtension
IExtensionAccelerators
IExtensionManager
FeatureSnap Feature snap agents are
a class of snap agents
IClone IHitTest IPersist that help position
IGeometryFactory2 * IPersist The spatial reference is the base for three types of coordinate IPersistStream
IGeometry A point is a zero-dimensional IMAware Grid transformations perform features and the edit
ISupportErrorInfo
ITransform2D
ISupportErrorInfo
Geometry
geometry. Points are defined with IMCollection
IMultiPatch
IClone
IGeometry A triangle fan is a surface
IPersistStream
IESRISpatialReference Spatial-
systems: projected, geogaphic, and unknown
IMolodenskyTransformation Abridged- IGridTransformation
Grid-
accurate coordinate conversions ISnapEnvironment
Editor sketch by snapping
IGeographicCoordinateSystem
IGeographicCoordinateSystem2 Geographic-
SpatialReference IUnknownCoordinateSystem Unknown-
The coordinate frame transformation object uses seven
parameters (dX, dY, dZ, rX, rY, rZ, dS) to convert
Frame-
Transformation
NADCON-
Transformation
transformation method that
converts geographic
coordinates between the
objects that aid editing
override the default
edit sketch behavior to
IGeometryCollection Envelope IPersist dimensional collection of provide a custom
IMAware IMultiPatch
IPersistStream
IGeometry2 IClone IGeographicCoordinateSystemEdit Coordinate- Coordinate- between geographic coordinate systems (datums) NAD 1927 and the NAD 1983
IRelationalOperator
IPersist IPersist documented with Point IGeometryCollection surface patches; triangle fans,
IGeometry A triangle strip is a IPRJSpatialReference System datums editing experience for
ISpatialIndex IPersistStream IPersistStream 3D geometry IPoint IHitTest triangle strips, and rings IGeometry2 ISRPersistStream IPRJSpatialReference Projected System IAttributeWindow IDigitizerButtons specific feature classes
ITopologicalOperator IPointCollection objects IPointIDAware surface patch consisting of Attribute-
IProximityOperator
IPointIDAware IProximityOperator
IMAware
IMCollection
IGeometryCollection
triangle surfaces between
IProjectedCoordinateSystem
Coordinate IGeocentricTranslation IDigitizerSetup Digitizer-
IRelationalOperator
IRelationalOperator IMAware Triangle- IProjectedCoordinateSystem2 Geocentric- Window Extension
IZAware ITransform3D
ITopologicalOperator
IMultipoint IPointCollection
Strip three consecutive points IProjectedCoordinateSystemEdit System Translation
A geometry bag is a
IZAware
ITransform3D
IPersist IPointIDAware ISRPersistStream The geocentric translation transformation uses three HARN-
IZCollection IPersistStream
heterogeneous collection of IZAware IPointCollection Multipoint ISupportErrorInfo parameters (dX, dY, dZ) to convert between geographic Transformation IConflictDisplay ITopoEditor
ITransform2D IClone A projected coordinate system
points, multipoints, polylines, IPointCollection2 ITriangleStrip IDatum
coordinate systems (datums) IConflictsWindow Conflicts- TopoEditor
IPointIDAware object includes a geographic The attribute window is
and polygons IProximityOperator
IZAware IDatumEdit IConflictsWindow2 Window The digitizer extension allows
IESRI- coordinate system, a the ArcMap editor's
A multipoint is an unordered collection of points. IRelationalOperator SpatialReference Datum projection, a set of projection IClone
ILongitudeRotationTransformation Longitude- the ArcMap editor to work with
ILongitudeRotationTransformationEdit attribute editing dialog box
ICurve
An envelope is the rectangular Features with multipoint geometries represent a set ISpatialIndex IPersistStream parameters, and a linear unit IESRISpatialReference Rotation- The HARN transformation is a highly accurate
a digitizing board and puck
Curve of points that share a common set of attributes
ITopologicalOperator IArea ISpatial- IPersistStream Projection Transformation grid-based transformation method that
A curve is an abstract segment-based bounding box of a geometry defined ITopologicalOperator2 IRing ReferenceInfo IProjection The longitude rotation transformation converts between two
IZAware Ring converts geographic coordinates between the The conflicts window is
geometry. Curves may be single by maximum and minimum ISupportErrorInfo ISupportErrorInfo prime meridians by applying a shift to the longitude values The topological editor extension
IZCollection NAD1983 datum and the HARN the ArcMap Conflict
coordinate and attribute values enables the ArcMap editor to
segments, single paths, a collection of
paths, single rings, or a collection of rings Curve IClone
A ray is an infinite one-dimensional
*
IAngularUnit
A projection object specifies the mathematical IMolodenskyTransformation
Molodensky-
readjustments (used in the United States) Resolution dialog box perform shared geometry editing
Geometry
line defined by an origin point and a IAngularUnitEdit
IGeometry
Ray A datum represents a IClone transformation to convert between geographic
IRay three-dimensional direction of reference system for latitude- Transformation IEditSelectionCache Edit-
IConstructPath IConstructCurve
infinite extension from the origin
IESRISpatialReference AngularUnit and planar coordinates The Molodensky transformation uses three parameters (dX, dY,
IEditSelectionCache2
IPath IGeometry2 longitude coordinates and is IPersistStream Selection- An edit selection cache stores the
Segments are the parametric IPointCollection
Path *
IGeometryCollection
A 3D vector has a specific ISpatialReferenceInfo
dZ) to convert between geographic coordinate systems (datums)
IClone defined by a spheroid and the Cache selection for fast hit testing
curves between two endpoints. ISegmentCollection IHitTest ISupportErrorInfo direction and magnitude, but ISupportErrorInfo
IMAware Vector3D no fixed location. A 3D vector spheroid's position relative to IUnit ICommand
Segments may be linear lines or
IMSegmentation
IVector
IVector3D the center of the earth IPositionVectorTransformation ISnappingWindow Snapping-
IClone A sphere is a three-dimensional can be used to define
true nonlinear circular arcs, IMCollection IGeometry
PositionVector- Command
elliptic arcs, or Bézier curves IPersist ISphere
Sphere surface that is a specified radius directions and axes IClone
Transformation ISpatialReferenceInfo Spatial- The snapping command is the ArcMap editor's
IPersistStream from a central origin point The angular unit specifies the IESRISpatialReference The position vector (Bursa-Wolf) transformation object uses seven
snapping window where snap agent properties are set
A path is a sequence of IPointCollection measurement units used in a IParameter parameters (dX, dY, dZ, rX, rY, rZ, dS) to convert between Reference- IFeatureCache
Feature- A feature cache stores features in
connected segments. A polycurve is an abstract IParameterEdit Parameter Info IFeatureCache2
ICurve2 IPointIDAware
IPolycurve
Polycurve multipart curve
geographic coordinate system IPersistStream geographic coordinate systems (datums)
ISketchOperation Cache memory for a particular spatial
IProximityOperator Paths make up polylines
IPolycurve2 ISpatialRerefenceInfo ISketchOperation2 Sketch- extent.
ISegment
ISegmentID
Segment IProximityOperator ISupportErrorInfo
Operation
A circular arc is part of a The spatial reference info retrieves
circle. It is commonly used
for road curb lines at
ISegmentM
ISegmentZ Segment IArea
IRing *
IRelationalOperator
ISegmentCollection
ISpatialIndex
IClone The parameter can be used to
IClassFactory
ISpatialReferenceFactory
ISpatialReferenceFactory2
Spatial
Reference-
information about a spatial reference object Sketch operations allow edit sketch
modifications to be undone
street intersections Ring ITopologicalOperator
ISupportErrorInfo Environment IObjectInspector
ITopologicalOperator2 IESRISpatialReference
IPersistStream
define and modify the values for ICommand Feature- The feature inspector is the
IZ ISketchTool control inside the attributes dialog
Spheroid specific properties for a projected SketchTool Inspector
ICircularArc
IConstruct-
CircularArc
IConstructLine
ILine
Line
IEllipticArc
IConstruct-
EllipticArc
IBezierCurve
IConstruct-
BezierCurve
*
IZAware
IZCollection
Polycurve ISpatialReferenceInfo
ISpheroid
ISpheroidEdit
ISupportErrorInfo
coordinate system
CircularArc ILine2 EllipticArc BezierCurve A ring is a closed path; the tool for creating an edit sketch
IConstruct- reference objects
begin and endpoints are the EditEvents2 enables Visual Basic
CircularArc2
same. Rings make up polygons IClone IClone The ESRI spatial reference info provides methods to import IEditEvents2 developers the opportunity to
IMSegmentation2 IArea
IPolyline IPolygon The spheroid object models the IESRISpatialReference IESRISpatialReference
IClone and export components to and from spatial reference objects EditEvents2 respond to the events grouped
IPolyline2
Polyline IPolygon2
Polygon approximate shape of the earth's surface IPersistStream Prime- ILinearUnit
ICompositeGeoTransformation Composite- under IEditEvents2 fired by the
A line is a straight segment An elliptic arc is part of an A Bézier curve is a IPrimeMeridian
Meridian ILinearUnitEdit LinearUnit IGeoTransformation Geo- Editor object
IPrimeMeridianEdit IPersistStream
between two points. Lines ellipse. It is used for the parametric curve defined IPersistStream
by a set of third-order
ISpatialReferenceInfo ISpatialReferenceInfo
ISupportErrorInfo
Transformation IGeoTransformationOperationset
ISupportErrorInfo
Geo-
are used for straight geometry of a transitional ISupportErrorInfo ISupportErrorInfo
Transformation-
9 11
polynomials through four IUnit ITransformation
constructions, such as a feature such as a highway ramp
road segment or a parcel control points OperationSet
10
boundary A polyline is an ordered collection of paths that can be A polygon is a collection of rings that are partially A prime meridian object
disjoint or connected. Polylines are used to represent ordered by their containment relationship. Polygons specifies the line of zero The composite geotransformation allows you to set up a
The linear unit specifies the transformation path between two datums by defining
the geometry of all linear features are used to represent the geometry of areal features longitude for the coordinates in The geotransformation operation set stores a set
measurement units used in a two or more geotransformation objects and their
a geographic coordinate system. projected coordinate system. of geographic transformation operators (a
associated direction
geotransformation object and its direction)
Diagram key
Types of Classes
ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS An abstract class cannot create new objects; it is a specification for
ESRI® ArcObjects™ is the development software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS
instances of subclasses (through type inheritance.)
A coclass can directly create objects by declaring a new object.
Type inheritance
platform for the ArcGIS™ family of applications professionals with a spectrum of geographic data management, spatial editing, and Inbound interface
Outbound interface abstract Instantiation
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
This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1
component objects. Software interfaces are not duplicated in the child classes.
class another class.
such as ArcMap™, ArcCatalog™, and cartographic visualization functionality. ® TM 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
ArcCatalog extensions
Geocoding object model A locator is an object that can
create geometric descriptions of
IGxDatabase-
Extension GxDatabase-
IGxObject
IGxObjectUI
IGxObjectEdit
GxObject
See Chapter 7,
'Working with the
An attached locator is a copy of a locations from non-spatial Extension Catalog'
See Chapter 7,
locator used to create a dataset
IName
IPersistStream
Name
See chapter 8,
IClone
descriptions of locations
IRowBuffer
Geodatabase extensions IClassExtension
'Working with the
Catalog'
A GxLocator is a GxObject
that represents a locator
'Accessing the ILocator
Locator Class-
IAttachedLocator Geodatabase' ILocatorDataset RowBuffer Extension
ISupportErrorInfo Attached- ISdeLocator IGxLocator
A locator name
Locator enumerator contains ILocatorUI GxGeocoding- A IGxDatabase-
GxLocator
A locator name object is An address locator is a locator ExtensionCompare
an enumeration of a lightweight object that LocatorUI Service- GxGeocodingServiceExtension IGxObjectProperties
that geocodes addresses extends ArcCatalog to display
locator name objects represents a locator Extension IGxPasteTarget
A locator UI object provides IRow the contents of database locator
IAddressCandidates user interfaces for locators IConfirmSendRelatedObjectEvents (optional)
IRowChanges workspaces
IAddressGeocoding Address- IRowCompare IObjectClassExtension ObjectClass- IGxNewLocator
IEnumLocatorName
LocatorName-
IFileName IAddressInputs
Locator IRowEdit Row
IObjectInspector (optional)
Extension
IGxDatabase- GxNew-
ISupportErrorInfo ILocatorName
LocatorName (Optional)IIntersection- IRowEvents
IObjectClassDescription (optional) IGxObjectFactory GxObject- ExtensionCompare
Locator
Enumerator ISupportErrorInfo Geocoding IAddressUI
Address- IrowSubtypes IObjectClassEvents (optional) See Chapter 8,
'Accessing the Factory IGxObjectProperties
ISupportErrorInfo IObjectClassValidation (optional)
ISupportErrorInfo Geodatabase' See Chapter 7,
ILocatorManager
Locator- 0..* An ESRI address locator is an address LocatorUI IValidate
IRelatedObjectClassEvents (optional)
'Working with the A GxNewLocator is a GxObject
ISupportErrorInfo A address locator UI object IRelatedObjectClassEvents2 (optional)
locator that uses the ESRI geocoding engine Catalog' that can be used to create new
Manager provides user interfaces for
ILocator- locators in ArcCatalog
WorkspaceName Locator- address locators A geocoding index class
IAdvancedGeocoding
ISupportErrorInfo IGeocodingProperties ESRIAddress- Object extension in an object class
Workspace- IPlaceNameAlias
IObject
extension for automatically IGxObjectContainer GxObject-
IRowSubtypes
A locator manager opens Name Locator See Chapter 8,
IGxPasteTarget Container
locator workspaces and returns A locator workspace name object is (Optional)IAdvanced- IRelatedObjectEvents 'Accessing the maintained geocoding indexes GxLocator- The GxLocatorFactory extends
a lightweight object that represents
IntersectionGeocoding Geodatabase' IGeocodingIndexCompute Geocoding- Factory ArcCatalog to display the contents
See Chapter 7,
attached locators from datasets
Geocoding
IRelatedObjectClassEvents 'Working with the
a locator workspace IndexClass- of local locator workspaces Catalog'
Extension
ILocatorAttach
ILocatorWorkspace Locator-
ISupportErrorInfo Workspace IReferenceDataTables ESRIFDO- IFeature IFeatureClassExtension Feature- IGxObjectFilter GxObject- IGxLocatorFolder
ISupportErrorInfo
Address- IFeatureBuffer
Feature IFeatureClassCreation (optional)
Class- Filter IGxCachedObjects GxLocator-
IFeatureChanges IFeatureClassDescription (optional) IGxDatabase-
Locator IEnumReferenceDataTable Reference- IFeatureDraw See Chapter 8,
IFeatureClassDraw (optional) Extension See Chapter 7,
ExtensionCompare
Folder
A locator workspace stores An ESRI FDO address locator is ISupportErrorInfo 'Accessing the 'Working with the
locators and locator styles an ESRI address locator that
DataTable- IFeatureEdit Geodatabase' IFeatureClassEdit (optional) See Chapter 8, Catalog' IGxObjectProperties
IFeatureEvents INetworkClassDescription (optional) 'Accessing the
IDatabase- uses feature-data-object data Enumerator IFeatureSimplify Geodatabase'
LocatorWorkspace Database- sources as reference data IReferenceDataFile StreetMap- Geocoding- A GxLocatorFolder contains
A geocoding index object is a custom
Locator- A database locator workspace ISupportErrorInfo
Address- IndexObject object that comprises automatically
GxObjects that represent
Workspace A reference data table IGxLocatorFilter GxFilter- A GxFilterGeocodingServices is a items in a locator workspace
is a locator workspace that Locator enumerator contains an maintained geocoding indexes Geocoding-
resides in an ArcSDE database A StreetMap address locator is Geocoded GxObjectFilter that you can use to allow
an ESRI address locator that uses enumeration of reference
IGeocodedFeatureClass Geocoded- Services users to browse for geocoding services
data tables used by a locator Feature IRelatedClassEvents
ILocalLocator-
StreetMap data as reference data FeatureClass-
Workspace LocalLocator- A local locator workspace is a
Extension
A locator style is a Workspace locator workspace that resides
on your local file system IReferenceDataTable A geocoded feature is a custom A geocoded feature class extension is a
template that you can use IReferenceDataTableEdit Reference- 1..*
feature that comprises feature class extension for
to create new locators ISupportErrorInfo DataTable
automatically maintained feature automatically maintaining geocoded
classes feature classes
IClone IEnumLocator A reference data table describes a
ILocator ISupportErrorInfo Locator- A locator enumerator
ILocatorStyle
LocatorStyle Enumerator contains an enumeration feature-data-object data source
ISupportErrorInfo 0..* of locators used as reference data by a locator
15
3D Analyst objects IApplication
Tin and Raster operators IDataset
IDockableWindowManager The application object represents IFunctionalSurface
IExtensionManager Application the running ArcScene application IGeoDataset The triangulated network object
IMultiThreadedApplication See Chapter 3, IMetadata is used for surface modeling and
IObjectFactory 'Customizing the User IMetadataEdit other forms of spatial analysis
ISxApplication Interface' INativeTypeInfo
IVBAApplication ISupportErrorInfo Tin
IWindowPosition ISurface
ITin
TM ITinAdvanced
StreetStreetMap
Map USA
ITinEdit
ITinNodeCollection
SxDocument represents the scene ITinSelection
IBasicDocument ITinSurface
IBasicDocumentDefaultSymbols document that can be persisted to disk
IDocument Sx-
ISxDocument Document Nodes are the most
ISxDocumentEventsDisp
objects IGxObject
IGxObjectEdit
ISxDocumentInfo basic element of a TIN
16
perspective of a 3D view Provides basic aritmetic operators
such as addition, subtraction, and
TM floating point truncation IRasterAnalysis-
3D Analyst
Environment
IReclassOp Raster- Reclassifies rasters using
IFeature3DProperties
ICursor Feature3D- Raster3D- Tin3D- ISupportErrorInfo ReclassOp tables to define categories
IFeatureCursor Properties Properties Properties The 3D Analyst extension
object. It is used for licensing
IMessageDispatcher and to obtain global raster IRasterAnalysis-
Message- settings Environment
Dispatcher IDddEnvironment ISupportErrorInfo Raster-
IExtension Ddd- ISurfaceOp SurfaceOp
The MessageDispatcher controls IExtensionConfig Environment
14
navigation ability and cancel tracking
while in custom code loops Performs surface analysis such as
contouring or slope derivation