76
5 4
3
Types of Classes
An abstract class cannot create new objects; it is a specification forinstances of subclasses (through type inheritance.)
A coclass can directly create objects by declaring a new object.
A class cannot directly create objects, but objects of this class can becreated as a property of another class or instantiated by objects fromanother class.
Types of Relationships
Associations represent relationships between classes. They have definedmultiplicities at both ends.
Type inheritance defines specialized classes of objects that shareproperties and methods with the superclass and have additionalproperties and methods. Note that interfaces in superclasses are notduplicated in subclasses.
Instantiation specifies that one object from one class has a method withwhich it creates an object from another class.
Composition is a relationship in which objects from the "whole" classcontrol the lifetime of objects from the "part" class.
An N-ary association specifies that more than two classes areassociated. A diamond is placed at the intersection of the associationbranches.
A multiplicity is a constraint on the number of objects that can beassociated with another object. Association and composition relationshipshave multiplicities on both sides. This is the notation for multiplicities: 1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer
Special Interfaces(Optional) represents interfaces that are inherited by some subclasses but not all.The subclasses list the optional interfaces they implement.(Instance) represents interfaces that are only on specific instances of the class.(<classname>) indicates the name of the helper class required to support thisevent interface in Visual Basic.
Type inheritanceThis diagram illustrates the implicit type inheritance model in the ArcGIS 8.1component objects. Software interfaces are not duplicated in the child classes.
The objects to the left show a sample view of type inheritance. The objects belowshow a flat view of the objects with their full list of interfaces. The two views areequivalent, but the type inheritance view gives insight into the structuralcomposition of the object model.
Row
Feature
RowBuffer
IRowIRowEvents
IValidate
IFeatureIFeatureBufferIFeatureDraw
IFeatureEdit
IRowBuffer
Row
Feature
IRowIRowBuffer
IRowEventsIValidate
IFeatureIFeatureBufferIFeatureDraw
IFeatureEditIRow
IRowBufferIRowEvents
IValidate
RowBufferIRowBuffer
ArcMapcoclass
ArcMapabstract class
ArcMapclass
ArcCatalogcoclass
ArcCatalogabstract class
Frameworkcoclass
Frameworkabstract class
Displaycoclass
Displayabstract class
Outputcoclass
Outputabstract class
ArcCatalogclass
Frameworkclass
Displayclass
Outputclass
This ArcGISobject model
diagram uses thiscolor code to
denote thecoclasses, classes,
and abstractclasses in the
ArcObjectssubsystems.
Chapter 7Chapter 6Chapter 5
Chapter 4Chapter 3Diagram keyabstract
class
Inbound interfaceOutbound interface
Type inheritance
Instantiation
Association
Composition
1..* Multiplicity
class
coclassInterface
Output
PaperICloneIPaper
IPersistStream
FontMap-Environment
IFontMapEnvironment
PageLayout inArcMap
*
Printer
The font map environmentsupports the PS printer by setting
font information to be used duringthe creation of Postscript output
The PS driver supports the PS printerby setting general PostScript variables,
including color information
The spot plate allows for the creationof separate plates (images) based on
the specified color
An EMF printer serves as a driver forthe creation of output through the
Enhanced Windows Metafile format
PrinterIClone
IPersistStreamIPrinter
EmfPrinterIEmfPrinter ArcPress-
Printer
IArcPressPrinterIArcPressPrinterDriver
IColorCorrection
FontMap-Collection
IFontMapCollection
ArcPress-Printer-Driver
IArcPressPrinterDriverIColorCorrection
*
SpotPlateISpotPlate
IFontMapIFontMap2 FontMap
The printer abstract class defines thecommon interfaces for controlling the
output of data to hardcopy devices
The PS printer is used tocreate output through a
PostScript driver
The font map collectionhouses the set of font maps
used by the PS printer orPS exporter objects
A font map creates associationsbetween TrueType fonts and
the mapped font
The paper object defines theprinter and tray designations foruse with the printer object
The ArcPress printer driversupports the ArcPress printer by
setting ArcPress parameters
The ArcPress printer serves as adriver for the creation of output
through ArcPress
IColorCorrectionIPsDriver
IPsDriver2ISpotPlateCollection
PsDriver
PsPrinter
IColorCorrectionIFontMapEnvironment
IPsDriverIPsDriver2IPsPrinter
ISpotPlateCollection
ExportDialogIExportDialog
IExportDialog2
IEmfExporterEmfExporter
ExporterIExporter
ArcPress-ExporterPNG
ArcPress-ExporterJPEG
ArcPress-ExporterPCX
ArcPress-ExporterTIFF
ArcPress-Exporter
IArcPressExporterIArcPressExporter-
DescriptionEnum
ExporterThe exporter abstract class defines the
common interface for controlling theoutput of map data to files
The Export dialog box displaysa dialog for users to enterfilename and desired formatfor outputting map data
IPDFDriverPDFDriver
ArcPress-Exporter-
Driver
IArcPress-ExporterDriver
The CGM driver is created by theCGM exporter object during theoutput of map data to a CGM file
The ArcPress exporter driver usesArcPress to convert a PostScript file
to one of the supported formats
The ArcPress exportabstract class supportsthe output of map data
to the different fileformats of ArcPress
The PDF driver is created bythe PDF exporter objectduring the output of mapdata to a PDF file
The PDF exporter creates output inthe Portable Document format
The PS exporter createsoutput in the PostScript format
The JPEG exporter creates outputin the format set by the JointPhotographic Experts Group
ICGMExporter CGM-Exporter
ICGMDriverISupportErrorInfo CGM-
Driver
IBmpExporterIDibExporter
IExporter2IWorldFile-
Settings
DibExporter
IFontMapEnvironmentIPsExporter PsExporter
IJpegExporter Jpeg-Exporter
IPdfExporterIFontMapEnvironment PdfExporter
IExporter2ITiffExporter
IWorldFileSettingsTiffExporter
The DIB exporter creates output in theDevice-Independent Bitmap format
The CGM exporter creates output in theComputer Graphics Metafile format
The EMF exporter creates output inthe Microsoft Enhanced Metafile format
Framework
Application
1..*
Application is the core object that represents ArcMap or ArcCatalogand provides access to the current state of the user interface
Document provides access to properties,such as title and type, and contains theVisual Basic for Applications project
A collection of command barsassociated with a document
A toolbar definition isused by the commandbars collection to createa toolbar
A menu definition is used bythe command bars collection
to create a menu A document command bar is acustom menu or toolbar createdwith the Customize dialog box
The component categorymanager object registerscomponents with thecomponent categories usedby the ESRI applications
A unique identifier objectrepresents the globallyunique identifier for anyCOM object
The application runningobject table is a global list ofall currently running ESRICOM-based applications
An application referenceobject is a reference to thecurrently running application
A command bar is a toolbar,menubar, menu, or context menu
AppRefIApplication
DocumentIDocument
AppROTIAppROT
IAppROTEvents
ICommandBars
page xx
Command-Bars
CommandBar
Document-CommandBar
COM-CommandBar
Component-Category-Manager
IComponentCategoryManager
UIDIUID
Dockable-Window
IDockableWindow
Dockable-WindowDef
IDockableWindowDefISupportErrorInfo
ICustomizationFilter Customization-Filter
A dockable window canexist in a floating stateor attached to the mainapplication window
IExtensionIExtensionAccelerators
IExtensionConfig Extension Application
IApplicationIDockableWindowManager
IExtensionManagerIMultiThreadedApplication
IVBAApplicationIWindowPosition
*
0..1
IMenuDefIRootLevelMenu
IShortcutMenu MenuDef
IToolbarDef
ToolbarDef
Command-BarDef
MouseCursorIMouseCursor
DllThread-Manager
IDllThreadManager
You can use MouseCursorto set the system mousecursor to be one of thestandard built-in cursorsor a custom cursor
A COM command barcan be written in anyCOM-compliantlanguage and iscompiled as an ActiveXDLL
An extension provides a mechanismfor extending an application
A customization filter providesa mechanism for locking parts
of the customizationfunctionality in an application
A command bardefinition is used by
the command barscollection to create aCOM command bar
A dockable window definition is used by theapplication to create a dockable window
Document
UIButtonControl acts asa button or menu itemthat performs a simple
task when clicked
UIComboBoxControl is adropdown list box control
that can be added to a toolbar
UIEditBoxControl is an editabletextbox control that can be added
to a toolbar
UIToolControl acts as a buttonthat allows further interaction
with the application display
A button is a simple command thatperforms a simple task when clicked
A tool acts as a button that allows furtherinteraction with the application display
A tool control is dropdown list box control,editable textbox control, or other type of
control that can be added to a toolbar
A MultiItem is a dynamic commandthat appears as zero or more adjacent
menu items on a menu dependingupon the state of the application
MacroItems are simple procedureswritten in the Visual Basic Editor
A collection of up to three templates canbe loaded in ArcMap, one in ArcCatalog.Templates help you define the scope ofcustomization
The status bar is the horizontal area atthe bottom of ArcMap and ArcCatalogthat provides information about thecurrent application state
TemplatesITemplates
*
An accelerator tablecontains a list ofaccelerator keys andthe commandidentifiers associatedwith them
AcceleratorIAccelerator
An accelerator key isa keyboard shortcutto quickly execute acommon command
A command item is anelement on a command bar,
such as a button, tool, ormenu item MacroItem
Command-Item
ICommandItemIPersist
IPersistStreamISupportInfo
StatusBarIStatusBar
UICombo-BoxControl
IUIComboBoxControlIUIComboBoxControlEvents
UIButton-Control
IUIButtonControlEvents
UIEditBox-Control
IUIEditBoxControlIUIEditBoxControlEvents
UITool-Control
IUIToolControlEvents
Command
UIControl
Coordinate-Dialog
ICoordinateDialog
GetString-Dialog
IGetStringDialog
GetUserAnd-Password-
Dialog
IGetUserAndPasswordDialog
ListDialogIListDialog
Message-Dialog
IMessageDialog
Number-Dialog
INumberDialog
Progress-Dialog
IProgressDialogIProgressDialog2
IProgressorIStepProgressor
Progress-Dialog-Factory
IProgressDialogFactory
Framework dialog boxes
Command
The Progress dialog box factory creates anddisplays a new progress dialog box
A Progress dialog box displays animation and astep progressor bar
The Coordinate dialog box is used for gettinguser input in the form of x, y coordinates
The Get String dialog is used for getting userinput in the form of a string
The Get User and Password dialog is used forgetting username and password information
The List dialog box is used to present a list ofoptions and allows the user to select one of theoptions
The Message dialog box is used to display amessage to the user
The Number dialog box is used for getting userinput in the form of a number
ICommandBarICommandItem
A DLL thread managerprovides access to anevent that DLL threadmanagers listen for
Accelerator-Table
IAcceleratorTableIPersist
IPersistStream
IExtensionManagerIExtensionManagerAdmin
ISupportErrorInfoExtension-Manager
COMCommand
IMultiItemIMultiItemEx
(optional) MultiItem
ToolControlICommand
ICommandSubtype(optional)
IToolControl
ToolICommand
ICommandSubtype(optional)
ITool
ButtonICommand
ICommandSubtype(optional)
GxDatabase-Extension
IGxDatabaseExtensionIGxDatabaseExtensionCompare
GxDatabase-Extensions
IGxDatabaseExtensions
GxRemote-Database-
Folder
IGxCachedObjectsIGxObjectProperties
IGxRemoteContainerIGxRemoteDatabaseFolder
GxSpatial-References-
Folder
IGxCachedObjectsIGxObjectProperties
IGxSpatialReferencesFolder
GxDataset
IGxCachedObjectsIGxDataset
IGxObjectInternalNameIGxObjectProperties
IGxThumbnailIMetadata
IMetadataEditINativeTypeInfo
IObjectClassSchemaEvents
GxFileFilterIGxFileFilter
IGxFileFilterEventsIPersistStream
GxObject-Container
IGxObjectContainerIGxPasteTarget
GxObjectFactory objects help ArcCataloggenerate GxObjects based on the object type
IGxObjectFactoryIGxObjectFactoryMetadata GxObject-
Factory
GxLayer-Factory
GxMap-Factory
GxShortcut-Factory
GxDatabase-Factory
GxFile-Factory
GxCoverage-Factory
IGxObject-FactoryEdit GxTextFile-
Factory
IGxObject-FactoryEdit
GxPrjFile-Factory
IGxObject-FactoryPriority
GxMetadata-Factory
IGxObject-FactoryPriority
GxObjectIGxObject
IGxObjectEditIGxObjectUI
GxDatabase holds aworkspace within
ArcCatalog GxDataset holds adataset objectwithin ArcCatalog
GxObjects represent individualdata items and they are what
appear in the tree view and thecontents view
GxRemoteDatabaseFolderrepresents only the top-levelRemote Connections folder
GxSpatialReferencesFolderrepresents only the top levelof the spatial referenceinformation accessiblethrough ArcCatalog
SearchResults stores a query
GxCatalog object representsyour actual tree of data, as is
shown in the tree view
GxDatabaseExtensions is a collectionobject for the set of
GxDatabaseExtension objectsGxDatabaseExtension is an abstract classwhose purpose is to provide a startingpoint for those developers who want tocreate extensions to a GxDatabase
GxFileFilter objectmaintains the file
filter used byArcCatalog to
determine which filetypes to display
Search-Results
IGxFileIGxCachedObjects
IGxObjectSortIGxObjectProperties
IMetadataIMetadataEdit
ISearchResults
GxDatabase
IGxCachedObjectsIGxDatabase
IGxDatabase2IGxObjectInternalName
IGxObjectPropertiesIGxObjectWizard
IMetadataIMetadataEdit
INativeTypeInfo
GxDisk-Connection
IGxDiskConnection
GxNew-Database
IGxBasicObjectIGxNewDatabase
IGxObjectProperties
GxFileGxMetadata
IGxFileIGxObjectInternalName
IMetadataIMetadataEdit
INativeTypeInfo
GxObject-Wizard
IGxObjectWizard
Shortcut-Name
IFileNameIName
IPersistStreamIShortcutName
GxMapIGxMap
IGxMapPageLayoutIGxObjectInternalName
IGxThumbnail
GxPrjFileIGxFileSetup
IGxObjectInternalNameIGxPrjFile
GxTextFileIGxCachedObjects
IGxDatasetIGxFileSetup
IObjectClassSchemaEventsIGxObjectInternalName
GxShortcutIGxShortcut
GxNewDatabase is theshortcut used to create a
new remote connection
GxPrjFile represents projectionfiles with GxSpatialReferences-Folder objects
GxLayerrepresentslayer files
GxMap encapsulatesmap documents
When ArcCatalog starts, itcreates GxDiskConnection
objects for each folderconnected at the root
GxFolder representssystem-level folders
GxMetadata represents XML files
GxTextFile represents textfiles within ArcCatalog
GxShortcut representsshortcuts to objects returned
from a Catalog search
ShortcutName is a name objectdescribing a GxShortcut GxDialog
IGxDialogIGxObjectFilter-
CollectionIGxSelectionEvents
GxDialog represents a browserthat allows you to open andsave GIS datasets.
GxLayerIComPropertySheetEvents
IGxLayerIGxObjectInternalName
IGxThumbnail
EnumGxViewIEnumGxView
The GxViewContainer object permits a GxViewobject to be a container for additional views
ExtensionIExtension
IExtensionIExtensionAccelerators
IExtensionConfig
ExtensionSee chapter 3,
'Customizing the userinterface'
ApplicationSee chapter 3,
'Customizing the userinterface'
IApplicationIDockableWindowManager
IExtensionManagerIMultiThreadedApplication
IVBAApplicationIWindowPosition
GxDocumentIDocument
IGxDocumentEventsIGxDocumentEventsDisp
Enum-GxObject
IEnumGxObject
GxObject-Array
IGxObjectArray
GxSelectionIGxSelection
IGxSelectionEvents
GxApplicationIGxApplication
IGxCatalogAdminIGxCatalogEvents
IGxCatalogEventsDisp
GxDocument represents the documentobject in the VBA class ThisDocument
contained in each VBA project
GxApplicationrepresents therunningArcCatalogexecutable
GxObjectArray objectholds a set of GxObjects
GxSelection keeps track of the items chosen inthe tree and tabbed views of the data
IGxViewContainer GxView-Container
GxViewGxApplication
Spatial-Reference-
Dialog
ISpatialReferenceDialogISpatialReferenceDialog2
Table-Definition-
Dialog
ITableDefinitionDialog
Projected-Coordinate-
SystemDialog
IProjectedCoordinateSystemDialog
Geographic-Coordinate-
SystemDialog
IGeographicCoordinateSystemDialog
FindDialog
Catalog-Search-Engine
FileSystem-XmlSearch-
Engine
IFileSystemQuery
Search-Engine
ISearchEngineISearchEngineEvents
ISearchEngineProperties
FileSystem-Query
IFindDialogSettingsIQuery
IXmlQuery
The Geographic Coordinate System dialog box isa stand-alone object used to create a newgeographic coordinate system object
The Projected Coordinate System dialog box is astand-alone object used to create a newprojected coordinate system object
The Spatial Reference dialog box object is astand-alone object used to create a new spatialreference object
The Table Definition dialog box object is a stand-alone object used to create new tables andfeature classes within the specific workspace ordataset
FileSystemXmlSearchEngine lets yousearch for file-basedobjects stored on diskfor which metadatahas been created
The CatalogSearchEngine lets you search for anyobject that appears in ArcCatalog
FindDialog provides access toArcCatalog’s Search dialog box
FileSystemQuery lets you modify anexisting search’s parameters or definea new query
FindDialogIDllThreadManager
IFindDialogIGxSelectionEvents
ISearchEngineEvents
GxObjectGxFile represents any file type that has
been defined in ArcCatalog
IGxFileIGxFileSetup (optional)
IGxObjectInternalName (optional)IGxObjectProperties
IMetadataIMetadataEdit
INativeTypeInfo
ArcCatalog
GxCatalog
IComPropertySheetEventsIConnectionPoint
IConnectionPointContainerIGxCatalog
IGxCatalogEventsDispIGxCatalogEvents
IGxFileIGxObjectFactories
IMetadataEdit
GxDocumentationViewrepresents the metadataview in ArcCatalog
ApplicationGxPreviewIGxPreview
ApplicationGxTableViewIGxCatalogEvents
IGxTableView
GxTreeViewIGxCatalogEvents
IGxTreeView
*
Gx-Document-ationView
IGxCatalogEventsIGxDocumentationView
IGxViewPrint
Gx-Geographic-
View
IGxCatalogEventsIGxGeographicView
IGxGeographicView2ITransformEvents
Objects in theGxContentsViewColumncollection represent thecolumns in the tabbed displayarea of the view (whenContents is the active tab)
GxTreeView shows a hierarchicalorganization of your data holdings
GxTableView is used topreview the table associatedwith the selected object
The GxGeographic-Viewlets you preview your data
GxContentsView is theExplorer-style iconic viewavailable in ArcCatalog
GxView is an abstractclass that represents all
possible ArcCatalog views
IGxSelectionEventsIGxView GxView
GxContents-View
IGxCatalogEventsIGxContentsView
IGxContentsViewColumnsIPersistStream
*GxContents-ViewColumn
IGxContentsViewColumnIClone
IPersistStream
The metadataimport objects addor replace metadatafrom an input file
IMetadataImport Metadata-Import
Import-MPSGML
Import-MP
Import-XML
Import-MPTXT
The metadata exportobjects output a dataset'smetadata to a file
IMetadataExport
Export-MPSGML
Export-MPTXT
Export-XML
Export-MPFAQ
Export-MPHTML
Export-MP
Export-HTML
Metadata-Export
MetadataIMetadataEditor
The metadata editorobjects provide a userinterface for editingmetadata
DefaultEditorFGDCEditor
Metadata-Editor
Metadata-Extension
IConnectionPointContainerIMetadataHelperIMetadataEvents
IPersistStream
GxPreview shows previewsof the selected object
GxFolder
IGxCachedObjectsIGxFile
IGxFolderIGxObjectInternalName
IGxObjectPropertiesIMetadata
IMetadataEditINativeTypeInfo
GxFilterAnnotationFeatureClassesGxFilterBasicTypesGxFilterCadDrawingDatasetsGxFilterCoverageAnnotationClassesGxFilterDatasetsGxFilterDatasetsAndLayersGxFilterFeatureClassesGxFilterFeatureDatasetsGxFeatureDatasetsAndFeatureClassesGxFilterFilesGxFilterGeodatasetsGxFilterLayersGxFilterMapsGxFilterPointFeatureClassesGxFilterPolygonFeatureClassesGxFilterPolylineFeatureClassesGxFilterRasterDatasetsGxFilterSpatialReferenceGxFilterTablesGxFilterTablesAndFeatureClassesGxFilterTINDatasetsGxFilterWorkspaces
GxObject-Filter
IGxObjectFilter
The GxObjectFilter objects are used inconjunction with the GxDialog object to
limit the types of data the user can browsewhen selecting objects to open or save
A frame element forms a borderaround other elements or objects
IGraphicElement Frame-Element A frame element is a neatline
A map frame manipulates theframe containing the map
A map surround framemanipulates the frames ofmap elements such asNorth arrows and legends
An OLE frame is an OLEobject graphic
A table framemanipulates theframe containingthe table
IOleFrameIElementShutdown
GraphicElementOleFrame
IBoundsPropertiesIFrameDraw
IFrameElementIFrameProperties
Frame-Element
IActiveViewEventsIConnectionPointContainer
IDisplayAdminIDisplayEvents
IGraphicsCompositeIGraphicsContainerProperty
IMapFrameIMapFrameEvents
IMapGridsITransformEvents
MapFrame
IGraphicsCompositeIMapFrameEvents
IMapSurroundEventsIMapSurroundFrame
ITransformEvents
Map-Surround-
Frame
ITableFrame
TableFrame
IActiveViewIActiveViewEvents
IConnectionPointContainerIDisplayAdmin
IGraphicsContainerIGraphicsContainerSelect
IGraphicSnapEnvironmentIPageEventsIPageLayout
IPersistIPersistStream
ISelectionEventsITransformEvents
IViewManager
PageLayout
ArcMapThe page representsthe piece of paperthe layout resides on
Snap guides are horizontaland vertical lines added tothe layout that aid elementplacement. The snap guideswork in conjunction with aguide snap agent
Ruler settings representsthe layout rulers
The snap grid is a grid ofreference points on thelayout used to aidelement placement. Thesnap grid works inconjunction with a gridsnap agent
Graphic snap agentsmove elements by
attempting to snap themto various objects such as
the snap grid
IPersistIPersistStream
ISnapGuides SnapGuides
SnapGridIPersist
IPersistStreamISnapGrid
Ruler-Settings
IPersistIPersistStreamIRulerSettings
Graphic-Snap-
Environment
IGraphicSnap-Environment
IPersistIPersistStream
*
The graphic snap environment controls whichgraphic snap agents are active, the order inwhich they are called, and the snap tolerance
GridSnapGuideSnapMarginSnapRulerSnap
IGraphicSnapIPageLayoutSnap
IPersist GraphicSnap
ICloneIElement
IElementPropertiesIPersist
IPersistStream
Element
*
IBoundsPropertiesIMarkerElement Marker-
Element
IBoundsPropertiesIElementEditVertices
ILineElementLineElement
A line element is a line graphic
A markerelement is a
point graphic
A group element is a set ofgrouped elements
Graphic elements are simple graphicsthat can appear in a data view
Map elements represent all thegraphics that can appear on a map
Element
A text element is a text graphic
A data graph elementmanipulates the frame
containing a graph
IActiveViewEventsIDataGraphElement
IGraphicsContainerPropertyDataGraph-
Element
IEllipseElement Ellipse-Element
IRectangleElement Rectangle-Element
ICircleElement Circle-Element
IElementEditVerticesIPolygonElement Polygon-
Element
IBoundsPropertiesIFillShapeElement FillShape-
ElementA fill shape element is agraphic of a closed area
BmpPicture-Element
EmfPicture-Element
An EMF pictureelement is aWindows EnhancedMetafile picture
A BMP picture elementis a Windows bitmap
IBoundsPropertiesIFrameDraw
IFrameElementIFrameProperties
IOlePictureElementIPictureElement
Picture-Element
ICloneIElement
IElementPropertiesIPersist
IPersistStreamIPropertySupport
ITransform2D
Element
IBoundsPropertiesIFrameElement
IFrameDrawIFrameProperties
IGroupElement
Group-Element
A picture elementrepresents Windows raster
or vector graphic objects
IBoundsPropertiesIElementEditCallout
IElementEditVerticesIGroup-
SymbolElementITextElement
ITransformEvents
TextElement
DataWindow
Mapinset windows display amagnified view of the focus map
Overview windows display the fullextent view of the focus map
Table windows display a table
Data windows are additional displaysassociated with the application
Data graph windows display graphs
IActiveViewEventsIComPropertySheetEvents
IDataGraphWindowIDocumentEvents
IPersistIPersistStream
DataGraph-Window
IDataWindowFactory Overview-Window-Factory
A map insert windowfactory creates map
inset windows
An overview window factorycreates overview windows
IDataWindow-Factory MapInset-
Window-Factory
Data graphs represent ArcMapand ArcCatalog graphs
A table viewdisplays a table
ICloneIDataGraph
IDataGraphAxisIDataGraphTicks
IDataGraphAreaPropertiesIDataGraphBarProperties
IDataGraphColorPropertiesIDataGraphHighLowCloseProperties
IDataGraphOverlayPropertiesIDataGraphPieProperties
IDataGraphPropertiesIPersistStream
DataGraph
IActiveViewIActiveViewEvents
IBasicMapIConnectionPointContainer
IDisplayAdminIDisplayEvents
IGraphicsContainerIGraphicsContainerSelect
IMapIMapBarriers
IMapBookmarksIMapEvents
IMapGeographicTransformationsIPersist
IPersistStreamIRelationshipClassCollection
ISelectionEventsIStandaloneTableCollection
ITableCollectionITransformEvents
IViewManager
Map
*
Element
StyleGallery
The Map object is a container for vector,raster, and graphic data. Maps reside onthe page layout and contain the geographicdata typically seen on a map
The Page objectrepresents the page
of paper the layoutresides on
The application display helpsmanage all of the displayspresent in the application
The application object representsthe running ArcMap application
The style gallery is a list of predefineditems (styles) used to create maps
MxDocument controls the current activeview that specifies whether the user is
interacting with the entire map layout ora specific data frame in the layout
IExtension
Extension
Page
LayerMapSurround SpatialBookmark
A layer is a specific class of dataadded to a Map. Layer types includefeatures (coverages, shapefiles,geodatabases), rasters, images, TINs,CAD, IMS, and annotation
A map surround is a specificgroup of elements that isassociated with a map. Mapsurrounds include North arrows,scale bars, and legends
A spatial bookmark is aspecific map extent thathas been saved alongwith a name identifying it
IAppDisplayIDisplay
IDrawIScreenDisplay
IScreenDisplay2
AppDisplay
Elements are a broad group of itemsthat can be placed on the page layout
or on a map. For example, a map titleis a text element placed on the page
layout
ArcMap supports extensions that areautomatically created when the applicationstarts. The ArcMap editing tools are an exampleof an extension
IIdentifyDialogIIdentifyDialog2
IIdentifyDialogProps IdentifyDialog
The selection environment controlsthe application's selection behavior
IMapEvents
MapEvents
This object provides access to theIMapEvents outbound interface
*
IChangeLayoutIContentsViewEdit
IDataGraphsIDocument
IDocumentDirtyIDocumentDatasetsIDocumentDefault-
SymbolsIDocumentEvents
IDocumentEventsDispIDocumentInfoIMxDocument
IPersistIPropertySupport
IReportUnitFormat
MxDocument
IPersistIPersistStream
ISelectionEnvironmentISelectionEnvironmentLayer
ISelectionEnvironmentStorageISelectionEnvironmentThreshold
Selection-Environment
Application
IApplicationIApplicationWindows
IExtensionManagerIDockableWindow-
ManagerIEnumPrinterNames
IMultiThreaded-Application
IMxApplicationIObjectFactory
IVBAApplicationIWindowPosition
IdentifyDialog is the dialog box forquickly querying data attributes
The table of contentscatalog view represents
the Source tab in theArcMap table of contents
The table of contents displayview represents the Display tabin the ArcMap table of contents
TOCDisplay-View
TOCCatalogView
IDocumentEvents
IActiveViewEventsIComPropertySheetEvents
IContentsView TOCView
PageLayout
CustomOverlayGridFactoryGraticuleFactoryIndexGridFactory
MeasuredGridFactory
ICustomOverlayGrid Custom-OverlayGrid
IMeasuredGridIProjectedGrid Measured-
Grid
IIndexGrid
IndexGrid
IGraticuleIMeasuredGrid Graticule
ButtonTabStyleContinuousTabStyleRoundedTabStyle
IBackgroundTabStyle Background-TabStyle
IMixedFontGridLabelIFormattedGridLabel MixedFont-
GridLabel
IFormattedGridLabel Formatted-GridLabel
IDMSGridLabel DMS-GridLabel
A DMS grid label displays the map gridusing degrees, minutes, and seconds
A formatted grid label uses a number formatto label the map grid
A map grid factorycan be used to quicklycreate a map grid withdefault properties
A mixed-font grid label displays the label in twofonts and also uses a number format
A measured grid divides the map into agrid of units in any coordinate system
An index grid divides the map into agrid for indexing
A graticule divides the map into agrid of meridians and parallels
A custom overlay grid divides themap using lines from the data
source you specify
A map grid is a grid of referencepoints or lines on the layout that
help you visually identify thelocation of features on the map
IndexGrid-TabStyle
IIndexGridTabStyle
IGridLabelIGridLabelExport
IPersistIPersistStream
GridLabel
An index grid tab stylegoverns the way anindex grid is labeled
IMapGridFactory MapGrid-Factory
A grid label governs the way a mapgrid is labeled along the borders
MapGrid
A background tab stylelabels the index gridusing square, round, orrounded-square boxes
ICloneIGraphicsComposite
IMapGridIPersist
IPersistStream
MapGrid
A button tab style labels using rectangular buttons that line the gridA continuous tab style labels using a continuous band around the gridA rounded tab style labels using rounded rectangles that line the grid
ISimpleMapGridBorder SimpleMap-GridBorder
ICalibratedMapGridBorder Calibrated-MapGrid-
Border
A simple map gridborder is composed ofsimple lines
A calibrated map gridborder is composedof a graduated band
A map grid border isthe set of lines thatoutline the map grid
IGraphicsCompositeIMapGridBorderIPersistStream
MapGrid-Border
Style gallery
NumberFormat
An enumeration of style galleryitems
Style items provide access to theindividual map elements andsymbols that make up a style
Style selectors provide you with themeans to interactively choose or
edit a style item
Using the style gallery coclasses, youcan create various types of style items
AreaPatchStyleGalleryClassBackgroundStyleGalleryClassBorderStyleGalleryClassColorRampStyleGalleryClassColorStyleGalleryClassFillSymbolStyleGalleryClassLabelStyleGalleryClassLegendItemStylGalleryClassLinePatchStyleGalleryClassLineSymbolStyleGalleryClassMapGridStyleGalleryClassMarkerSymbolStyleGalleryClassNorthArrowStyleGalleryClassScalebarStyleGalleryClassScaleTextStyleGalleryClassShadowStyleGalleryClassTextSymbolStyleGalleryClass
IPersistStreamIStyleGallery
IStyleGalleryStorage StyleGallery
IEnumStyleGalleryItem EnumStyle-GalleryItem
ICloneIStyleGalleryItem
IPersistIPersistStream
Style-GalleryItem
IStyleDialog Style-References-
Dialog
IComPropertySheetEventsIStyleDialog
Style-Manager-
DialogGives you access to the ArcMap
Style Manager dialog box
Gives you access to the ArcMapStyle References dialog box
A style gallery is a collection ofstyles. Each ArcMap documenthas a style gallery associated withit. Using this style gallery, you canaccess the styles referenced bythat document
*
IStyleGalleryClass StyleGallery-Class
MapGrid-Selector
IMapGridSelector
StyleSelectorIComPropertySheetEvents
IStyleSelector
BackgroundSelectorBorderSelectorLabelStyleSelectorLegendItemSelectorNorthArrowSelectorScaleBarSelectorScaleTextSelectorShadowSelector
IRateFormat
RateFormat
IAngleFormat
AngleFormat
IPercentageFormat Percentage-Format
ILatLonFormatILatLonFormat2 LatLon-
Format
INumericFormat Numeric-Format
IFractionFormat Fraction-Format
ICustomNumberFormat CustomNum-berFormat
ICloneINumberFormat Number-
Format
Currency-Format
A scientific format objectconverts numbers with
exponent values
A fraction format objectconverts fractional values
A custom number formatconverts a wide range of
numeric formats
A currency formatobject convertscurrency values
Numeric format objectsconvert to and fromangle, latitude-longitude,percentages, and ratevalues.
Number format objectsconvert values to textstrings and vice versa
Scientific-Format
IScientificNumberFormat
Annotate layer properties holds a set oflabeling properties for a feature layer
Basic overposter layer propertiesspecify label placement andconflict resolution properties
Label engine layer properties specifylabeling properties for a feature layer Line label placement priorities specify
conflict resolution weights for labelsplaced relative to line features
Line label position specifies the desiredlabel position and placement option forlabels placed relative to line features
Point placement priorities specifyconflict resolution weights for labels
placed relative to point featuresLabeling
ICloneILineLabelPosition
IPersistIPersistStream
LineLabel-Position
IAnnotateLayerPropertiesIAnnotateLayerTransformationProperties
IAnnotatePropertiesIClone
ILabelEngineLayerPropertiesIPersistStream
LabelEngine-Layer-
Properties
ICloneILineLabelPlacementPriorities
IPersistIPersistStream
LineLabel-Placement-
Priorities
ICloneIPersist
IPersistStreamIPointPlacementPriorities
Point-Placement-
Priorities
IAnnotateLayerPropertiesCollectionIPersist
IPersistStream
Annotate-Layer-
Properties-Collection
IAnnotationExpressionEngineICodedValveAttributes
IPersistIPersistStream
Annotation-Expression-
Engine
Annotation-VBScript-Engine
Annotation-JScript-Engine
IBarrierCollection Barrier-CollectionA barrier collection holds a
set of geometries used asbarriers in label placement
An annotation Java Script enginespecifies a label expression basedon Java Script
An annotation VB Scriptengine specifies a label
expression based on VB Script
IBasicOverposterLayerPropertiesIBasicOverposterLayerProperties2
ICloneIOverposterLayerProperties
IPersistIPersistStream
BasicOver-posterLayer-Properties
Application
Page layout
SpatialBookmark
ISpatialBookmarkIPersist
IPersistStreamSpatial-
Bookmark
IAOIBookmark AOI-Bookmark
IFeatureBookmark Feature-BookmarkA feature bookmark stores information
about a particular feature so that it canbe quickly found again
An area of interest is a map extentyou would create when zooming in
or panning the display
A scale bargraphicallyshows amap's scale
Patches are individual colorboxes in a legend
*
ILinePatch
LinePatch
AlternatingScaleBarDoubleAlternatingScaleBar
HollowScaleBar
IDoubleFillScaleBar DoubleFill-ScaleBar
IGraphicsCompositeIPropertySupport
IScalebarIScaleMarks
ITransformEvents
Scalebar
IMapInset
MapInset
IScaleTextIPropertySupport
ITransformEvents ScaleText
Map surrounds are associated with a dataframe and provide a cartographic context forthe geographic data and extent.
MapSurround
MapTitle
IActiveViewEventsIGraphicsComposite
ILegendIPropertySupport
IReadingDirection
Legend
Scale line scale bars are repre-sented with a single line symbol
Stepped-ScaleLine
IScaleLine
ScaleLine
Double-fill scale bars are symbolizedusing two fill symbols
IAreaPatch
AreaPatch
IOverview
Overview
Legend items are theindividual parts of a legend
IGraphics-Composite
IMarkerNorthArrowIPropertySupport
ITransformEvents
Marker-NorthArrow
INorthArrow
NorthArrow
An overview displays the fullmap extent of a dataframe,together with a box graphicshowing the current mapextent
Marker North arrows use acharacter marker symbol
The North arrow object is a baseclass for all north arrow types
A scale text mapsurround is a textelement thatdescribes the map'sscale
A map title is a text element describing amap
A map inset is a magnified view of a map
A legend is a list ofsymbol appearing on
a map
A legend formatmanages a legend'sdefault properties
ILegendClassFormatIPersist
IPersistStreamLegendClass-
Format
Legend class format objects controleach legend item's presentation
IHorizontalBar-LegendItem
IVerticalLegendItem
Horizontal-BarLegend-
Item
IHorizontalLegendItem Horizontal-LegendItem
IHorizontalLegendItemINestedLegendItem Nested-
LegendItem
IVerticalLegendItem Vertical-LegendItem
Single-Division-ScaleBar
ISingleFillScaleBar SingleFill-ScaleBar
Single-fill scale bars aresymbolized using one fill symbol
ICloneILegendFormatILegendLayout
IPersistIPersistStream
Legend-Format
ICloneILegendItem
ILegendItem2IPersist
IPersistStream
LegendItem
ICloneIPatch
IPersistIPersistStream
Patch
IBoundsPropertiesIClone
IConnectionPointContainerIMapSurround
IMapSurroundEventsIPersist
IPersistStream
MapSurround
ITableWindowITableWindow2
Table-Window
IActiveViewEventsIDocumentEvents
IMapSurroundEventsIOverviewWindow
IPersistStream
Overview-Window
ICloneITableControl
ITableControlInfoITableControlWidth
ITableOutputITableView
ITableView2ITableViewTableFields
TableView
IDataWindow
DataWindow
IActiveViewEventsIDocumentEvents
ILensWindowIMapInsetWindow
IMapSurroundEventsIPersistStream
MapInset-Window
Page
ICloneIConnectionPointContainer
IFramePropertiesIPage
IPageEventsIPersist
IPersistStreamIPropertySupport
IGraphicElement Graphic-Element
MultiPatch-Element
The page layout is ArcMap's version of a hardcopy outputpage. A typical page layout may have a map and graphic
elements representing a title, north arrow and legend
A CAD feature layer displays a CADfeature class from a drawing
A coverage annotationlayer displays annotation
from a coverage
A TIN layerdisplays 3Dsurface data
Layer
Coverage-Annotation-
Layer
IAttributeTableIBarrierProperties
IBarrierProperties2ICoverageAnnotationLayer
ICoverageAnnotationLayer2IDataLayer
IDataLayer2IFeatureLayer
IFindILayerFields
ILayerInfoITableFields
RasterLayerDocumented in
chapter 13,"Integrating raster
data"
IAttributeTableIClass
IConnectionPointContainerIDataLayer
IDataLayer2IDataset
IDisplayAdminIDisplayRelationshipClass
IDisplayTableIGeoReference
IIdentifyILayerDrawingProperties
ILayerEffectsILayerEvents
ILayerExtensionsILayerFields
ILayerInfoILayerPosition
ILegendInfoIObjectClassIRasterLayer
IRelationshipClassCollectionIRelationshipClassCollectionEdit
ITableITableFields
ITableSelection
FeatureClass in GeodatabaseRenderer in Display
*
A layer is used to displaygeographic information on a map
A group layer is a groupof layers that appear and
act like a single layer inthe table of contents
A hyperlink displayslinked data, such as text
files or Web pages,when you click it
A composite graphics layermanages other graphics layer, but is
also a graphics layer itself
An FDO graphics layer is a layer basedon an annotation feature class in ageodatabase
A dimension layer displaysdescriptive text and supporting
graphics (such as leader lines) thatare associated with map features
An Internet map server layer displays datafrom an image service on the Internet
Graphics layers manage thegraphics associated with a map
GroupLayer
ICompositeLayerIConnectionPointContainer
IDisplayAdminIGroupLayer
IIdentifyIIdentify2
ILayer2ILayerEvents
ILayerInfoILayerPosition
IMapLevel
A feature layer displaysdata from a feature classon a map
IGeoDatasetILayer
IPersistIPersistStream
Layer
IMSMap-Layer
ICompositeLayerICompositeLayer2
IDataLayerIDataLayer2
IDisplayAdminIDisplayFilterManager
IIdentifyIIdentify2
IIMSMapLayerILayerDrawingProperties
ILayerEffectsILayerInfo
ILayerPosition
Composite-Graphics-
Layer
ICompositeGraphicsLayerICompositeLayer
IGeoDatasetSchemaEditIGraphicsLayerScale
Dimension-Layer
IAttributeTableIDimensionLayer
IClassIConnectionPointContainer
IDataLayerIDataLayer2
IDatasetIDisplayAdmin
IDisplayFilterManagerIDisplayRelationshipClass
IDisplayTableIFeatureLayer
IFeatureLayer2IFeatureLayerDefinition
IFeatureLayerSelectionEventsIFeatureSelection
IFindIHotlinkContainer
IHotlinkMacroIHyperlinkContainer
IIdentifyIIdentify2
ILayer2ILayerDrawingProperties
ILayerEffectsILayerEvents
ILayerExtensionsILayerFields
ILayerInfoILayerPosition
IMapLevelIObjectClassSchemaEvents
IPropertySupport IRelationshipClass-
CollectionIRelationshipClass-
CollectionEditITable
ITableFieldsITableSelection
A CAD layer displays aCAD drawing
*HyperlinkIHyperlink
IPersistIPersistStream
A CadAnnotationLayeris used to control the
symbology of theannotation features
from a CAD layer
CadFeature-Layer
IAttributeTableICadDrawingLayers
ICadTransformationsIClass
IConnectionPointContainerIDataLayer
IDataLayer2IDataset
IDisplayAdminIDisplayFilterManager
IDisplayRelationshipClassIDisplayTableIFeatureLayer
IFeatureLayer2IFeatureLayerDefinition
IFeatureSelectionIFind
IGeoFeatureLayerIHotlinkContainer
IHotlinkMacroIHyperlinkContainer
IIdentifyIIdentify2
ILayer2ILayerDrawingProperties
ILayerEffectsILayerExtensions
ILayerFieldsILayerInfo
ILayerPositionILegendInfo
IMapLevelIObjectClassSchemaEvents
IPropertySupportIRelationshipClassCollection
IRelationshipClassCollectionEditITable
ITableFieldsITableSelection
IAttributeTableIClass
IConnectionPointContainerIDataLayer
IDataLayer2IDataset
IDisplayAdminIDisplayFilterManager
IDisplayRelationshipClassIDisplayTableIFeatureLayer
IFeatureLayer2IFeatureLayerDefinition
IFeatureLayerSelectionEventsIFeatureSelection
IFindIGeoFeatureLayerIHotlinkContainer
IHotlinkMacroIHyperlinkContainer
IIdentifyIIdentify2
ILayer2ILayerDrawingProperties
ILayerEffectsILayerEvents
ILayerExtensionsILayerFields
ILayerInfoILayerPosition
ILegendInfoIMapLevel
IObjectClassSchemaEventsIPropertySupport
IRelationshipClassCollectionIRelationshipClassCollectionEdit
ITableITableFields
ITableSelection
Feature-Layer
Graphics-Layer
IBarrierPropertiesIBarrierProperties2IConnectionPoint-
ContainerIGraphicsContainer
IGraphics-ContainerSelectIGraphicsLayer
IOverflow-GraphicsContainer
ISelectionEvents
FDO-Graphics-
Layer
IAttributeTableIClass
IDataLayerIDataLayer2
IDatasetIDisplayAdmin
IDisplayFilterManagerIDisplayRelationshipClass
IDisplayTableIFDOAttributeConversion
IFDOGraphicsLayerIFeatureLayer
IFeatureLayer2IFeatureLayerDefinition
IFeatureSelectionIFind
IHotlinkContainerIHotlinkMacro
IHyperlinkContainerIIdentify
IIdentify2ILayer2
ILayerEffectsILayerEvents
ILayerExtensionsILayerFields
ILayerInfoILayerPosition
IMapLevelIObjectClassEvents
IObjectClassSchemaEventsIPropertySupport
IRelationshipClassCollectionIRelationshipClassCollectionEdit
ITableITableFields
ITableSelection
CadLayer
ICadLayerICad3DRenderModeICadDrawingLayers
ICadTransformationsIConnectionPointContainer
IDataLayerIDataLayer2
IDisplayAdminIIdentify
ILayerEffectsILayerExtensions
ILayerInfoILayerPosition
TinLayer
IConnectionPointContainerIDataLayer
IDataLayer2IDisplayAdmin
IDisplayFilterManagerIIdentify
ILayerDrawingPropertiesILayerEffectsILayerEvents
ILayerExtensionsILayerFields
ILayerInfoILayerPosition
ILegendInfoITableFields
ITinLayer
Raster-CatalogLayer
Documented inchapter 13,
"Integrating rasterdata"
IConnectionPointContainerIDataLayer
IDataLayer2IDisplayAdmin
IIdentifyILayerEffectsILayerEvents
ILayerDrawingPropertiesILayerExtensions
ILayerInfoILayerPosition
ILegendInfoIRasterCatalogLayer
Cad-Annotation-
Layer
IAttributeTableIBarrierProperties
IBarrierProperties2ICadDrawingLayers
ICadTransformationsICoverageAnnotationLayer
ICoverageAnnotationLayer2IDataLayer
IDataLayer2IFeatureLayer
IFindILayerFields
ILayerInfoITableFields
Display
CmykColorICmykColor
IPostScriptColor
GrayColorIGrayColor
HlsColorIHlsColor
HsvColorIHsvColor
RgbColorIRgbColor
Colors and ramps
A CMYK color is composed of cyan,magenta, yellow, and black for
optimum print reproduction
A gray color is defined asa percentage of black
An HLS color is defined with hue,lighting, and saturation components
An HSV Color is defined with hue,saturation, and value components
An RGB color is composed ofred, green, and blue for optimum
screen display.
*
CieLab-Conversion
ICieLabConversion
Color-Selector
IColorSelector
Random-ColorRamp
IRandomColorRamp
PresetColor-Ramp
IPresetColorRamp
MultiPart-ColorRamp
IMultiPartColorRamp
Algorithmic-ColorRamp
IIAlgorithmicColorRamp
A color ramp is a seriesof colors
An algorithmic colorramp is a sequentialseries of colors
A multipart colorramp is a collectionof other color ramps
A preset color rampis a series of 13specific colors
A random color ramp is aseries of randomizedcolors within certain limits
A CIELabConversion is used to convert colors fromdifferent color models to the CIELab color model
A ColorPalette displays the colors that areheld in the current Styles on a popup menu
A ColorSelector allows you to edit acolor according to the RGB, CMYK,
or HSV color model
ICloneIColor
IPersistIPersistStream
Color Color-Browser
IColorBrowser
Monitor settings can be used to get white point, red point,green point, and blue point values for the monitor
ColorPaletteIColorPalette
ICustomColorPalette
Monitor-Settings
IMonitorSettings
The color browser dialog box allows a color to beselected by setting individual color properties
Feature renderers
A feature renderer draws featuresto a display from a feature class
A biunique value renderer combinesthe symbols of a unique value
renderer and a class breaks renderer
A chart rendererdraws pie, bar, and
stacked bar chartsymbols based onattributes of each
feature
A class breaks renderercan be used to draw
graduated color(choropleth) and
graduated symbol maps
A dot-density renderer drawsvarying densities of dots within
polygon features
A simple renderer drawseach feature using thesame symbol
The unique valuerenderer defines thesymbol a feature is tobe drawn with basedon an attribute value
FeatureLayerin ArcMap
BiUnique-Value-
Renderer
IBivariateRenderer
DotDensity-Renderer
IDataExclusionIDotDensityRenderer
IDotDensityUIRendererIRendererFields
Feature-Renderer
IFeatureRendererILegendInfo
IPersistIPersistStream
A proportional symbol renderer draws asymbol of varying size for each feature.The size is in proportion to a field value
A scale-dependent renderer ismade of multiple renderers, eachoperating within a scale range
ICalcRendererValues Calc-Renderer-
ValuesCalcRendererValues is a utility object usedto perform simple statistical calculations ona feature layer for use by renderers
*
Legend-Class
ILegendClassIPersist
IPersistStream
The legend group contains a collectionof legend class objects
IScaleDependent-Renderer
Scale-Dependent-Renderer
Legend-Group
ILegendGroupIPersist
IPersistStream
*
Proportional-Symbol-Renderer
IBarrierProperties2IDataExclusion
IDataNormalizationIRotationRenderer
IProportional-SymbolRenderer
The legend class contains a symboland some text in the form of a label
and description to describe whatthat symbol represents
Simple-Renderer
IDisplayAdminILevelRendererILookupSymbol
IPropertySupportIRotationRenderer
ISimpleRendererITransparencyRenderer
Chart-Renderer
IBarrierProperties2IBasicOverposterEvents
IChartRendererIDataExclusion
IDataNormalizationIIdentify
IPieChartRendererIRendererFields
ColorRampIClone
IColorRampIPersist
IPersistStream
Simple-Display
A display transformation manages the map todevice transformation for each type of display
A screen display object abstracts a normal applicationwindow and implements scrolling and backing store
A simple display object abstracts allother devices that can be rendered to
using a Windows Device Contextsuch as printers and metafiles
Display objects are used to draw graphicson a variety of output devices
Screen-Display
IScreenDisplayITransformEvents
Display-Trans-
formation
IConnectionPointContainerIDelayEvents
IDisplayTransformationIRasterOutputSettings
ITransformationITransformEvents
DisplayIConnectionPointContainer
IDisplayIDisplayEvents
IDraw
Display
Rubber band
A rubber circle object allowsthe user to input circles on
the display
A rubber envelope objectallows the user to input and
move envelopes on the display
A rubber line object allows theuser to input and movepolylines on the display
A rubber point object allows the userto input and move points on thedisplay
A rubber polygon object allows theuser to input and move polygons onthe display
A rubber rectangular objectallows the user to input and movepolygons, which are constrainedto be rectangular, on the display
Rubber-Envelope
RubberPoint
RubberLine
Rubber-Polygon
RubberBandIRubberBand
Rubber-Rectangular
-Polygon
Rubber-Circle
Natural-Breaks
ClassifyIClassify
Defined-Interval
IClassifyMinMaxIIntervalRange
Equal-Interval
IClassifyMinMax
Quantile
Standard-Deviation
IDeviationInterval
The defined interval classification produces classesthat are divided by regular fixed numeric increments
The equal interval classification is similar to defined interval,except that the first interval starts at the lowest value
The natural breaks classification produces classes whichhighlight natural groupings by minimizing variance withina class and maximizing variance between classes
The standard deviation classification creates classesthat represent dispersion about the mean value
The quantile classification creates as close aspossible to equal numbers of values in each class
Table-Histogram
IDataNormalizationIHistogram
IStatisticsResultsITableHistogram
The table histogram is a datastructure used to set data to adata classification
Classify
Frame decorations are adornments toframe elements, such as backgrounds,shadows, and neatlines
The symbol shadow draws ashadow around a frame element
The symbol border draws anoutline for a frame element
The symbol background draws abackground fill for a frame element
Symbol-Background
IBackgroundISymbolBackground Symbol-
Border
IBorderISymbolBorder Symbol-
Shadow
IShadowISymbolShadow
Frame-Decoration
ICloneIFrameDecoration
IGraphicsCompositeIPersist
IPersistStream
Frame decoration
Selection tracker
Envelope-Tracker LineTracker Point-
TrackerPolygon-Tracker
Selection-Tracker
ISelectionTracker
Callout-Tracker
ICalloutTracker
AnchorPointIAnchorPoint Rotate-
Tracker
IRotateTracker Scale-Tracker
IScaleTracker
An anchor point is useful forrotating elements and features
Selection trackers manage thehandles of selected elements
A rotate tracker manages the userinterface for rotating features or elements
A scale tracker controls the user interfacefor scaling features or elements
Cancel-Tracker
ITrackCancel
A cancel tracker provides a mechanismfor the user to stop a process
ICartographicMarkerSymbolICharacterMarkerSymbol
IMarkerMaskCharacter-
MarkerSymbol
Simple-MarkerSymbol
IMarkerMaskISimpleMarkerSymbol
Arrow-MarkerSymbol
IArrowMarkerSymbolIMarkerMask
Picture-MarkerSymbol
ICartographicMarkerSymbolIMarkerMask
IPictureMarkerSymbol
A character marker symbol is asingle glyph from a TrueType font
A simple marker symbol is asquare, circle, diamond, cross, or x
An arrow marker symbol is atriangular arrowhead
A picture marker symbol is a bitmapimage or enhanced metafile
A multilayer marker symbol is an orderedcollection, or stack, of other marker symbols
MultiLayer-MarkerSymbol
IMultiLayerMarkerSymbolILayerVisible
ILayerColorLockIMarkerBackgroundSupport
IMask
Cartographic-LineSymbol
ICartographicLineSymbolILineProperties
A cartographic line symbol has flexibleproperties to create dot-dash patterns,decorations such as arrowheads, and
line join and cap styles
A line decoration maintains a set of line decorationelements, which are symbols drawn along a line
A simple line decoration element draws marker decorationson the top of a line symbol, such as arrowheads
Line-Decoration-
Editor
ILineDecorationEditor
The line decoration editor edits theproperties of a line decoration
PictureLine-Symbol
IPictureLineSymbol
MarkerLine-Symbol
IMarkerLineSymbol
A hash-line symbol is a series of linesrunning at an angle to the original line
A marker line symbol is a series of markersymbols following the path of a line
Line-Decoration
ICloneILineDecoration
IPersistIPersistStream
HashLine-Symbol
IHashLineSymbol
*
MultiLayer-FillSymbol
IMultiLayerFillSymbolILayerColorLock
ILayerVisible
LineFill-Symbol
ILineFillSymbol
GradientFill-Symbol
IGradientFillSymbol
MarkerFill-Symbol
IFillPropertiesIMarkerFillSymbol
PictureFill-Symbol
IFillPropertiesIPictureFillSymbol
SimpleFill-Symbol
ISimpleFillSymbol
A gradient fill symbol is aseries of colors
A line fill symbol is a regularseries of lines at any angle
A marker fill symbol is a grid ofmarker symbols
A picture fillsymbol is a gridof pictures
A simple fill symbol is asolid or hatched fill
A multilayer fillsymbol is a stack ofother fill symbols
A dot-density fill symbol is a data-driven symbol commonly used withthe dot-density renderer.
DotDensity-FillSymbol
IDotDensityFillSymbolIDotDensityMasking
ISymbolArray
Text symbols3D chart symbols
Stacked-Chart-
Symbol
IStackedChartSymbol
The stacked chartsymbol draws a
stacked bar chart
Chart-Symbol-Editor
IChartSymbolEditor
The pie chart symboldraws a pie chart
The bar chart symboldraws a bar chart
The chart symbol editor can beused to allow users to edit the
properties of a chart symbol
A 3D chart symbol is a symbolused by a chart renderer
Symbols
LineSymbolILineSymbol
IMapLevelIPropertySupport
SymbolIClone
IPersistIPersistStream
ISymbol
Marker-Symbol
IMapLevelIMarkerSymbol
IPropertySupportISymbolRotation
3DChart-Symbol
I3DChartSymbolIChartSymbol
IMarker-BackgroundSupport
IMarkerSymbolISymbolArray
TextSymbol
IFormattedTextSymbolIMapLevel
IMaskIPropertySupport
ISimpleTextSymbolISymbolRotation
ITextSymbol
Symbol-Selector
ISymbolSelector Symbol-Editor
ISymbolEditor The Symbol Editor dialogbox is used to edit thedefinition of any symbol
The Symbol Selector dialogbox presents all symbols inreferenced style files
Symbols are used for drawingfeatures and elements on a map andhave attributes such as color and size
Symbology-Environment
IClassFactoryISymbologyEnvironment
The symbology environmentcontrols certain details ofsymbology display
The geometry draw can beused to draw any geometryto a display
SimpleText-Path
BezierText-Path
Text-Background
ICloneITextBackground
IPersistIPersistStream
MarkerText-Background
IMarkerTextBackground
CalloutICallout
IQueryGeometry
Balloon-Callout
IBalloonCalloutITextMargins
LineCalloutILineCallout
IMarkerBackgroundITextMargins
TextPathIPersist
ITextPath
Overposter-TextPath
IOverposterTextPath
A Bezier text path is used todraw text along a curve, fromits start to endpoints
An overposter text pathis used internally by theArcObjects label engine
A simple textpath is used todraw text thatfollows a straightor curved line.
A text path defines aline along which apiece of text is placed
A marker text background is a marker symboldrawn as a background to a piece of text
A callout draws a backgroundbehind a piece of text, with aleader line to an anchor point
A balloon calloutdraws a balloon
behind a piece of text
A line callout draws a line froman anchor point to a piece of
text, and draws a rectangularbackground behind the text
An text symbol defines a Font and manyformatting properties of a piece of text.
Text-Background-
Editor
ITextBackgroundEditor
Text-Symbol-Editor
ITextSymbolEditor The text symbol editor is a dialogbox used for editing the propertiesof an existing text symbol
The text background editor is a dialogbox used for editing the properties oftext backgrounds like a callout
SimpleLine-Callout
ISimpleLineCallout
A simple line callout draws a custom lineshape as a leader line to a TextSymbol
FontSizeIClone
IFontSizeIPersist
IPersistStream
The font size object is used byArcMap to determine thedefault size for new text
SimpleLine-Decoration-
Element
ICloneILineDecorationElement
IPersistIPersistStream
ISimpleLineDecorationElement
TemplateIClone
IPersistIPersistStream
ITemplate
A template defines the seriesof dots, dashes, and gapsalong a cartographic line
FillSymbolIFillSymbolIMapLevel
IPropertySupport
A multilayer line symbol is astack of other line symbols
Marker symbols Line symbols Fill symbols
MultiLayer-LineSymbol
IMultiLayerLineSymbolILayerVisible
ILayerColorLock
A simple line symbol is a solid line or onewith predefined series of dots and dashes
A picture line symbol draws aline by filling it with a tiled image
SimpleLine-Symbol
ISimpleLineSymbol
Geometry-Draw
IGeometryDrawISupportErrorInfo
BarChart-Symbol
IBarChartSymbol
PieChart-Symbol
IPieChartSymbol
Display-Feedback
IDisplayFeedback
Display feedback
Creates a feedback on the displayfor moving an envelope
Creates a feedback on thedisplay for moving a point on a
line
Creates a feedback on thedisplay for a group of
feedback objects
Creates a feedbackon the display for
moving a point on aBézier curve
Creates a feedback on the display formoving a geometry by reference
Creates a feedback on the display formoving a line
Creates a feedback on the display for moving apoint
Creates a feedback on the display for moving apolygon
Creates a feedback on the displayfor adding a new Bezier curve
Creates a feedback on the display foradding a new envelope
Creates a feedback on the displayfor adding a new line
Creates a feedback on the displayfor adding a new multipoint
Creates a feedback on the displayfor adding a new polygon
Creates a feedback on the displayfor moving a point in a polygon
Creates a feedback on the display forreshape
Creates a feedback on the display forresizing an envelope
Creates a feedback on the display forstretching all the vertices on a polyline
Creates a feedback on the display forediting vertices of a geometry by reference
Creates a feedback on the display formoving an image of symbolized elements
or features
BezierMove-Point-
Feedback
ILineMovePointFeedback
Group-Feedback
ISet
LineMove-Point-
Feedback
ILineMovePointFeedback
Move-Envelope-Feedback
IMoveEnvelopeFeedback
Move-Geometry-Feedback
IMoveGeometryFeedback
MoveImage-Feedback
IMoveImageFeedbackIMoveImageFeedback2
MoveLine-Feedback
IMoveLineFeedback
MovePoint-Feedback
IMovePointFeedback
Move-Polygon-Feedback
IMovePolygonFeedback
NewBezier-Curve-
Feedback
INewBezierCurveFeedback
New-Envelope-Feedback
INewEnvelopeFeedbackINewEnvelopeFeedback2
NewLine-Feedback
INewLineFeedback
New-MultiPoint-Feedback
INewMultiPointFeedback
Creates a feedback onthe display for a callout
Callout-Feedback
ICalloutFeedback
Creates a feedback on the displayfor adding a new circle
NewCircle-Feedback
INewCircleFeedback
New-Dimension-Feedback
INewDimensionFeedback
Modify-Dimension-Feedback
IModifyDimensionFeedback
NewPolygon-Feedback
INewPolygonFeedback
Polygon-MovePoint-Feedback
IPolygonMovePointFeedback
Reshape-Feedback
IReshapeFeedback
Resize-Envelope-Feedback
IResizeEnvelopeFeedbackIResizeEnvelopeFeedback2
StretchLine-Feedback
IStretchLineFeedback
Vertex-Feedback
IVertexFeedback
Creates a feedback on the displayfor modifying a dimension shape
Creates a feedback on the displayfor adding new dimension shapes
-
Transparency-DisplayFilter
ICloneIDisplayFilter
IPersistIPersistStream
ITransparencyDisplayFilter
Class-Breaks-
Renderer
IBarrierProperties2IClassBreaksRenderer
IClassBreaksUIPropertiesIDataExclusion
IDataNormalizationIDataSampling
ILevelRendererILookupSymbol
IRotationRendererUnique-Value-
Renderer
ILevelRendererILookupSymbol
IRotationRendererITransparencyRendererIUniqueValueRenderer
Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and theESRI globe logo are trademarks of ESRI, registered in the UnitedStates and certain other countries; registration is pending in theEuropean Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene,ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap aretrademarks of ESRI and www.esri.com is a service mark of ESRI.
ArcObjects is the development platform for ArcGIS Desktop, a suite of GISsoftware systems: ArcInfo, ArcEditor, and ArcView. These systems serve GISprofessionals with a spectrum of geographic data management, spatial editing, andcartographic visualization functionality.
The ArcGIS Desktop systems each contain a configuration of applications, such asArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety ofextension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, andothers.
This object model diagram shows how ArcMap presents geographic informationthrough views and how ArcCatalog manages geodatabases. These are theArcObjects components documented in volume one of Exploring ArcObjects.
You will find updates to ArcObjects developer resources atwww.esri.com/arcobjectsonline.
ESRI® ArcObjects™ is the developmentplatform for the ArcGIS™ family of applications
such as ArcMap™, ArcCatalog™, andArcScene™. The ArcObjects software
components expose the full range of functionalityavailable in ArcInfo™, ArcEditor™, and
ArcView™ to software developers.
TM
TM
ESRI ArcGIS 8.1 Object ModelExploring ArcObjects • Volume 1 • Applications and cartography
TM
TM
®
13
10 11
12
9
8
Geodatabase
A workspace is acontainer of spatial and
nonspatial datasets suchas feature classes, raster
datasets, and tables
A workspace factory is a dispenserof workspaces and allows a clientto connect to a workspace
0..1
A workspace helper holds aback-reference from a workspace
extension to a workspaceA workspace extensionextends the functionalityof a workspace
TableNameIModelInfo
IObjectClassNameISupportErrorInfo
ITableName
Feature-ClassName
IFeature-ClassName
Raster-DatasetName
IDatasetFileNameStatIRasterDatasetName
TinName
Workspace-Extension
IWorkspaceExtensionIWorkspaceExtensionControlArcInfo-
Workspace-Factory
Shapefile-Workspace-
Factory
Workspace-Factory
IWorkspaceFactoryIWorkspaceFactory2
Sde-Workspace-
Factory
IRemoteDatabase-WorkspaceFactory
ISetDefaultConnectionInfoISetDefaultConnectionInfo2
Cad-Workspace-
Factory
IMS-Workspace-
Factory
OLEDB-Workspace-
Factory
Access-Workspace-
Factory
ILocalDatabaseCompact
IWorkspaceHelper Workspace-Helper
A workspace propertyprovides information
about a workspace
A configuration parameter specifies aphysical storage parameter for data
created in an ArcSDE database
A configuration keyword specifies a set ofstorage parameters in an ArcSDE database
IConfigurationKeyword Configuration-Keyword
IConfigurationParameter Configuration-Parameter
IWorkspaceProperty Workspace-Property
*
Object-ClassName
Relationship-ClassName
IRelationshipClassNameFeature-DatasetName
IFeatureDatasetName
Geometric-Network-
Name
IGeometricNetworkName
NameIName
IPersistIPersistStream
CadDrawing-Name
Dataset-Name
IDatasetNameIMetadata
IMetadataEditINativeTypeInfo
ISQLPrivilege
Dataset
Row,object,feature
RowBufferIRowBuffer
A row buffer is used fordata loading with cursors
A row is a record in a table. All rowsin a table have the same set of fields
An object is a row in ageodatabase table
Row
IRelatedObjectEventsIRow
IRowChangesIRowCompare
IRowEditIRowEvents
IrowSubtypesISupportErrorInfo
IValidate
A query definition representsa database query on one or
more tables or feature classes
QueryDefIQueryDef
A cursor can iterate overa set of rows in a tableor insert new rows
A query filter restricts the set ofrows retrieved from a table
EnumIDsIEnumIDs
SelectionSetISelectionSet
ISelectionSet2
QueryFilterIClone
IPersistStreamIQueryFilter
IQueryFilter2
Query,cursor,
selection
An enumeration ofIDs represents a setof object identifiers
SpatialFilterISpatialFilter
Feature-Cursor
CursorICursor
Relationship
Simple-Relationship
An attributed relationship storesattributes on a relationship and alsorepresents many-to-many relationships
RelationshipIRelationship
*
0..*
0..*
Attributed-Relationship-
Class
Attributed-Relationship
IObjectClassDescription ObjectClass-Description
IFeatureClassDescription FeatureClass-Description
INetworkClassDescription Network-Class-
Description
An object class descriptionhelps automate the creationof new object classes
A feature class descriptionhelps automate the creationof new feature classes
A network class descriptionhelps automate the creationof new network featureclasses
Dimension-Feature
IDimensionFeature
Annotation-Feature
IAnnotationFeature
Dimension-Graphic
IDimensionGraphic
An annotation featurepersists and drawsannotation in a geodatabase
A dimension graphicdraws dimensions
A dimension shapestores the geometryfor a dimension
Rule
Complex-EdgeFeature
IComplexEdgeFeatureIComplexNetworkFeature
Simple-EdgeFeature
ISimpleEdgeFeatureISimpleNetworkFeature
EdgeFeatureIEdgeFeature
Junction-Feature
IJunctionFeature
Feature-Element
IFeatureElementIFeatureElementEdit
A simple edge feature has oneedge element in the logicalnetwork
Junction features represent thenodes in a geometric network
Simple-Junction-Feature
ISimpleJunctionFeatureISimpleNetworkFeature
A simple junctionfeature has one
junction element inthe logical network
Edge featuresrepresent the lines ina geometric network.
A complex edgefeature has one tomany edgeelements in thelogical network
Feature elements encapsulate thegeometry of connection points on
complex junction features
Geometric network
GraphIDataset
IGraphIFeatureClassContainer
A graph is a set oftopologically related
feature classes
INetworkFeatureINetworkFeatureEvents Network-
Feature
IDatasetEditIGeoDataset
IGeometricNetworkIGeometricNetworkConnectivity
IGeometricNetworkErrorDetectionIMetadata
IMetadataEditINativeTypeInfo
ISchemaLock
Geometric-Network
Data converterA dimension feature persistsand draws dimensions in ageodatabase
1..*
The dataset name objects identify andlocate datasets within a workspace
A feature class is a type ofobject class that storesgeographic features
A table is a collection of rows withattributes stored in columns
An object class storesnongeographic entities
1..*1..*
0..1
IndexesIClone
IIndexesIIndexesEdit
IPersist
1..*
FieldsICloneIFields
IFields2IFieldsEdit
IPersist
IndexICloneIIndex
IIndexEditFieldICloneIField
IFieldEditIModelInfo
IPersist
Geometry-Def
ICloneIGeometryDef
IGeometryDefEditIPersist
Each table has a set of fields that describe thedata format of attributes. If a field represents a
geometry, GeometryDef specifies its particulars.An index can be optionally specified on a field
TableSortITableSort A table sort controls the order
in which rows are returnedfrom a table or feature class
0..*
PropertySetIClone
IPersistIPersistStream
IPropertySetIPropertySet2
TableIClassITable
ITableCapabilities
A property set is a generic classthat is used to hold a set ofproperties for anything
GeoDatasetIGeodataSchemaEdit
IGeoDataset
A geodataset is a type of datasetthat stores geographic data
A feature dataset storesvector data in feature classes
IDatasetContainerIFeatureDataset
INetworkCollectionINetworkCollection2
IFeatureClassContainerIRelationshipClassContainer
Feature-Dataset
INativeTypeInfoIRasterDataset
IRasterBandCollectionIRasterPyramid
ITemporaryDataset
Raster-Dataset
See chapter 13,'Integrating raster
data'
Workspace-Name
IWorkspaceNameIWorkspaceName2
Feature
IFeatureIFeatureBuffer
IFeatureChangesIFeatureDraw
IFeatureEditIFeatureEvents
IFeatureSimplify
RelationshipClass
IDatasetIRelationshipClass
IRelationshipClass2IRelClassSchemaEdit
A relationship class representsrelationships throughembedded foreign keys
An attributed relationshipclass is a table that storesrelationships. Many-to-many relationships can bestored in this class
A simple relationship representsone-to-one or one-to-manyrelationships without attributes
ObjectIObject
IRowSubtypes
Connectivity-Rule
IConnectivityRule
*Rule
IRule
Connectivity rules constrain whichnetwork features can be connected
IFeatureCursorA feature is a geographic
object with a geometric shape
0..1
IClassExtension Class-Extension
ClassHelperIClassHelper
A class helper is an intermediate objectused to avoid circular references between
an object class and a class extension
IConfirmSendRelatedObjectEvents (optional)IObjectClassExtension
IObjectInspector (optional)IObjectClassDescription (optional)
IObjectClassEvents (optional)IObjectClassValidation (optional)
IRelatedObjectClassEvents (optional)IRelatedObjectClassEvents2 (optional)
ObjectClass-Extension
Feature-Class-
Extension
IFeatureClassExtensionIFeatureClassCreation (optional)
IFeatureClassDescription (optional)IFeatureClassDraw (optional)
IFeatureClassEdit (optional)INetworkClassDescription (optional)
0..1
0..1
A class extension is a wayfor a programmer to addclass-wide customization,such as a custom form fordata inspection
Edge-Connectivity-
Rule
IEdgeConnectivityRule
Range-Domain
ICloneIRangeDomain
IPersist
DomainIDomain
ISchemaLock
A domain is used to specify thepermissible values that a field in an
object class may take
A coded-value domain is usedto specify a set of permissible
values that a field may take
A range domain is used to specifythe legal minimum and maximum
values that a field may have
*
Coded-ValueDomain
ICloneICodedValueDomain
IPersist
ArcInfo coverage
1..*
*
IWorkspaceFactoryIWorkspaceFactory2
ArcInfo-Workspace-
Factory
IWorkspaceName Workspace-Name
ICoverageFeatureClassNameIDatasetNameFileStat
IFeatureClassNameINativeTypeInfo
Coverage-Feature-
ClassName
ICoverageNameIDatasetNameFileStatIFeatureDatasetName
INativeTypeInfo
Coverage-Name
Dataset-Name
IDatasetNameIMetadata
IMetadataEdit
IArcInfoItemsIArcInfoItemsEdit ArcInfoItems
IArcInfoItemIArcInfoItemEdit ArcInfoItem
Feature-Class
ICoverageFeatureClassICoverageFeatureClass2
IFeatureClassIFeatureClassLoadIFeatureClassWrite
IGeoDatasetINetworkClass
TableIArcInfoTable
IClassITable
ITableCapabilities
ICoverageICoverage2
IFeatureDatasetINetworkCollection
IFeatureClassContainerIRelationshipClassContainer
Feature-Dataset
NameIName
The ArcInfoWorkspaceFactory is theentry point to access the geodatabasefor ArcInfo coverages and tables
A CoverageFeatureClassName identifies and locatesa feature class in a coverage and is used for
obtaining some basic properties of the feature class
The IArcInfoTable interface is usedto access and manage the items in
an INFO table
ICoverage providesinformation about
ArcInfo coverages andprocessing operations
The ICoverageFeatureClassinterface provides information
on an individual feature class ofan ArcInfo coverage
The ArcInfoItems object is used tomanage the item set, or collection
of items in an INFO table
IArcInfoWorkspace is usedto create new coverages or
INFO tables
The ArcInfoItem object represents afield of the INFO table, and is used to
create and manage individual fields
A CoverageName identifies andlocates a dataset object and
supports methods to instantiatethe actual named object
DatasetIDataset
IDatasetAnalyze (optional)IDatasetEdit
IDatasetEditInfoISchemaLock (optional)
Workspace
IArcInfoWorkspaceIDatabaseCompact (optional)
IDatabaseConnectionInfo (optional)IDataset
IDatasetContainerIFeatureWorkspace
IFeatureWorkspaceAnno (optional)IFeatureWorkspaceManage
IFeatureWorkspaceSchemaEditIGeodatabaseRelease (optional)
ISpatialCacheManagerISQLSyntax
ITransactions (optional)ITransactionsOptions (optional)
IWorkspaceIWorkspaceConfiguration (optional)
IWorkspaceDomains (optional)IWorkspaceDomains2 (optional)
IWorkspaceEditIWorkspaceEvents
IWorkspaceExtensionManager (optional)IWorkspaceProperties (optional)
IWorkspaceSpatialReferenceInfo
XY eventsAn XYEventSource is a point feature classwith features dynamically generated fromcoordinates in a table
An XYEventProperties providesinformation about an
XYEventSource
An XYEvent2FieldsProperties specifies the fields needed to generate geometry foran XYEventSource where at least two fields are required
IXYEventSource XYEvent-Source*
NameIName
DatasetNameIDatasetName
An XYEventSourceNamerepresents an XYEventSource. An
XYEventSource can be createdfrom an XYEventSourceName
ICloneIPersistStream
ISupportErrorInfoIXYEvent2FieldsProperties
XYEvent2-Fields-
Properties
XYEvent-Properties
IXYEventProperties
XYEvent-SourceName
IFeatureClassNameIPersistStream
ISupportErrorInfoIXYEventSourceName
TableIClassITable
ITableCapabilities
Feature-Class
IFeatureClassIFeatureClassLoad (optional)
IFeatureClassWriteIGeoDataset
INetworkClass
ObjectClass
IClassSchemaEditIClassSchemaEdit2
IModelInfoIObjectClass
IObjectClassInfoIObjectClassInfo2
ISubtypesIValidation
IValidation2
DatasetIDataset
IDatasetAnalyze (optional)IDatasetEdit
IDatasetEditInfoISchemaLock (optional)
1..*
Dimension-Class-
Extension
IDimensionClassExtension
An annotation featureclass extension managesthe drawing ofannotation features
A dimension class extensionmanages the drawing of
dimension features
The dimension styles objectmanages a collection ofdimension style objects
A dimension style definesproperties for controlling the
symbology of dimensions
Annotation-FeatureClass-
Extension
IAnnoClassIAnnoClassAdmin
IAnnoClassAdmin2
Dimension-Styles
IDimensionStylesIPersistStream
Dimension-Style
ICloneIDimensionStyle
IDimensionStyleDisplayIDimensionStyleText
IPersistStream
Rules are associated with featureclasses or object classes and areused to validate features or objects
An attribute rule isthe application of anattribute domain toan attributeJunction-
Connectivity-Rule
IJunctionConnectivityRuleIJunctionConnectivityRule2
Attribute-Rule
IAttributeRule
Relationship-Rule
IRelationshipRule
Network features participate in ageometric network. Each feature isassociated with one or manyelements in a logical network
A relationshiprule constrainsthe cardinality ofa relationship
Dimension-Shape
ICloneIDimensionShape
IPersistIPersistStreamITransform2D
A name object identifies and locates a database or map objectand supports methods to instantiate the actual object
A workspace name specifiesa workspace object and canbe used to instantiate it
EnumInvalid-Object
IEnumInvalidObject
InvalidObject-Info
IInvalidObjectInfo
An invalid object enumeratorrepresents a set of objects thatfailed a data conversion process
Invalid object information explainswhy data could not be loaded
An object loader appendsdata to existing feature
classes or tablesA feature data converter lets you
convert data between geodatabases,shapefiles, and coverages
FeatureData-Converter
IFeatureDataConverterIFeatureDataConverter2
IFeatureProgressISupportErrorInfo
Object-Loader
IFeatureProgressIObjectLoader
ISupportErrorInfo
Field-Checker
IFieldChecker
Enum-FieldError
IEnumFieldError
FieldErrorIFieldError
Object-LoaderUI
IObjectLoaderUIIObjectLoaderUIProperties
A field error provides informationabout a field problem
A field error enumerator stores theproblems found by a field checker
A field checker will find potentialproblems in field names
The object loader user interface is thesame as that of the ArcMap object loader
A locator knows how to transforma spatial description into a shape
A route locator knows how totransform a route location into a shape
A route measure locator is aspecific kind of route locator
that requires a route identifierand one or two measure values
A route event sourceserves an event table as a
dynamic feature classA route location describes either a precise
location along a route or a portion of aroute between a from- and to-measure
Route event propertiesdescribe the characteristics
of an event table
IEventSourceErrorsIRouteEventSource RouteEvent-
Source*
**
IRouteMeasureLineLocation Route-Measure-
LineLocation
Route-Measure-Locator
LocatorNameILocatorName
Route-Measure-
LocatorName
IRouteLocatorNameIPersistStream
ISupportErrorInfoRouteEvent-SourceName
IFeatureClassNameIPersistStream
IRouteEventSourceNameISupportErrorInfo
DatasetNameIDatasetName
NameIName
A route measure locator namerefers to a route measure locator
A locator name refers to a locator
A route measure event geoprocessorfacilitates event overlay, dissolve, and
concatenation
A route eventsource name objectrefers to a routeevent source
IRouteMeasure-PointProperties
Route-MeasurePoint-
Properties
IRouteMeasureLine-Properties
Route-MeasureLine-
Properties
IRouteMeasurePointLocation Route-Measure-
PointLocation
TableIClassITable
ITableCapabilities
Feature-Class
IFeatureClassIFeatureClassLoad (optional)
IFeatureClassWriteIGeoDataset
INetworkClass
ObjectClass
IClassSchemaEditIClassSchemaEdit2
IModelInfoIObjectClass
IObjectClassInfoIObjectClassInfo2
ISubtypesIValidation
IValidation2
DatasetIDataset
IDatasetAnalyze (optional)IDatasetEdit
IDatasetEditInfoISchemaLock (optional)
LocatorILocator
ILocatorFullName
Route-Measure-Locator
IRouteLocator
RouteEvent-Properties
ICloneIPersistStream
IRouteEvent-Properties
ISupportErrorInfo
Route-Measure-Location
IRouteLocationISupportErrorInfo
Route-Measure-
Geoprocessor
IRouteMeasure-EventGeoprocessor
ISupportErrorInfo
Dynamicsegmentation
Workspace and name
An XML property set stores themetadata for a dataset
Xml-PropertySet-
Edit
IXmlPropertySetEdit
FGDC-Synchroni-
zationHelper
ISynchronizationHelper
XML property set edit is an alternativeto using an XML property set for
changing metadata
The FGDC synchronization helperhelps translate dataset properties intometadata properties
GxObject,Name,
Dataset, TIN,Geometric-Network,
other objects
IMetadataIMetadataEdit
Xml-PropertySet
IPersistStreamInitIPropertySet
ISupportErrorInfoIXmlPropertySet
IXmlPropertySet2
Metadata
A geometric network is a type ofgraph that is uniquely associatedwith a logical network thatrepresents network topology
Versioning
Enum-VersionInfo
IEnumVersionInfo
VersionInfoIVersionInfo
Difference-Cursor
IDifferenceCursor
Versioned-Workspace
IVersionIVersionEdit
IVersionedWorkspace
A versioned workspace supportsmultiuser editing and multiple
representations of features classes andtables in a relational database system
A version information enumeratorcontains available versions for
obtaining properties
Version information contains read-onlyinformation to describe version properties A difference cursor
returns all the differencesbetween two versionsbased on a difference type
A conflict class enumeratorreturns all classes containingconflicts after performing areconcile
Conflicts-Window
IConflictDisplayIConflictsWindow
IConflictsWindow2IExtension
Version-Manager
IVersionManagerIVersionManagerEvents
The conflictswindow providesaccess to the editorconflicts window
The version manager provides auser interface to create and manageversion properties
Enum-ConflictClass
IEnumConflictClass
Dataset
IDatasetIDatasetAnalyze (optional)
IDatasetEditIDatasetEditInfo
ISchemaLock (optional)IVersionedObject
IVersionedObject2
TableIClass
IConflictClassITable
ITableCapabilitiesIVersionedTable
Workspace
IDatabaseCompact (optional)IDatabaseConnectionInfo (optional)
IDatasetIDatasetContainer
IFeatureWorkspaceIFeatureWorkspaceAnno (optional)
IFeatureWorkspaceManageIFeatureWorkspaceSchemaEdit
IGeodatabaseRelease (optional)ISpatialCacheManager
ISQLSyntaxITransactions (optional)
ITransactionsOptions (optional)IWorkspace
IWorkspaceConfiguration (optional)IWorkspaceDomains (optional)
IWorkspaceDomains2 (optional)IWorkspaceEdit
IWorkspaceEventsIWorkspaceExtensionManager (optional)
IWorkspaceProperties (optional)IWorkspaceSpatialReferenceInfo
A relationship defines ageneral association betweentwo objects or features
A selection set references a setof rows by a selection criteria
A spatial filter is a query filter thatincludes spatial and attribute constraints
A feature cursorreferences a setof features
Table,object class,feature class
On-the-fly table joins TableIClass
IDatasetITable
A RelQueryCursor is a cursor thatreferences the rows in a RelQueryTable
SelectionSetISelectionSet
ISelectionSet2
QueryFilterIQueryFilter
IQueryFilter2
CursorICursor
SpatialFilterISpatialFilter
A RelQueryRow is a recordin a RelQueryTable
A RelQueryTable is atable with rows and
columns derived froma joined pair of tables
IFeatureClass (optional)IObjectClass
IRelQueryTableIRelQueryTableInfo
IRelQueryTableManageIVirtualTable
RelQuery-Table
DatasetNameIDatasetName
NameIName
Relationship-ClassName
IRelationshipClassName
Memory-Relationship-ClassName
IMemoryRelationshipClassName
RelQuery-TableName
IRelQueryTableName
A RelQueryTable name is an object thatrepresents a RelQueryTable. A RelQueryTable
can be created from a RelQueryTable name
A memory relationship class name is an object that representsa memory relationship class. A memory relationship class can
be created from a memory relationship class name
RelQueryRow
IFeature (optional)IFeatureBuffer (optional)IFeatureDraw (optional)
IObjectIRow
IRowBuffer
RelQuery-TableFactory
IRelQueryTableFactory
RelQuery-Cursor
IFeatureCursor (optional)
Relationship-Class
IDatasetIRelationshipClass
IRelationshipClass2
Memory-Relationship-
Class
Memory-Relationship-ClassFactory
IMemoryRelationship-ClassFactory
A memory relationship class isa type of simple relationship
class where the origin anddestination classes can be from
different workspaces
A memory relationship classfactory manages the memoryrelationship classes that exist
in the application
A RelQueryTableFactorymanages the RelQueryTables
that exist in the application
Complex-Junction-Feature
IComplexJunctionFeatureIComplexNetworkFeature
IFeatureConnectIFeatureSnap
A complex junctionfeature has one tomany junction andedge elements inthe logical network
Class extension
Feature-Class
IFeatureClassIFeatureClassLoad (optional)
IFeatureClassWriteIGeoDataset
INetworkClass
ObjectClass
IClassSchemaEditIClassSchemaEdit2
IModelInfoIObjectClass
IObjectClassInfoIObjectClassInfo2
ISubtypesIValidation
IValidation2
DatasetIDataset
IDatasetAnalyze (optional)IDatasetEdit
IDatasetEditInfoISchemaLock (optional)
Workspace
IDatabaseCompact (optional)IDatabaseConnectionInfo (optional)
IDatasetIDatasetContainer
IFeatureWorkspaceIFeatureWorkspaceAnno (optional)
IFeatureWorkspaceManageIFeatureWorkspaceSchemaEdit
IGeodatabaseRelease (optional)ISpatialCacheManager
ISQLSyntaxITransactions (optional)
ITransactionsOptions (optional)IWorkspace
IWorkspaceConfiguration (optional)IWorkspaceDomains (optional)
IWorkspaceDomains2 (optional)IWorkspaceEdit
IWorkspaceEventsIWorkspaceExtensionManager (optional)
IWorkspaceProperties (optional)IWorkspaceSpatialReferenceInfo
Spatial reference
A prime meridian objectspecifies the line of zerolongitude for the coordinates ina geographic coordinate system.
The spheroid object models theapproximate shape of the earth's surface
The angular unit specifies themeasurement units used in ageographic coordinate system
A projected coordinate systemobject includes a geographic
coordinate system, aprojection, a set of projection
parameters, and a linear unit
A projection object specifies the mathematicaltransformation to convert between geographic
and planar coordinates
The parameter can be used todefine and modify the values forspecific properties for a projectedcoordinate system
The linear unit specifies themeasurement units used in aprojected coordinate system.
The unknown coordinate system is used when thecoordinate system is not known or unavailable
The spatial reference is the base for three types of coordinatesystems: projected, geogaphic, and unknown
The geographic coordinatesystem defines a coordinate
system that describes thepositions of features on the
earth using latitude andlongitude values
A datum represents areference system for latitude-
longitude coordinates and isdefined by a spheroid and thespheroid's position relative to
the center of the earth
ProjectedCoordinate
System
IPRJSpatialReferenceIProjectedCoordinateSystem
IProjectedCoordinateSystem2IProjectedCoordinateSystemEdit
ISRPersistStream
IGeographicCoordinateSystemIGeographicCoordinateSystem2
IGeographicCoordinateSystemEditIPRJSpatialReference
ISRPersistStream
Geographic-Coordinate-
System
Prime-Meridian
ICloneIESRISpatialReference
IPersistStreamIPrimeMeridian
IPrimeMeridianEditISpatialReferenceInfo
ISupportErrorInfo
Spheroid
ICloneIESRISpatialReference
IPersistStreamISpatialReferenceInfo
ISpheroidISpheroidEdit
ISupportErrorInfo
Datum
ICloneIDatum
IDatumEditIESRI-
SpatialReferenceIPersistStream
ISpatial-ReferenceInfo
ISupportErrorInfo
AngularUnit
IAngularUnitIAngularUnitEdit
ICloneIESRISpatialReference
IPersistStreamISpatialReferenceInfo
ISupportErrorInfoIUnit
ProjectionIClone
IESRISpatialReferenceIPersistStream
IProjectionISupportErrorInfo
Parameter
ICloneIESRISpatialReference
IParameterIParameterEditIPersistStream
ISpatialRerefenceInfoISupportErrorInfo
LinearUnit
ICloneIESRISpatialReference
ILinearUnitILinearUnitEditIPersistStream
ISpatialReferenceInfoISupportErrorInfo
IUnit
Spatial-Reference-
Info
ISpatialReferenceInfo
The spatial reference info retrievesinformation about a spatial reference object
The ESRI spatial reference info provides methods to importand export components to and from spatial reference objects
The spatial reference environment creates predefined spatialreference objects
ESRISpatial-Reference-
Info
IESRISpatialReference
SpatialReference-
Environment
IClassFactoryISpatialReferenceFactory
ISpatialReferenceFactory2ISupportErrorInfo
The composite geotransformation allows you to set up atransformation path between two datums by definingtwo or more geotransformation objects and theirassociated direction
Geo-Transformation-
OperationSet
IGeoTransformationOperationsetISupportErrorInfo
The geotransformation operation set stores a setof geographic transformation operators (a
geotransformation object and its direction)
Geo-Transformation
IGeoTransformation
TransformationIClone
IPersistStreamISupportErrorInfo
ITransformation
Abridged-Molodensky-
Transformation
IMolodenskyTransformation
Coordinate-Frame-
Transformation
ICoordinateFrameTransformation
Geocentric-Translation
IGeocentricTranslation
PositionVector-Transformation
IPositionVectorTransformation
Molodensky-Transformation
IMolodenskyTransformation
The abridged Molodensky transformation usesthree parameters (dX, dY, dZ) to convert between
geographic coordinate systems (datums)
The coordinate frame transformation object uses sevenparameters (dX, dY, dZ, rX, rY, rZ, dS) to convert
between geographic coordinate systems (datums)
The geocentric translation transformation uses threeparameters (dX, dY, dZ) to convert between geographic
coordinate systems (datums)
The Molodensky transformation uses three parameters (dX, dY,dZ) to convert between geographic coordinate systems (datums)
The position vector (Bursa-Wolf) transformation object uses sevenparameters (dX, dY, dZ, rX, rY, rZ, dS) to convert between
geographic coordinate systems (datums)
The geotransformation classspecifies the methods used byall geographic transformations
Transformations are used byspatial reference and geometrytransformation objects
The longitude rotation transformation converts between twoprime meridians by applying a shift to the longitude values
Grid-Transformation
IGridTransformation
NADCON-Transformation
HARN-Transformation
The NADCONtransformation is a grid-basedtransformation method thatconverts geographiccoordinates between theNAD 1927 and the NAD 1983datums
Grid transformations performaccurate coordinate conversionsusing a grid, or matrix, ofcontrol points held in a file
The HARN transformation is a highly accurategrid-based transformation method thatconverts geographic coordinates between theNAD1983 datum and the HARNreadjustments (used in the United States)
Longitude-Rotation-
Transformation
ILongitudeRotationTransformationILongitudeRotationTransformationEdit
Composite-Geo-
Transformation
ICloneICompositeGeoTransformation
IGeoTransformationIPersistStream
ISupportErrorInfoITransformation
Transformation
SpatialReference
Spatial-Reference
ICloneIPersist
IPersistStreamIESRISpatialReference
ISpatialReferenceISpatialReference2
ISpatialReferenceInfoISupportedErrorInfo
Unknown-Coordinate-
System
IUnknownCoordinateSystem
Raster1..*
*
*
*
Raster format information providesinformation about a raster format
specific to the user interface
A raster picture is a lightweightobject that can be used to view some
raster formats in a simple manner
A double point is a supportobject that represents a point
An RGB renderer compositely draws threebands of a raster dataset, one to each of thered, green, and blue channels of the display
A unique value renderer displays each uniquevalue in the dataset using a different color
A stretch renderer stretches the valuesfrom the dataset along a color ramp
A raster layercombines raster dataand instructions tovisualize, or render,this data
A raster renderer is an abstract classthat provides the basic tools for rasterrendering operations
IIdentifyObjIRasterIdentifyObj
A raster catalog layer is aspecial type of layer used to
display raster catalogs
A raster identify objectallows identification ofindividual raster pixels ina dataset
A raster SDE loadercreates and loads rasterdata into an SDE database
A raster defaults environment allows theuser to customize raster default behavior
A classify renderer divides the datavalues for a dataset into classes andassigns each class to a specific color
A raster catalog table is aspecial type of table used todisplay multiple rasterdatasets as a single entity
A raster geometry proc can be used to performgeometric operations, such as flip, mirror, rotate,
and polynomial warping, on a raster
A format list canidentify all supportedraster formats andprovide informationabout them
The Sid encoder compresses araster dataset into MrSID format
A raster band representsa single band of a raster
dataset on disk
A raster band namemaintains name and
other information fora raster band
A raster statistics object providesaccess to pixel statistics from araster band
A raster histogramprovides access to thehistogram of a raster band
A raster colormapprovides access tothe colormap of araster band
The raster bands object allows adeveloper to easily enumeratethrough a set of raster bands
A raster dataset namemaintains name and other
information for a rasterdataset
A raster cursor is a mechanism for iteratingthrough all of the pixel blocks in a raster
The pixel block is a genericcontainer for a pixel arraythat can be read from any
raster or raster band
A raster dataset represents anexisting dataset stored on diskor in a database in a particular
raster format
A raster workspace can openand create raster datasets
A raster workspace factory cancreate raster workspaces
IGxObjectFilter GxFilter-Raster-
Datasets
IEnumDatasetIEnumRasterBand RasterBands
GxFilterRasterDatasets filters all non-raster datasets out from the GxBrowser
IDatasetNameIName
IPersistStreamISDERasterTableName
ISQLPrivilege
SDERaster-TableName
An SDE raster table namemaintains name and other
information for an SDE raster
IDatasetNameIMetadata
IMetadataEditIName
INativeTypeInfoIPersistStream
IRasterBandName
RasterBand-Name
IGeoDatasetIRaster
IRasterAnalysisPropsIRasterBandCollection
IRasterDefaultPropsIRasterProps
ISupportErrorInfo
Raster
IRasterStatistics Raster-Statistics
IRasterHistogram Raster-Histogram
IRasterColormap Raster-Colormap
IRasterCursor
RasterCursor
IPixelBlock
PixelBlock
Raster-IdentifyObj
IRasterUniqueValueRendererIRasterRendererClassInfo
RasterUnique-Value-
RendererIRasterRGBRenderer
IRasterStretch RasterRGB-Renderer
IRasterClassifyColorRampRendererIRasterClassifyUIProperties
IRasterDataExclusionIRasterRendererClassInfo
RasterClassify-ColorRamp-
Renderer
A raster is a dynamic, in-memory representation ofpixels that derives from araster data source on disk
RasterRendererRaster
RasterBand
RasterDataset
ISupportErrorInfoIWorkspaceFactory
IWorkspaceFactory2
Raster-Workspace-
Factory
IDatasetIDatasetAnalyzeIDatasetFileStat
IGeoDatasetIGeoDatasetSchemaEdit
IMetadataIMetadataEdit
INativeTypeInfoIRasterBandCollection
IRasterDatasetIRasterPyramid
ISupportErrorInfoITemporaryDataset
IWorldFileExport
Raster-Dataset
IDatasetNameIDatasetNameFileStat
IMetadataIMetadataEdit
INameINativeTypeInfoIPersistStream
IRasterDatasetName
Raster-Dataset-
Name
IDatasetIRasterWorkspace
IRasterWorkspace2ISupportErrorInfo
IWorkspace
Raster-Workspace
IClassIDataset
IGeoDatasetIMetadata
IMetadataEditINativeTypeInfo
IObjectClassIRasterBand
IRasterDatasetIRasterProps
IRasterPyramidIRasterTable
IRasterTransactionIRawPixels
ISupportErrorInfoITable
RasterBand
IRasterStretchIRasterStretchColorRampRenderer
IRasterRendererClassInfo
RasterStretch-ColorRamp-
Renderer
IConnectionPointLayerIDataLayer
IDataLayer2IDisplayAdmin
IGeoDatasetIIdentify
ILayerILayerDrawingProperties
ILayerEffectsILayerEvents
ILayerExtensionsILayerInfo
ILayerPositionILegendInfo
IPersistStreamIRasterCatalogLayer
Raster-Catalog-
Layer
Raster-Renderer
IDisplayAdminIIdentify
ILegendInfoIPersistStream
IRasterDisplayPropsIRasterRenderer
IAttributeTableIClass
IConnectionPointContainerIDataLayer
IDataLayer2IDataset
IDisplayAdminIDisplayRelationshipClass
IDisplayTableIGeoDataset
IGeoReferenceIIdentify
ILayerILayerDrawingProperties
ILayerEffectsILayerEvents
ILayerExtensionsILayerFields
ILayerInfoILayerPosition
ILegendInfoIObjectClass
IPersistStreamIRasterLayer
IRelationshipClassCollectionIRelationshipClassCollectionEdit
ITableITableFields
ITableSelection
RasterLayer
RasterLayer
IRasterRendererMaker Raster-Renderer-
MakerDefault
ICloneIColorSymbol
IFillSymbolIMapLevel
IPersistStreamIPropertySupport
ISymbol
ColorSymbol
IRasterGeometryProc Raster-Geometry-
Proc
IRasterPicture
RasterPictureIRasterSdeConnection
IRasterSdeServerOperationIRasterSdeStorage
ISupportErrorInfo
Raster-SdeLoader
IFormatDataIFormatList
IFormatTest FormatList
IRasterFormatInfoRaster-
FormatInfo
IRasterEncoderISupportErrorInfo SidEncoder
IPnt
DblPnt
The raster renderer makerdefault object determinesthe renderer used todisplay a raster by default
IRasterDefaultsEnvIRasterDefaultsEnv2
Raster-DefaultsEnv
IGeoDatasetIRasterCatalogTable Raster-
CatalogTable
A color symbolobject specifies acolor to be displayedby a raster renderer
Network
INetworkWorkspaceINetworkWorkspace2 Network-
Workspace
Street-Network
IStreetNetworkUtility-Network
IUtilityNetwork
INetWeightINetWeightEdit NetWeight
ForwardStarIForwardStar
NetElement-Class
INetElementClass
NetWeight-Association
INetWeightAssociationINetWeightAssociationEdit
NetElement-Description
INetElementDescriptionINetElementDescriptionEdit
NetFlagINetFlag
EdgeFlagIEdgeFlag
The Network object is the logicalnetwork associated with a
geometric network. It representsthe linear connectivity among a set
of network features
A junction flag is anetwork flag that
occurs at a junction
An edge flag is a network flag that occurssomewhere along an edge. The position is
measured as a percent along the edge
A network flag is a locationon a network. It is used asinput for a network solver
A network weight is used tolimit tracing in a network anddenote the cost of tracingthrough a network element
A forward star returns allthe adjacent elements givena junction and edge element.It is used extensively whenwriting solvers
A network element classprovides access to theIDs of the object classesparticipating in thenetwork
A network elementdescription is a container tohold information about anetwork element to be used incalls in INetTopologyEdit
A network weight associationdefines how an object classparticipates in a weight
A network solver defines the traceenvironment before executing one
of the trace methods from the traceflow solver
A trace flow solver performs tracingoperations on a logical network
A network workspace letsyou open and create a logical
network
DatasetSee chapter 8,'Accessing theGeodatabase'
IDatasetIDatasetAnalyze (optional)
IDatasetEditIDatasetEditInfo
ISchemaLock (optional)
EnumNet-EIDArray
IEnumNetEIDIEnumNetEIDBuilder
NetSolverINetSolver
INetSolverWeights
TraceFlow-Solver
ISupportErrorInfoITraceFlowSolver
ITraceFlowSolver2
A utility network is a network whereflow is directed. You can establishflow direction on this type of network
A street network is anetwork where flowis undirected
JunctionFlagIJunctionFlag
A network loader creates ageometric network along withits logical network
Network-Loader
INetworkLoaderINetworkLoader2
INetworkLoaderProgressINetworkLoaderProps
ISupportErrorInfo
0..*
EdgeFlag-Display
IEdgeFlagDisplayISupportErrorInfo
Selection-SetBarriers
ISelectionSetBarriers
Junction-FlagDisplay
IJunctionFlagDisplay
FlagDisplayIFlagDisplay
IFeatureDraw
TraceTask
A utility network analysis extensionprovides trace and path finding
capabilities to a Utility NetworkAnalyst toolbar
A trace task executes a definedtrace or path-finding routine
Network elementbarriers create barriersof individual elements
Selection set barrierscreate barriers fromselected sets of features
A junction flag displaybegins a trace or pathfinding at a junction
A flag display maintainsthe starting point fortraces and path findings
The find ancestors task finds thecommon ancestors in an upstream
trace from two or more flags
The find connected task findsall elements that can be
reached from the current flags
The find loops task findselements that can be reached
from more than one direction
The trace downstream taskfinds all elements that can bereached in a downstreamflow from the current flags
The trace upstream taskfinds all elements that canbe reached in an upstreamflow from the current flags
The find disconnected task findsall elements that cannot be
reached from the current flags
The find accumulation taskfinds the accumulated cost of
an upstream trace
The find path upstream taskfinds the optimal path based onelements flowing upstream
The trace path taskfinds the optimal pathbetween flag displays
Find-Ancestors-
Task
Find-Disconnected-
Task
Find-Connected-
Task
FindLoops-Task
Trace-Upstream-
Task
Trace-Downstream-
Task
ITracePathTaskResults TracePath-Task
ITracePathTaskResults FindPath-Upstream-
Task
Find-Accumulation-
Task
ITracePathTaskResults
An edge flag display begins a traceor path finding along an edge
IExtensionIExtensionAccelerators
IExtensionConfig Extension
A network analysisextension managesthe parametersfound within theUtility NetworkAnalysis toolbar
IExtensionINetworkAnalysisExt
INetworkAnalysisExtBarriersINetworkAnalysisExtFlags
INetworkAnalysisExtResultColorINetworkAnalysisExtResults
INetworkAnalysisExtWeightFilterINetworkAnalysisExtWeights
ISupportErrorInfo
Network-AnalysisExt
NetElement-Barriers
INetElementBarriersINetElementBarriers2
0..*
TraceTaskITraceTask
ITraceTaskResults
UtilityNetwork-AnalysisExt
ITraceTasksIUtilityNetworkAnalysisExt
Network
NetworkAnalystExt
NetSolver
NetFlag
Network
INetAttributesINetAttributesEdit
INetElementsINetSchema
INetSchemaEditINetTopology
INetTopologyEditINetwork
INetworkUpdateIVersionedObject2
Workspace
See chapter 8,'Accessing theGeodatabase'
IDatabaseCompact (optional)IDatabaseConnectionInfo (optional)
IDatasetIDatasetContainer
IFeatureWorkspaceIFeatureWorkspaceAnno (optional)
IFeatureWorkspaceManageIFeatureWorkspaceSchemaEdit
IGeodatabaseRelease (optional)ISpatialCacheManager
ISQLSyntaxITransactions (optional)
ITransactionsOptions (optional)IWorkspace
IWorkspaceConfiguration (optional)IWorkspaceDomains (optional)
IWorkspaceDomains2 (optional)IWorkspaceEdit
IWorkspaceEventsIWorkspaceExtensionManager (optional)
IWorkspaceProperties (optional)IWorkspaceSpatialReferenceInfo
*
*Geometry
Geometry-Collection
IGeometryCollection
A point is a zero-dimensionalgeometry. Points are defined withx,y coordinate pairs with optional
altitudes, measures, and point IDs.
A geometry collection is a collectionof part geometries used to constructa single high-level geometry
A 2D affine transformationdefines a two-dimensional affinetransformation matrix and is usedto create an arbitrary two-dimensional transformation
A path is a sequence ofconnected segments.
Paths make up polylines
A ring is a closed path; thebegin and endpoints are the
same. Rings make up polygons
A polyline is an ordered collection of paths that can bedisjoint or connected. Polylines are used to represent
the geometry of all linear features
A polygon is a collection of rings that are partiallyordered by their containment relationship. Polygonsare used to represent the geometry of areal features
A polycurve is an abstractmultipart curve
*
PolylineIMSegmentation2
IPolylineIPolyline2
PolygonIArea
IPolygonIPolygon2
Polycurve
IConstructCurveIGeometry2
IGeometryCollectionIHitTest
IMAwareIMSegmentation
IMCollectionIPersist
IPersistStreamIPointCollection
IPointIDAwareIPolycurve
IPolycurve2IProximityOperator
IRelationalOperatorISegmentCollection
ISpatialIndexITopologicalOperator
ITopologicalOperator2IZ
IZAwareIZCollection
PathIConstructPath
IPathIPointCollection
ISegmentCollection
A multipoint is an unordered collection of points.Features with multipoint geometries represent a set
of points that share a common set of attributes
*
MultiPatch
documented with3D geometry
objects
IConstructMultiPatchIGeometryCollection
IHitTestIMAware
IMCollectionIMultiPatch
IPersistIPersistStream
IPointCollectionIPointIDAwareITransform3D
IZAwareIZCollection
Point
IConstructPointIConstructPoint2
IGeometry2IHitTest
IMAwareIPersist
IPersistStreamIPoint
IPointIDAwareIProximityOperator
IRelationalOperatorITopologicalOperator
ITransform3DIZAware
RingIAreaIRing
LineIConstructLine
ILineILine2
CurveICurve
Geometry
An envelope is the rectangularbounding box of a geometry defined
by maximum and minimumcoordinate and attribute values
A feature is associated with one ofthese types of geometry: points,multipoints, polylines, or polygons.
A geometry environment is asingleton object that stores globalvariables used by other geometryobjects. It lets you creategeometry objects from differentkinds of input
A geometry bag is aheterogeneous collection of
points, multipoints, polylines,and polygons
A curve is an abstract segment-basedgeometry. Curves may be single
segments, single paths, a collection ofpaths, single rings, or a collection of rings
A circular arc is part of acircle. It is commonly used
for road curb lines atstreet intersections
An elliptic arc is part of anellipse. It is used for thegeometry of a transitionalfeature such as a highway ramp
A line is a straight segmentbetween two points. Linesare used for straightconstructions, such as aroad segment or a parcelboundary
A Bézier curve is aparametric curve definedby a set of third-orderpolynomials through fourcontrol points
EllipticArcIEllipticArcIConstruct-EllipticArc BezierCurve
IBezierCurveIConstruct-
BezierCurve
Segments are the parametriccurves between two endpoints.Segments may be linear lines or
true nonlinear circular arcs,elliptic arcs, or Bézier curves
Segment
ICurve2IProximityOperator
ISegmentISegmentIDISegmentMISegmentZ
GeometryIClone
IGeometryITransform2D
ISupportErrorInfo
*
Geometry-Environment
IConstructAngleIConstructDomainExtent
IEncode3DPropertiesIExtrude
IGeometryEnvironmentIGeometryEnvironment2
IGeometryFactoryIGeometryFactory2
ISupportErrorInfo
CircularArcICircularArcIConstruct-CircularArcIConstruct-
CircularArc2
Envelope
IAreaIEnvelope
IEnvelope2IGeometry2
IHitTestIMAwareIPersist
IPersistStreamIProximityOperator
IRelationalOperatorIZAware
3D geometry
SphereIClone
IGeometryISphere
Vector3DIClone
ISupportErrorInfoIVector
IVector3D
RayIClone
IGeometryIRay
*
*
A ray is an infinite one-dimensionalline defined by an origin point and athree-dimensional direction ofinfinite extension from the origin
A sphere is a three-dimensionalsurface that is a specified radiusfrom a central origin point
A 3D vector has a specificdirection and magnitude, butno fixed location. A 3D vectorcan be used to definedirections and axes
A triangle fan is a surfacepatch consisting oftriangle surfaces betweentwo consecutive pointsconnected around a singlecentral point
A triangle strip is asurface patch consisting oftriangle surfaces betweenthree consecutive points
A multipatch is a three-dimensional collection of
surface patches; triangle fans,triangle strips, and rings
GeometryIClone
IGeometryITransform2D
ISupportErrorInfo
RingIAreaIRing
*
MultiPatch
IConstructMultiPatchIGeometryCollection
IHitTestIMAware
IMCollectionIMultiPatch
IPersistIPersistStream
IPointCollectionIPointIDAwareITransform3D
IZAwareIZCollection
Segment
Polycurve
Curve
PointGeometry-
Bag
ICloneIConstructGeometryCollection
IEnumGeometryIGeometry
IGeometry2IGeometryBag
IGeometryCollectionIRelationalOperator
ISpatialIndexITopologicalOperator
TriangleFan
ICloneIGeometry
IGeometry2IGeometryCollection
IMAwareIPointCollection
IPointIDAwareISupportErrorInfo
ITransform2DITriangleFan
IZAware
Triangle-Strip
ICloneIGeometry
IGeometry2IGeometryCollection
IMAwareIPointCollection
IPointIDAwareISupportErrorInfo
ITransform2DITriangleStrip
IZAware
AffineTrans-formation2D
IAffineTransformation2DIAffineTransformation2D2
ICloneISupportErrorInfo
ITransformation
Multipoint
IConstructMultipointIGeometry2
IGeometryCollectionIHitTest
IMAwareIMCollection
IMultipointIPersist
IPersistStreamIPointCollection
IPointCollection2IPointIDAware
IProximityOperatorIRelationalOperator
ISpatialIndexITopologicalOperator
ITopologicalOperator2IZAware
IZCollection
Types of Classes
An abstract class cannot create new objects; it is a specification forinstances of subclasses (through type inheritance.)
A coclass can directly create objects by declaring a new object.
A class cannot directly create objects, but objects of this class can becreated as a property of another class or instantiated by objects fromanother class.
Types of Relationships
Associations represent relationships between classes. They have definedmultiplicities at both ends.
Type inheritance defines specialized classes of objects that shareproperties and methods with the superclass and have additionalproperties and methods. Note that interfaces in superclasses are notduplicated in subclasses.
Instantiation specifies that one object from one class has a method withwhich it creates an object from another class.
Composition is a relationship in which objects from the "whole" classcontrol the lifetime of objects from the "part" class.
An N-ary association specifies that more than two classes areassociated. A diamond is placed at the intersection of the associationbranches.
A multiplicity is a constraint on the number of objects that can beassociated with another object. Association and composition relationshipshave multiplicities on both sides. This is the notation for multiplicities: 1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer
Special Interfaces(Optional) represents interfaces that are inherited by some subclasses but not all.The subclasses list the optional interfaces they implement.(Instance) represents interfaces that are only on specific instances of the class.(<classname>) indicates the name of the helper class required to support thisevent interface in Visual Basic.
Type inheritanceThis diagram illustrates the implicit type inheritance model in the ArcGIS 8.1component objects. Software interfaces are not duplicated in the child classes.
The objects to the left show a sample view of type inheritance. The objects belowshow a flat view of the objects with their full list of interfaces. The two views areequivalent, but the type inheritance view gives insight into the structuralcomposition of the object model.
Row
Feature
RowBuffer
IRowIRowEvents
IValidate
IFeatureIFeatureBufferIFeatureDraw
IFeatureEdit
IRowBuffer
Row
Feature
IRowIRowBuffer
IRowEventsIValidate
IFeatureIFeatureBufferIFeatureDraw
IFeatureEditIRow
IRowBufferIRowEvents
IValidate
RowBufferIRowBuffer
Diagram keyabstract
class
Inbound interfaceOutbound interface
Type inheritance
Instantiation
Association
Composition
1..* Multiplicity
class
coclassInterface
Editorcoclass
Editorabstract class
Networkcoclass
Networkabstract class
Editorclass
Networkclass
Geometrycoclass
Geometryabstract class
Spatialreferencecoclass
Spatialreference
abstract class
Geodatabasecoclass
Geodatabaseabstract class
Geometryclass
Spatialreference
class
Geodatabaseclass
Rasterabstract class
Raster coclass
Raster class
Chapter 13
Chapter 10
Chapter 11 Chapter 12
Chapter 9Chapter 8
Editing inArcMap
1..*1..*
1..*
IFeatureCacheIFeatureCache2 Feature-
CacheISketchOperationISketchOperation2 Sketch-
Operation
IEditTask
EditTask
IFeatureSnapAgent
FeatureSnap
IExtension
Extension
IConflictDisplayIConflictsWindow
IConflictsWindow2Conflicts-Window
IDigitizerButtonsIDigitizerSetup Digitizer-
Extension
TopoEditorITopoEditor
ICommandISketchTool
ITool SketchTool
IObjectInspector Feature-Inspector
ICommandISnappingWindow Snapping-
Command
ISnapAgent
SnapAgent
A feature cache stores features inmemory for a particular spatialextent.
The conflicts window isthe ArcMap ConflictResolution dialog box
The snapping command is the ArcMap editor'ssnapping window where snap agent properties are set
An edit selection cache stores theselection for fast hit testing
The sketch tool is the editor's maintool for creating an edit sketch
The feature inspector is thecontrol inside the attributes dialogbox that enables attribute editing
The digitizer extension allowsthe ArcMap editor to work witha digitizing board and puck
The topological editor extensionenables the ArcMap editor toperform shared geometry editing
Editor extensions are additionalobjects that aid editing
The Editor gives ArcMapfeature editing capabilities
Edit tasks perform aspecific operation
using the edit sketch
Snap agents aid inpositioning geometriesby snapping them toother geometries
IEditEvents2
EditEvents2
IEditSelectionCacheIEditSelectionCache2
Edit-Selection-
Cache
Attribute-Window
IAttributeWindow
The attribute window isthe ArcMap editor's
attribute editing dialog box
IEditSketchExtension EditSketch-Extension
EditEvents2 enables Visual Basicdevelopers the opportunity torespond to the events groupedunder IEditEvents2 fired by theEditor object
Sketch operations allow edit sketchmodifications to be undone
Edit sketch extensionsoverride the defaultedit sketch behavior toprovide a customediting experience forspecific feature classes
Editor
Feature snap agents area class of snap agentsthat help positionfeatures and the editsketch by snappingthem to other features
IActiveViewEventsIEditEvents
IEditEvents2IEditLayers
IEditorIEditProperties
IEditSketchIEditSketch2
IExtensionIExtensionAccelerators
IExtensionManagerIPersist
IPersistStreamISnapEnvironment
Editor
TM
ESRI ArcGIS 8.1 Object ModelExploring ArcObjects • Volume 2 • Geographic data management
TM
TM
®
Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and theESRI globe logo are trademarks of ESRI, registered in the UnitedStates and certain other countries; registration is pending in theEuropean Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene,ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap aretrademarks of ESRI and www.esri.com is a service mark of ESRI.
ArcObjects is the development platform for ArcGIS Desktop, a suite of GISsoftware systems: ArcInfo, ArcEditor, and ArcView. These systems serve GISprofessionals with a spectrum of geographic data management, spatial editing, andcartographic visualization functionality.
The ArcGIS Desktop systems each contain a configuration of applications, such asArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety ofextension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, andothers.
This object model diagram shows the ArcGIS subsystems and their components thatcoordinate all geographic data management. These are the ArcObjects componentsdocumented in volume two of Exploring ArcObjects.
You will find updates to ArcObjects developer resources atwww.esri.com/arcobjectsonline.
ESRI® ArcObjects™ is the developmentplatform for the ArcGIS™ family of applications
such as ArcMap™, ArcCatalog™, andArcScene™. The ArcObjects software
components expose the full range of functionalityavailable in ArcInfo™, ArcEditor™, and
ArcView™ to software developers.
15
16
Types of Classes
An abstract class cannot create new objects; it is a specification forinstances of subclasses (through type inheritance.)
A coclass can directly create objects by declaring a new object.
A class cannot directly create objects, but objects of this class can becreated as a property of another class or instantiated by objects fromanother class.
Types of Relationships
Associations represent relationships between classes. They have definedmultiplicities at both ends.
Type inheritance defines specialized classes of objects that shareproperties and methods with the superclass and have additionalproperties and methods. Note that interfaces in superclasses are notduplicated in subclasses.
Instantiation specifies that one object from one class has a method withwhich it creates an object from another class.
Composition is a relationship in which objects from the "whole" classcontrol the lifetime of objects from the "part" class.
An N-ary association specifies that more than two classes areassociated. A diamond is placed at the intersection of the associationbranches.
A multiplicity is a constraint on the number of objects that can beassociated with another object. Association and composition relationshipshave multiplicities on both sides. This is the notation for multiplicities: 1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer
Special Interfaces(Optional) represents interfaces that are inherited by some subclasses but not all.The subclasses list the optional interfaces they implement.(Instance) represents interfaces that are only on specific instances of the class.(<classname>) indicates the name of the helper class required to support thisevent interface in Visual Basic.
Type inheritanceThis diagram illustrates the implicit type inheritance model in the ArcGIS 8.1component objects. Software interfaces are not duplicated in the child classes.
The objects to the left show a sample view of type inheritance. The objects belowshow a flat view of the objects with their full list of interfaces. The two views areequivalent, but the type inheritance view gives insight into the structuralcomposition of the object model.
Row
Feature
RowBuffer
IRowIRowEvents
IValidate
IFeatureIFeatureBufferIFeatureDraw
IFeatureEdit
IRowBuffer
Row
Feature
IRowIRowBuffer
IRowEventsIValidate
IFeatureIFeatureBufferIFeatureDraw
IFeatureEditIRow
IRowBufferIRowEvents
IValidate
RowBufferIRowBuffer
Diagram keyabstract
class
Inbound interfaceOutbound interface
Type inheritance
Instantiation
Association
Composition
1..* Multiplicity
class
coclassInterfaceESRI ArcGIS 8.1 Object Model
Exploring ArcObjects • Supplemental extension chapters
TM
TM
®
Geocoding object modelAn attached locator is a copy of alocator used to create a dataset
0..*
LocatorName-Enumerator
IEnumLocatorNameISupportErrorInfo
NameSee chapter 8,'Accessing theGeodatabase'
INameIPersistStream
Locator-Workspace-
Name
ILocator-WorkspaceNameISupportErrorInfo
LocatorNameIFileName
ILocatorNameISupportErrorInfo
ESRIAddress-LocatorStyle
IAddressInputsIGeocoding-
PropertiesIPlaceNameAlias
StreetMap-Address-
LocatorStyle
IReferenceDataFile
Generic-LocatorStyle
IPropertySet
Attached-Locator
IAttachedLocatorISupportErrorInfo
Locator-Workspace
ILocatorAttachILocatorWorkspace
ISupportErrorInfo
IDatabase-LocatorWorkspace Database-
Locator-Workspace
LocalLocator-Workspace
ILocalLocator-Workspace
Locator-Enumerator
IEnumLocatorISupportErrorInfo
0..*
Locator-Manager
ILocatorManagerISupportErrorInfo
LocatorStyleIClone
ILocatorILocatorStyle
ISupportErrorInfo
ESRIFDO-Address-
LocatorStyle
IReferenceDataTables
A locator manager openslocator workspaces and returnsattached locators from datasets
A locator nameenumerator contains
an enumeration oflocator name objects
A locator workspace storeslocators and locator styles
A database locator workspaceis a locator workspace thatresides in an ArcSDE database
A local locator workspace is alocator workspace that resideson your local file system
A locator enumeratorcontains an enumerationof locators
A locator name object isa lightweight object that
represents a locator
A locator workspace name object isa lightweight object that represents
a locator workspace
A locator style is atemplate that you can use
to create new locators
A generic locator style is a locator stylethat you can use to define properties for
your own custom locators
An ESRI address locator style is alocator style that you can use tocreate new ESRI address locators
An ESRI FDO address locator style is alocator style that you can use to create
new ESRI FDO address locatorsA StreetMap address locator style is a
locator style that you can use to createnew StreetMap address locators
LocatorUIILocatorUI
Address-LocatorUI
IAddressUIISupportErrorInfo
LocatorIClone
ILocatorILocatorDataset
ISdeLocator
1..*
0..* 1..*
Reference-DataField
IReference-DataField(Optional)IReference-
DataFieldEditISupportErrorInfo
Reference-DataIndex
IReference-DataIndex(Optional)IReference-
DataIndexEditISupportErrorInfo
Address-Locator
IAddressCandidatesIAddressGeocoding
IAddressInputs(Optional)IIntersection-
Geocoding
ESRIFDO-Address-Locator
IReferenceDataTablesISupportErrorInfo
StreetMap-Address-Locator
IReferenceDataFileISupportErrorInfo
Reference-DataTable-Enumerator
IEnumReferenceDataTableISupportErrorInfo
Reference-DataTable
IReferenceDataTableIReferenceDataTableEdit
ISupportErrorInfo
Reference-DataFields-Enumerator
IEnumReferenceDataFieldISupportErrorInfo
Reference-DataIndex-Enumerator
IEnumReferenceDataIndexISupportErrorInfo
A locator is an object that cancreate geometric descriptions oflocations from non-spatialdescriptions of locations
An address locator is a locatorthat geocodes addresses
An ESRI address locator is an addresslocator that uses the ESRI geocoding engine
An ESRI FDO address locator isan ESRI address locator thatuses feature-data-object data
sources as reference data
A StreetMap address locator isan ESRI address locator that usesStreetMap data as reference data
A locator UI object providesuser interfaces for locators
A address locator UI objectprovides user interfaces for
address locators
A reference data tableenumerator contains an
enumeration of referencedata tables used by a locator
A reference data table describes afeature-data-object data source
used as reference data by a locator
A reference data fields enumeratorcontains an enumeration of
reference data fields
A reference data field describes afield in a reference data table that
contains address information
A reference data index enumeratorcontains an enumeration of
reference data indexes
A reference data indexdescribes a geocoding index
on a reference data table
ESRIAddress-Locator
IAdvancedGeocodingIGeocodingProperties
IPlaceNameAlias(Optional)IAdvanced-
IntersectionGeocoding
Geodatabase extensions
IConfirmSendRelatedObjectEvents (optional)IObjectClassExtension
IObjectInspector (optional)IObjectClassDescription (optional)
IObjectClassEvents (optional)IObjectClassValidation (optional)
IRelatedObjectClassEvents (optional)IRelatedObjectClassEvents2 (optional)
ObjectClass-ExtensionSee Chapter 8,'Accessing theGeodatabase'
IClassExtension Class-Extension
Geocoded-FeatureClass-
Extension
IGeocodedFeatureClassIRelatedClassEvents
Feature-Class-
ExtensionSee Chapter 8,'Accessing theGeodatabase'
IFeatureClassExtensionIFeatureClassCreation (optional)
IFeatureClassDescription (optional)IFeatureClassDraw (optional)
IFeatureClassEdit (optional)INetworkClassDescription (optional)
Geocoding-IndexClass-Extension
IGeocodingIndexComputeIRelatedObjectClassEvents
Geocoding-IndexObject
IRowIRowChangesIRowCompare
IRowEditIRowEvents
IrowSubtypesISupportErrorInfo
IValidate
IRowBuffer
IObjectIRowSubtypes
IRelatedObjectEvents
Row
RowBuffer
ObjectSee Chapter 8,'Accessing theGeodatabase'
FeatureSee Chapter 8,'Accessing theGeodatabase'
IFeatureIFeatureBuffer
IFeatureChangesIFeatureDraw
IFeatureEditIFeatureEvents
IFeatureSimplify
GeocodedFeature
A geocoded feature class extension is afeature class extension for
automatically maintaining geocodedfeature classes
A geocoded feature is a customfeature that comprisesautomatically maintained featureclasses
A geocoding index classextension in an object classextension for automaticallymaintained geocoding indexes
A geocoding index object is a customobject that comprises automaticallymaintained geocoding indexes
ArcCatalog extensions
GxGeocoding-Service-
Extension
IGxDatabase-Extension GxDatabase-
ExtensionSee Chapter 7,
'Working with theCatalog'
IGxObjectIGxObjectUI
IGxObjectEdit
GxObjectSee Chapter 7,
'Working with theCatalog'
GxLocatorIGxLocator
IGxDatabase-ExtensionCompare
IGxObjectPropertiesIGxPasteTarget
GxNew-Locator
IGxNewLocatorIGxDatabase-
ExtensionCompareIGxObjectProperties
GxObject-ContainerSee Chapter 7,
'Working with theCatalog'
IGxObjectContainerIGxPasteTarget
GxLocator-Folder
IGxLocatorFolderIGxCachedObjects
IGxDatabase-ExtensionCompare
IGxObjectProperties
AGxGeocodingServiceExtensionextends ArcCatalog to displaythe contents of database locatorworkspaces
The GxLocatorFactory extendsArcCatalog to display the contentsof local locator workspaces
A GxLocatorFolder containsGxObjects that represent
items in a locator workspace
A GxLocator is a GxObjectthat represents a locator
A GxNewLocator is a GxObjectthat can be used to create new
locators in ArcCatalog
IGxObjectFilter GxObject-Filter
See Chapter 7,'Working with the
Catalog'
GxFilter-Geocoding-
Services
IGxLocatorFilter
GxLocator-Factory
IGxObjectFactory GxObject-Factory
See Chapter 7,'Working with the
Catalog'
A GxFilterGeocodingServices is aGxObjectFilter that you can use to allowusers to browse for geocoding services
Locator-Extension
ILocatorExtensionILocatorExtensionEvents
IPersistStreamISupportErrorInfo
Address-FindData
IAddressFindData
Find-Addresses
IFinderILocator-
ExtensionEvents
ArcMap extensions
The locator extension extends ArcMapto manage a set of locators in a
ArcMap document
An address find data objectrepresents a candidate for an address
found using the find dialog
The find address object extends thefind dialog to allow users togeocode addresses
IExtension ExtensionSee Chapter 3,
'Customizing the UserInterface'
A GxStreetMapDataset is aGxObject based on a
StreetMap feature class
A GxStreetMapFactory allowsArcCatalog to create GxObjects based
on StreetMap Feature classes
A StreetMap workspacefactory is a dispenser ofStreetMap workspaces
StreetMap objects
GxFilterStreetMap-FeatureClasses
GxObject-Filter
See Chapter 7,'Working with the
Catalog'
IGxObjectFilter
GxStreet-MapFactory
IGxObjectFactoryIGxObject-
FactoryMetadata
GxObject-Factory
See Chapter 7,'Working with the
Catalog'
Workspace-Factory
See Chapter 8,'Accessing theGeodatabase'
IWorkspaceFactoryIWorkspaceFactory2
StreetMap-Workspace-
Factory
IExtension ExtensionSee Chapter 3,
'Customizing the UserInterface'
StreetMap-Extension
IExtensionConfig
A GxFilterStreetMapFeatureClass is aGxObjectFilter that allows a GxDialog to
browse StreetMap feature classes
The StreetMap extension extends anapplication to provide access to StreetMap
data sources as feature classes
GxStreet-MapDataset
GxDatasetSee Chapter 7,
'Working with theCatalog'
IGxCachedObjectsIGxDataset
IGxObjectIGxObjectEdit
IGxObjectInternalNameIGxObjectProperties
IGxObjectUIIGxObjectContainer
IGxThumbnailIMetadata
IMetadataEditINativeTypeInfo
IObjectClassSchemaEvents
GxObject-Container
IGxObjectContainerIGxPasteTarget
GxObjectIGxObject
IGxObjectEditIGxObjectUI
StreetMap-NativeType
3D Analyst objects
1..*
ApplicationSee Chapter 3,
'Customizing the UserInterface'
IApplicationIDockableWindowManager
IExtensionManagerIMultiThreadedApplication
IObjectFactoryISxApplication
IVBAApplicationIWindowPosition
Message-Dispatcher
IMessageDispatcher
Graphics-Layer3D
IActiveViewEventsIGraphics-
Container3DIGraphicsLayer
IGraphicsSelectionILayer
ILayerEffectsILayerEvents
ILayerExtensionsIPersistStream
IScene-RendererEvents
LayerILayer
IGeoDataset
The application object representsthe running ArcScene application
SxDocument represents the scenedocument that can be persisted to disk
The scene is a container forvector, raster and graphic data
Graphics layers are used torender graphic primitives
3DProperties is a layer extension thatcontrols how a layer gets viewed in 3D.Different 3DProperties classes areimplemented for different layer types
The MessageDispatcher controlsnavigation ability and cancel tracking
while in custom code loops
The camera controls theperspective of a 3D view
A container forrecording data andevents that occur in ascene
SceneViewers are the displaywindows for a scene
Non-graphic layers are used to view dataother than primitive graphics. Examples
include feature, raster, TIN, CAD, and IMSlayers
Scene-Viewer
CameraICamera
Scene-Graph
IActiveViewEventsIDisplay3D
ISceneGraphISceneGraphEvents
ISceneGraphEventsDispISceneRendererEvents
Sx-Document
IBasicDocumentIBasicDocumentDefaultSymbols
IDocumentISxDocument
ISxDocumentEventsDispISxDocumentInfo
SceneIActiveViewEvents
IBasicMapIPersistStream
ISceneISelectionEvents
Raster3D-Properties
Tin3D-Properties
Basic3D-Properties
I3DPropertiesIDataLayerExtension
IPersistIPersistStream
Feature3D-Properties
IFeature3DPropertiesICursor
IFeatureCursor
Tin and Raster operatorsThe triangulated network objectis used for surface modeling andother forms of spatial analysis
Nodes are the mostbasic element of a TIN
Ddd-Environment
IDddEnvironmentIExtension
IExtensionConfig
Tin
IDatasetIFunctionalSurface
IGeoDatasetIMetadata
IMetadataEditINativeTypeInfo
ISupportErrorInfoISurface
ITinITinAdvanced
ITinEditITinNodeCollection
ITinSelectionITinSurface
TinNodeITinNode
TinEdgeITinEdge
TinTriangleITinTriangle
Edges connect nodes. Theycan represent linear features
Raster-Interpolation
Op
IInterpolationOpIRasterAnalysis-
EnvironmentISupportErrorInfo
Raster-MakerOp
IRasterAnalysis-Environment
IRasterMakerOpISupportErrorInfo
RasterMath-SupportOp
IMathSupportOpIRasterAnalysis-
Environment
Raster-ReclassOp
IRasterAnalysis-EnvironmentIReclassOp
ISupportErrorInfo
IRasterAnalysis-Environment
ISupportErrorInfoISurfaceOp
Raster-SurfaceOp
Raster-Analysis
ICloneIGeoAnalysisEnvironment
IRasterAnalysisEnvironmentIPersist
IPersistStream
Triangles are formed by connectednodes and represent areas
Controls analysis environmentproperties like extent, cellsize,mask, and output workspace
Reclassifies rasters usingtables to define categories
Performs surface analysis such ascontouring or slope derivation
Provides basic aritmetic operatorssuch as addition, subtraction, and
floating point truncation
Provides support for IDW,kriging, spline interpolation
Creates numericallyconstant or random rasters
The 3D Analyst extensionobject. It is used for licensingand to obtain global rastersettings
Geocoding
Street Map USA
14
Chapter 15 Chapter 16Chapter 14
Geocodingclass
Geocodingcoclass
Geocodingabstract class
3D Analystabstract class
3D Analystclass
3D Analystcoclass
StreetMapcoclass
StreetMapclass
3D Analyst
Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and theESRI globe logo are trademarks of ESRI, registered in the United Statesand certain other countries; registration is pending in the EuropeanCommunity. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo,ArcEditor, ArcToolbox, 3D Analyst, Street Map USA, and ArcMap aretrademarks of ESRI and www.esri.com is a service mark of ESRI.
ArcObjects is the development platform for ArcGIS Desktop, a suite of GISsoftware systems: ArcInfo, ArcEditor, and ArcView. These systems serve GISprofessionals with a spectrum of geographic data management, spatial editing, andcartographic visualization functionality.
The ArcGIS Desktop systems each contain a configuration of applications, such asArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety ofextension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, andothers.
This object model diagram shows some of the extensions created to the ArcGISDesktop systems. These are the ArcObjects components documented insupplemental electronic chapters of Exploring ArcObjects.
You will find updates to ArcObjects developer resources atwww.esri.com/arcobjectsonline.
ESRI® ArcObjects™ is the developmentplatform for the ArcGIS™ family of applications
such as ArcMap™, ArcCatalog™, andArcScene™. The ArcObjects software
components expose the full range of functionalityavailable in ArcInfo™, ArcEditor™, and
ArcView™ to software developers.
TM
TM