Arc Gis object Model
January 11, 2017 | Author: Luciana Gingăraşu | Category: N/A
Short Description
Download Arc Gis object Model...
Description
Diagram key
ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS professionals with a spectrum of geographic data management, spatial editing, and cartographic visualization functionality.
ESRI® ArcObjects™ is the development platform for the ArcGIS™ family of applications such as ArcMap™, ArcCatalog™, and ArcScene™. The ArcObjects software components expose the full range of functionality available in ArcInfo™, ArcEditor™, and ArcView™ to software developers.
Inbound interface Outbound interface
®
This object model diagram shows how ArcMap presents geographic information through views and how ArcCatalog manages geodatabases. These are the ArcObjects components documented in volume one of Exploring ArcObjects.
Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and the ESRI globe logo are trademarks of ESRI, registered in the United States and certain other countries; registration is pending in the European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap are trademarks of ESRI and www.esri.com is a service mark of ESRI.
TM
ESRI ArcGIS 8.1 Object Model
The ArcGIS Desktop systems each contain a configuration of applications, such as ArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety of extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, and others.
Types of Relationships
Type inheritance Interface
IExtension IExtensionAccelerators IExtensionConfig
IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IVBAApplication IWindowPosition
IGxViewContainer
GxViewContainer
Extension
Application
IDockableWindow
Application is the core object that represents ArcMap or ArcCatalog and provides access to the current state of the user interface
IDockableWindowDef ISupportErrorInfo
IDocument
CustomizationFilter
A customization filter provides a mechanism for locking parts of the customization functionality in an application
CommandBars
CommandBar
A COM command bar can be written in any COM-compliant language and is compiled as an ActiveX DLL
A toolbar definition is used by the command bars collection to create a toolbar
A document command bar is a custom menu or toolbar created with the Customize dialog box
IApplication
An application reference object is a reference to the currently running application
AppRef
IAppROT IAppROTEvents
The application running object table is a global list of all currently running ESRI COM-based applications
AppROT
ComponentCategoryManager
IComponentCategoryManager
UIControl
A DLL thread manager provides access to an event that DLL thread managers listen for
ICommand ICommandSubtype (optional)
UIEditBoxControl is an editable textbox control that can be added to a toolbar IMouseCursor
MouseCursor
The component category manager object registers components with the component categories used by the ESRI applications
UID
UIToolControl acts as a button that allows further interaction with the application display
IExtensionManager IExtensionManagerAdmin ISupportErrorInfo
INumberDialog
ToolControl
The font map collection houses the set of font maps used by the PS printer or PS exporter objects
IClone IPaper IPersistStream
The Message dialog box is used to display a message to the user
NumberDialog
Paper
IArcPressExporter IArcPressExporterDescriptionEnum
ExtensionManager
Exporter
ICGMExporter
IArcPressExporterDriver
3
ArcPressExporterDriver
The ArcPress exporter driver uses ArcPress to convert a PostScript file to one of the supported formats
ArcPressExporterPCX
ICGMDriver ISupportErrorInfo
ILegendClass IPersist IPersistStream
LegendGroup
*
*
FeatureLayer in ArcMap IFeatureRenderer ILegendInfo IPersist IPersistStream
FeatureRenderer
Colors and ramps
LegendClass
A feature renderer draws features to a display from a feature class
A color ramp is a series of colors
The legend class contains a symbol and some text in the form of a label and description to describe what that symbol represents
Feature renderers
IClone IColorRamp IPersist IPersistStream
*
IMonitorSettings
ICmykColor IPostScriptColor
CmykColor
BiUniqueValueRenderer
A biunique value renderer combines the symbols of a unique value renderer and a class breaks renderer
A chart renderer draws pie, bar, and stacked bar chart symbols based on attributes of each feature
IBarrierProperties2 IBasicOverposterEvents IChartRenderer IDataExclusion IDataNormalization IIdentify IPieChartRenderer IRendererFields
IBarrierProperties2 IDataExclusion IDataNormalization IRotationRenderer IProportionalSymbolRenderer
A CIELabConversion is used to convert colors from different color models to the CIELab color model
CalcRendererValues
ICalcRendererValues
ILineSymbol IMapLevel IPropertySupport
MarkerSymbol
ICartographicLineSymbol ILineProperties
CharacterMarkerSymbol
IDotDensityFillSymbol IDotDensityMasking ISymbolArray
CartographicLineSymbol
A cartographic line symbol has flexible properties to create dot-dash patterns, decorations such as arrowheads, and line join and cap styles
A character marker symbol is a single glyph from a TrueType font IMarkerMask ISimpleMarkerSymbol
SimpleMarkerSymbol
A simple marker symbol is a square, circle, diamond, cross, or x
A hash-line symbol is a series of lines running at an angle to the original line
IRgbColor
RgbColor
IBarChartSymbol
IDataWindowFactory
A gradient fill symbol is a series of colors
IPieChartSymbol
An arrow marker symbol is a triangular arrowhead
ILineFillSymbol
ArrowMarkerSymbol
IMarkerLineSymbol
A marker line symbol is a series of marker symbols following the path of a line
ICartographicMarkerSymbol IMarkerMask IPictureMarkerSymbol
IMultiLayerLineSymbol ILayerVisible ILayerColorLock
PictureMarkerSymbol
A picture marker symbol is a bitmap image or enhanced metafile
IFillProperties IMarkerFillSymbol
MultiLayerLineSymbol
The pie chart symbol draws a pie chart
A line fill symbol is a regular series of lines at any angle
MarkerFillSymbol
IStackedChartSymbol
A marker fill symbol is a grid of marker symbols
IChartSymbolEditor ISimpleLineSymbol
MultiLayerMarkerSymbol
SimpleLineSymbol
A simple line symbol is a solid line or one with predefined series of dots and dashes
A multilayer marker symbol is an ordered collection, or stack, of other marker symbols
IPictureLineSymbol
IClone ILineDecoration IPersist IPersistStream
A line decoration maintains a set of line decoration elements, which are symbols drawn along a line IClone ILineDecorationElement IPersist IPersistStream ISimpleLineDecorationElement
* SimpleLineDecorationElement
IClone IPersist IPersistStream ITemplate
Template
The line decoration editor edits the properties of a line decoration
ISimpleFillSymbol
LineDecorationEditor
IClassFactory ISymbologyEnvironment
ISymbolEditor
The Symbol Selector dialog box presents all symbols in referenced style files
SymbolSelector
IPersist ITextPath
The symbology environment controls certain details of symbology display
SymbologyEnvironment
IGeometryDraw ISupportErrorInfo
IConnectionPointContainer IDisplay IDisplayEvents IDraw
IConnectionPointContainer IDelayEvents IDisplayTransformation IRasterOutputSettings ITransformation ITransformEvents
IClone IFrameDecoration IGraphicsComposite IPersist IPersistStream
DisplayTransformation
ScreenDisplay
A line callout draws a line from an anchor point to a piece of text, and draws a rectangular background behind the text
The Symbol Editor dialog box is used to edit the definition of any symbol
FrameDecoration
The geometry draw can be used to draw any geometry to a display
IDisplayFeedback
ILineMovePointFeedback
Creates a feedback on the display for moving a point on a Bézier curve
Frame decorations are adornments to frame elements, such as backgrounds, shadows, and neatlines
IBorder ISymbolBorder
SymbolBackground
IShadow ISymbolShadow
SymbolBorder
SymbolShadow
A display transformation manages the map to device transformation for each type of display The symbol background draws a background fill for a frame element
The symbol border draws an outline for a frame element
Classify
IClassifyMinMax
DefinedInterval
IRubberBand
EqualInterval
IDeviationInterval
The table histogram is a data structure used to set data to a data classification
A rubber circle object allows the user to input circles on the display
Quantile
A rubber point object allows the user to input and move points on the display
RubberPoint
RubberEnvelope
A rubber line object allows the user to input and move polylines on the display
A rubber polygon object allows the user to input and move polygons on the display
RubberPolygon
RubberLine
RubberRectangular -Polygon
A rubber rectangular object allows the user to input and move polygons, which are constrained to be rectangular, on the display
Selection tracker ISelectionTracker
SelectionTracker
ITrackCancel
EnvelopeTracker
PointTracker
PolygonTracker
Creates a feedback on the display for modifying a dimension shape IMoveEnvelopeFeedback
Creates a feedback on the display for moving an envelope
AnchorPoint
An anchor point is useful for rotating elements and features
A rotate tracker manages the user interface for rotating features or elements
RotateTracker
IScaleTracker
A scale tracker controls the user interface for scaling features or elements
ScaleTracker
Creates a feedback on the display for adding a new multipoint
MoveGeometryFeedback
IBoundsProperties IFrameElement IFrameDraw IFrameProperties IGroupElement
A marker element is a point graphic
IdentifyDialog is the dialog box for quickly querying data attributes
Creates a feedback on the display for adding a new polygon
MoveImageFeedback
Creates a feedback on the display for moving a point in a polygon
AppDisplay
The application display helps manage all of the displays present in the application
A table view displays a table
IChangeLayout IContentsViewEdit IDataGraphs IDocument IDocumentDirty IDocumentDatasets IDocumentDefaultSymbols IDocumentEvents IDocumentEventsDisp IDocumentInfo IMxDocument IPersist IPropertySupport IReportUnitFormat
IIdentifyDialog IIdentifyDialog2 IIdentifyDialogProps
RulerSettings
IPersist IPersistStream ISnapGuides
PageLayout
Page
SnapGuides Snap guides are horizontal and vertical lines added to the layout that aid element placement. The snap guides work in conjunction with a guide snap agent
*
ArcMap supports extensions that are automatically created when the application starts. The ArcMap editing tools are an example of an extension
GxDiskConnection
ImportXML
FindDialog
IDllThreadManager IFindDialog IGxSelectionEvents ISearchEngineEvents
IGxObjectWizard
GxObjectWizard
GxMetadata
FindDialog
FindDialog provides access to ArcCatalog’s Search dialog box
FileSystemQuery
FileSystemQuery lets you modify an existing search’s parameters or define a new query
GxLayer represents layer files
ISearchEngine ISearchEngineEvents ISearchEngineProperties
SearchEngine
GxNewDatabase CatalogSearchEngine
GxNewDatabase is the shortcut used to create a new remote connection
The CatalogSearchEngine lets you search for any object that appears in ArcCatalog
When ArcCatalog starts, it creates GxDiskConnection objects for each folder connected at the root
IGxFileSetup IGxObjectInternalName IGxPrjFile
GxShortcut represents shortcuts to objects returned from a Catalog search
GxDataset
GxPrjFile represents projection files with GxSpatialReferencesFolder objects
GxPrjFile
IGxCachedObjects IGxDataset IGxFileSetup IObjectClassSchemaEvents IGxObjectInternalName
IFileName IName IPersistStream IShortcutName
GxDataset holds a dataset object within ArcCatalog
GxTextFile
SpatialReferenceDialog
The Spatial Reference dialog box object is a stand-alone object used to create a new spatial reference object
TableDefinitionDialog
The Table Definition dialog box object is a standalone object used to create new tables and feature classes within the specific workspace or dataset
ProjectedCoordinateSystemDialog
The Projected Coordinate System dialog box is a stand-alone object used to create a new projected coordinate system object
ITableDefinitionDialog
IProjectedCoordinateSystemDialog
GxTextFile represents text files within ArcCatalog
ShortcutName IGxDialog IGxObjectFilterCollection IGxSelectionEvents
ShortcutName is a name object describing a GxShortcut
FileSystemXmlSearch Engine lets you search for file-based objects stored on disk for which metadata has been created
FileSystemXmlSearchEngine
GxMap encapsulates map documents
GxMap
ISpatialReferenceDialog ISpatialReferenceDialog2
The Page object represents the page of paper the layout resides on
GeographicCoordinateSystemDialog
GxDialog represents a browser that allows you to open and save GIS datasets.
GxDialog
The Geographic Coordinate System dialog box is a stand-alone object used to create a new geographic coordinate system object
Element
IDocumentEvents
TOCCatalog View
The table of contents catalog view represents the Source tab in the ArcMap table of contents
A data graph element manipulates the frame containing a graph A picture element represents Windows raster or vector graphic objects
IBoundsProperties IFrameDraw IFrameElement IFrameProperties
FrameElement
IActiveView IActiveViewEvents IBasicMap IConnectionPointContainer IDisplayAdmin IDisplayEvents IGraphicsContainer IGraphicsContainerSelect IMap IMapBarriers IMapBookmarks IMapEvents IMapGeographicTransformations IPersist IPersistStream IRelationshipClassCollection ISelectionEvents IStandaloneTableCollection ITableCollection ITransformEvents IViewManager
NumberFormat
ICustomNumberFormat
A custom number format converts a wide range of numeric formats
IBoundsProperties IFrameDraw IFrameElement IFrameProperties IOlePictureElement IPictureElement
PictureElement
A frame element is a neatline
A map frame manipulates the frame containing the map
MapFrame A map surround frame manipulates the frames of map elements such as North arrows and legends
TextElement
MapSurroundFrame
IOleFrame IElementShutdown GraphicElement
DataGraphElement
IBoundsProperties IFillShapeElement
OleFrame
An OLE frame is an OLE object graphic
A table frame manipulates the frame containing the table
ITableFrame
TableFrame
FillShapeElement
A fill shape element is a graphic of a closed area
Creates a feedback on the display for reshape
EmfPictureElement
ICircleElement
CircleElement
IEllipseElement
EllipseElement
MultiPatchElement
ReshapeFeedback A BMP picture element is a Windows bitmap
Creates a feedback on the display for resizing an envelope
Creates a feedback on the display for stretching all the vertices on a polyline
IVertexFeedback
Creates a feedback on the display for editing vertices of a geometry by reference
ResizeEnvelopeFeedback
StretchLineFeedback
VertexFeedback
An EMF picture element is a Windows Enhanced Metafile picture
IRectangleElement
4
RectangleElement
IElementEditVertices IPolygonElement
PolygonElement
IAttributeTable IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayFilterManager IDisplayRelationshipClass IDisplayTable IFeatureLayer IFeatureLayer2 IFeatureLayerDefinition IFeatureLayerSelectionEvents IFeatureSelection IFind IGeoFeatureLayer IHotlinkContainer IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IMapLevel IObjectClassSchemaEvents IPropertySupport IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection
IHyperlink IPersist IPersistStream
Hyperlink
A group layer is a group of layers that appear and act like a single layer in the table of contents
A fraction format object converts fractional values
ICompositeLayer IConnectionPointContainer IDisplayAdmin IGroupLayer IIdentify IIdentify2 ILayer2 ILayerEvents ILayerInfo ILayerPosition IMapLevel
Layer
FeatureLayer
A feature layer displays data from a feature class on a map IBarrierProperties IBarrierProperties2 IConnectionPointContainer IGraphicsContainer IGraphicsContainerSelect IGraphicsLayer IOverflowGraphicsContainer ISelectionEvents
SpatialBookmark IAOIBookmark
An area of interest is a map extent you would create when zooming in or panning the display
AOIBookmark
Graphics layers manage the graphics associated with a map
GraphicsLayer
*
IAttributeTable IClass IDataLayer IDataLayer2 A hyperlink displays IDataset linked data, such as text IDisplayAdmin files or Web pages, IDisplayFilterManager IDisplayRelationshipClass when you click it IDisplayTable IFDOAttributeConversion IFDOGraphicsLayer IFeatureLayer IFeatureLayer2 CompositeIFeatureLayerDefinition ICompositeGraphicsLayer IFeatureSelection ICompositeLayer GraphicsIFind IGeoDatasetSchemaEdit Layer IHotlinkContainer IGraphicsLayerScale IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 A composite graphics layer ILayerEffects manages other graphics layer, but is ILayerEvents ILayerExtensions also a graphics layer itself ILayerFields ILayerInfo ILayerPosition IMapLevel IObjectClassEvents IObjectClassSchemaEvents ISpatialBookmark IPropertySupport SpatialIPersist IRelationshipClassCollection IPersistStream Bookmark IRelationshipClassCollectionEdit ITable ITableFields ITableSelection
IFeatureBookmark
A feature bookmark stores information about a particular feature so that it can be quickly found again
FeatureBookmark
IMSMapLayer
FDOGraphicsLayer
IAttributeTable IDimensionLayer IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayFilterManager IDisplayRelationshipClass IDisplayTable IFeatureLayer IFeatureLayer2 IFeatureLayerDefinition IFeatureLayerSelectionEvents IFeatureSelection IFind IHotlinkContainer IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition IMapLevel IObjectClassSchemaEvents IPropertySupport IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection
DimensionLayer
A dimension layer displays descriptive text and supporting graphics (such as leader lines) that are associated with map features
An FDO graphics layer is a layer based on an annotation feature class in a geodatabase
IAnnotateLayerPropertiesCollection IPersist IPersistStream
Annotate layer properties holds a set of labeling properties for a feature layer
AnnotateLayerPropertiesCollection
IAttributeTable IBarrierProperties IBarrierProperties2 ICadDrawingLayers ICadTransformations ICoverageAnnotationLayer ICoverageAnnotationLayer2 IDataLayer IDataLayer2 IFeatureLayer IFind ILayerFields ILayerInfo ITableFields
PercentageFormat
LatLonFormat
CadLayer
IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IIdentify ILayerEffects ILayerEvents ILayerDrawingProperties ILayerExtensions ILayerInfo ILayerPosition ILegendInfo IRasterCatalogLayer
IAttributeTable IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayRelationshipClass IDisplayTable IGeoReference IIdentify ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IObjectClass IRasterLayer IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection
CadAnnotationLayer
IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IDisplayFilterManager IIdentify ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo ITableFields ITinLayer
MapSurround
Map surrounds are associated with a data frame and provide a cartographic context for the geographic data and extent.
IMapInset
Legend
IClone ILegendFormat ILegendLayout IPersist IPersistStream
MapInset
Documented in chapter 13, "Integrating raster data"
A map inset is a magnified view of a map
LineLabelPosition
IScaleText IPropertySupport ITransformEvents
Marker North arrows use a character marker symbol An overview displays the full map extent of a dataframe, together with a box graphic showing the current map extent
ILegendClassFormat IPersist IPersistStream
Patch
IGraphicsComposite IPropertySupport IScalebar IScaleMarks ITransformEvents
LegendClassFormat
ISingleFillScaleBar
ScaleLine
ILinePatch
A scale text map surround is a text element that describes the map's scale
ScaleText
Legend class format objects control each legend item's presentation
VerticalLegendItem
IScaleLine
SingleFillScaleBar
A scale bar graphically shows a map's scale
Scalebar
IDoubleFillScaleBar
DoubleFillScaleBar
LinePatch
TinLayer
SteppedScaleLine
IAreaPatch
AreaPatch
Patches are individual color boxes in a legend
An annotation VB Script engine specifies a label expression based on VB Script
MarkerNorthArrow
Overview
NestedLegendItem
IVerticalLegendItem
AnnotationExpressionEngine
Labeling
IClone ILineLabelPosition IPersist IPersistStream
IGraphicsComposite IMarkerNorthArrow IPropertySupport ITransformEvents
HorizontalLegendItem
RasterLayer
A TIN layer displays 3D surface data
The North arrow object is a base class for all north arrow types
NorthArrow Legend items are the individual parts of a legend
IHorizontalLegendItem INestedLegendItem
IAnnotationExpressionEngine ICodedValveAttributes IPersist IPersistStream
LabelEngineLayerProperties
INorthArrow
LegendItem
IOverview
IHorizontalLegendItem
IClone IPatch IPersist IPersistStream
A map title is a text element describing a map
MapTitle
*
HorizontalBarLegendItem
IHorizontalBarLegendItem IVerticalLegendItem
Documented in chapter 13, "Integrating raster data"
A legend format manages a legend's default properties
LegendFormat
IClone ILegendItem ILegendItem2 IPersist IPersistStream
RasterCatalogLayer
CoverageAnnotationLayer
layer displays annotation from a coverage
Label engine layer properties specify labeling properties for a feature layer
MapSurround
A CAD feature layer displays a CAD feature class from a drawing
CadFeatureLayer
IAnnotateLayerProperties IAnnotateLayerTransformationProperties IAnnotateProperties IClone ILabelEngineLayerProperties IPersistStream
A background tab style labels the index grid using square, round, or rounded-square boxes
BackgroundTabStyle
ButtonTabStyle ContinuousTabStyle RoundedTabStyle
IBoundsProperties IClone IConnectionPointContainer IMapSurround IMapSurroundEvents IPersist IPersistStream
A legend is a list of symbol appearing on a map
A CAD layer displays a CAD drawing
IAttributeTable IBarrierProperties IBarrierProperties2 ICoverageAnnotationLayer ICoverageAnnotationLayer2 IDataLayer IDataLayer2 IFeatureLayer IFind ILayerFields ILayerInfo ITableFields A coverage annotation
IBackgroundTabStyle
An index grid tab style governs the way an index grid is labeled
A button tab style labels using rectangular buttons that line the grid A continuous tab style labels using a continuous band around the grid A rounded tab style labels using rounded rectangles that line the grid
IActiveViewEvents IGraphicsComposite ILegend IPropertySupport IReadingDirection
ICadLayer ICad3DRenderMode ICadDrawingLayers ICadTransformations IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IIdentify ILayerEffects ILayerExtensions ILayerInfo ILayerPosition
A CadAnnotationLayer is used to control the symbology of the annotation features from a CAD layer
IndexGridTabStyle
MixedFontGridLabel
A mixed-font grid label displays the label in two fonts and also uses a number format
RateFormat
A layer is used to display geographic information on a map
IAttributeTable ICadDrawingLayers ICadTransformations IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayFilterManager IDisplayRelationshipClass IDisplayTable IFeatureLayer IFeatureLayer2 IFeatureLayerDefinition IFeatureSelection IFind IGeoFeatureLayer IHotlinkContainer IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 ILayerDrawingProperties ILayerEffects ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IMapLevel IObjectClassSchemaEvents IPropertySupport IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection
IMixedFontGridLabel IFormattedGridLabel
NumericFormat
IIndexGridTabStyle
FormattedGridLabel
A formatted grid label uses a number format to label the map grid
A grid label governs the way a map grid is labeled along the borders
GridLabel
DMSGridLabel
IFormattedGridLabel
Numeric format objects convert to and from angle, latitude-longitude, percentages, and rate values.
IRateFormat
ScientificFormat
A calibrated map grid border is composed of a graduated band
MeasuredGrid
IGridLabel IGridLabelExport IPersist IPersistStream
StyleReferencesDialog
Layer
An Internet map server layer displays data from an image service on the Internet
GroupLayer
IMeasuredGrid IProjectedGrid
CalibratedMapGridBorder
ICalibratedMapGridBorder
AngleFormat
ILatLonFormat ILatLonFormat2
A simple map grid border is composed of simple lines
SimpleMapGridBorder
IIndexGrid
IAngleFormat
FractionFormat
A scientific format object converts numbers with exponent values
ICompositeLayer ICompositeLayer2 IDataLayer IDataLayer2 IDisplayAdmin IDisplayFilterManager IIdentify IIdentify2 IIMSMapLayer ILayerDrawingProperties ILayerEffects ILayerInfo ILayerPosition
ISimpleMapGridBorder
A DMS grid label displays the map grid using degrees, minutes, and seconds
IPercentageFormat
IFractionFormat
A spatial bookmark is a specific map extent that has been saved along with a name identifying it
INumericFormat
A map grid border is the set of lines that outline the map grid
MapGridBorder
Graticule
A graticule divides the map into a grid of meridians and parallels
CustomNumberFormat
SpatialBookmark
IGeoDataset ILayer IPersist IPersistStream
IGraticule IMeasuredGrid
StyleManagerDialog
Number format objects convert values to text strings and vice versa
NumberFormat
CurrencyFormat
A currency format object converts currency values
IGraphicsComposite IMapGridBorder IPersistStream
CustomOverlayGrid
IDMSGridLabel
This object provides access to the IMapEvents outbound interface
A map surround is a specific group of elements that is associated with a map. Map surrounds include North arrows, scale bars, and legends
ICustomOverlayGrid
A custom overlay grid divides the map using lines from the data source you specify
A measured grid divides the map into a grid of units in any coordinate system
Gives you access to the ArcMap Style References dialog box
MapEvents
A layer is a specific class of data added to a Map. Layer types include features (coverages, shapefiles, geodatabases), rasters, images, TINs, CAD, IMS, and annotation
MapGrid
Gives you access to the ArcMap Style Manager dialog box
IMapEvents
MapSurround
MapGrid
IndexGrid
IStyleDialog
IClone INumberFormat
CustomOverlayGridFactory GraticuleFactory IndexGridFactory MeasuredGridFactory
An index grid divides the map into a grid for indexing
MapGridSelector
BackgroundSelector BorderSelector LabelStyleSelector LegendItemSelector NorthArrowSelector ScaleBarSelector ScaleTextSelector ShadowSelector
The Map object is a container for vector, raster, and graphic data. Maps reside on the page layout and contain the geographic data typically seen on a map
Map
IClone IGraphicsComposite IMapGrid IPersist IPersistStream
A map grid factory can be used to quickly create a map grid with default properties
MapGridFactory
A map grid is a grid of reference points or lines on the layout that help you visually identify the location of features on the map
StyleSelector
IMapGridSelector
TOCDisplayView
The style gallery is a list of predefined items (styles) used to create maps
FeatureClass in Geodatabase Renderer in Display
A frame element forms a border around other elements or objects
FrameElement
IGraphicsComposite IMapFrameEvents IMapSurroundEvents IMapSurroundFrame ITransformEvents
IActiveViewEvents IDataGraphElement IGraphicsContainerProperty
Using the style gallery coclasses, you can create various types of style items
IComPropertySheetEvents IStyleDialog
The table of contents display view represents the Display tab in the ArcMap table of contents
ArcMap
LineElement
IBoundsProperties IElementEditCallout IElementEditVertices IGroupSymbolElement ITextElement ITransformEvents
Style items provide access to the individual map elements and symbols that make up a style
IComPropertySheetEvents IStyleSelector
StyleGalleryClass
AreaPatchStyleGalleryClass BackgroundStyleGalleryClass BorderStyleGalleryClass ColorRampStyleGalleryClass ColorStyleGalleryClass FillSymbolStyleGalleryClass LabelStyleGalleryClass LegendItemStylGalleryClass LinePatchStyleGalleryClass LineSymbolStyleGalleryClass MapGridStyleGalleryClass MarkerSymbolStyleGalleryClass NorthArrowStyleGalleryClass ScalebarStyleGalleryClass ScaleTextStyleGalleryClass ShadowStyleGalleryClass TextSymbolStyleGalleryClass
StyleGalleryItem
*
IActiveViewEvents IConnectionPointContainer IDisplayAdmin IDisplayEvents IGraphicsComposite IGraphicsContainerProperty IMapFrame IMapFrameEvents IMapGrids ITransformEvents
MarkerElement
EnumStyleGalleryItem
Style selectors provide you with the means to interactively choose or edit a style item
*
GraphicElement
A style gallery is a collection of styles. Each ArcMap document has a style gallery associated with it. Using this style gallery, you can access the styles referenced by that document
IScientificNumberFormat
Map elements represent all the graphics that can appear on a map
IStyleGalleryClass
*
TOCView
Element
Elements are a broad group of items that can be placed on the page layout or on a map. For example, a map title is a text element placed on the page layout
IMapGridFactory
StyleGallery
IClone IStyleGalleryItem IPersist IPersistStream
Page The page represents the piece of paper the layout resides on
Style gallery
An enumeration of style gallery items
MxDocument
Layer
Element
GroupElement
IBoundsProperties IMarkerElement
BmpPictureElement
IStretchLineFeedback
MovePolygonFeedback
ImportMPTXT
ImportMPSGML
GxFilterAnnotationFeatureClasses GxFilterBasicTypes GxFilterCadDrawingDatasets GxFilterCoverageAnnotationClasses GxFilterDatasets GxFilterDatasetsAndLayers GxFilterFeatureClasses GxFilterFeatureDatasets GxFeatureDatasetsAndFeatureClasses GxFilterFiles GxFilterGeodatasets GxFilterLayers GxFilterMaps GxFilterPointFeatureClasses GxFilterPolygonFeatureClasses GxFilterPolylineFeatureClasses GxFilterRasterDatasets GxFilterSpatialReference GxFilterTables GxFilterTablesAndFeatureClasses GxFilterTINDatasets GxFilterWorkspaces
GxShortcut
IEnumStyleGalleryItem
IdentifyDialog
* The snap grid is a grid of reference points on the layout used to aid element placement. The snap grid works in conjunction with a grid snap agent
Ruler settings represents the layout rulers
A text element is a text graphic
IResizeEnvelopeFeedback IResizeEnvelopeFeedback2
MovePointFeedback
The metadata import objects add or replace metadata from an input file
ImportMP
GxObjectFilter
IGxShortcut
IPersistStream IStyleGallery IStyleGalleryStorage
SelectionEnvironment
IActiveViewEvents IComPropertySheetEvents IContentsView
MxDocument controls the current active view that specifies whether the user is interacting with the entire map layout or a specific data frame in the layout
TableView
PolygonMovePointFeedback
IReshapeFeedback
MoveLineFeedback
DefaultEditor
ExportMPTXT
IFindDialogSettings IQuery IXmlQuery
GxLayer
IGxMap IGxMapPageLayout IGxObjectInternalName IGxThumbnail
* Extension
PageLayout
IClone IElement IElementProperties IPersist IPersistStream IPropertySupport ITransform2D
IBoundsProperties IElementEditVertices ILineElement
NewPolygonFeedback
IPolygonMovePointFeedback
Creates a feedback on the display for moving a polygon
IPersist IPersistStream ISelectionEnvironment ISelectionEnvironmentLayer ISelectionEnvironmentStorage ISelectionEnvironmentThreshold
SnapGrid
IPersist IPersistStream IRulerSettings
IGraphicElement
NewMultiPointFeedback
INewPolygonFeedback
IMovePolygonFeedback
The selection environment controls the application's selection behavior
The application object represents the running ArcMap application
The graphic snap environment controls which graphic snap agents are active, the order in which they are called, and the snap tolerance
IGraphicElement
Creates a feedback on the display for adding a new line
MoveEnvelopeFeedback
Creates a feedback on the display for moving a geometry by reference
GxDatabaseExtension
The metadata editor objects provide a user interface for editing metadata
MetadataEditor
MetadataImport
IFileSystemQuery
IGxDiskConnection
GxDatabaseExtension is an abstract class whose purpose is to provide a starting point for those developers who want to create extensions to a GxDatabase
StyleGallery
IPersist IPersistStream ISnapGrid
IClone IConnectionPointContainer IFrameProperties IPage IPageEvents GraphicIPersist SnapIPersistStream Environment IPropertySupport
IGraphicSnapEnvironment IPersist IPersistStream
Graphic elements are simple graphics that can appear in a data view
NewLineFeedback
INewMultiPointFeedback
Creates a feedback on the display for moving a point IRotateTracker
Creates a feedback on the display for adding a new envelope
ModifyDimensionFeedback
IMovePointFeedback
CancelTracker IAnchorPoint
A cancel tracker provides a mechanism for the user to stop a process
LineTracker
Element
NewEnvelopeFeedback
INewEnvelopeFeedback INewEnvelopeFeedback2
LineMovePointFeedback
Creates a feedback on the display for moving a line
CalloutTracker
IClone ITableControl ITableControlInfo ITableControlWidth ITableOutput ITableView ITableView2 ITableViewTableFields
Page layout
The text background editor is a dialog box used for editing the properties of text backgrounds like a callout
NewDimensionFeedback
Creates a feedback on the display for adding new dimension shapes
IMoveLineFeedback
The quantile classification creates as close as possible to equal numbers of values in each class
Graphic snap agents move elements by attempting to snap them to various objects such as the snap grid
NewCircleFeedback
Creates a feedback on the display for adding a new circle
IMetadataImport
IGeographicCoordinateSystemDialog
IGxDatabaseExtension IGxDatabaseExtensionCompare
IExtension
IAppDisplay IDisplay IDraw IScreenDisplay IScreenDisplay2
Overview windows display the full extent view of the focus map
A group element is a set of grouped elements
INewCircleFeedback
ExportMPFAQ
IComPropertySheetEvents IGxLayer IGxObjectInternalName IGxThumbnail
GxFolder
Application
TableWindow
A line element is a line graphic
Creates a feedback on the display for moving an image of symbolized elements or features
Selection trackers manage the handles of selected elements
IActiveView IActiveViewEvents IConnectionPointContainer IDisplayAdmin IGraphicsContainer IGraphicsContainerSelect IGraphicSnapEnvironment IPageEvents IPageLayout GridSnap IPersist GuideSnap IPersistStream ISelectionEvents MarginSnap ITransformEvents RulerSnap IViewManager
NewBezierCurveFeedback
Creates a feedback on the display for adding a new Bezier curve
IMoveImageFeedback IMoveImageFeedback2
The standard deviation classification creates classes that represent dispersion about the mean value
ITableWindow ITableWindow2
The text symbol editor is a dialog box used for editing the properties of an existing text symbol
TextBackgroundEditor
INewBezierCurveFeedback
IMoveGeometryFeedback
ICalloutTracker
5
RubberCircle
A rubber envelope object allows the user to input and move envelopes on the display
The natural breaks classification produces classes which highlight natural groupings by minimizing variance within a class and maximizing variance between classes
StandardDeviation
ITextBackgroundEditor
GroupFeedback
IModifyDimensionFeedback
IApplication IApplicationWindows IExtensionManager IDockableWindowManager IEnumPrinterNames IMultiThreadedApplication IMxApplication IObjectFactory IVBAApplication IWindowPosition
DataGraph
GraphicSnap
IClone IElement IElementProperties IPersist IPersistStream
INewLineFeedback
TableHistogram
The equal interval classification is similar to defined interval, except that the first interval starts at the lowest value
NaturalBreaks
SimpleLineCallout
INewDimensionFeedback
Creates a feedback on the display for moving a point on a line
RubberBand
The defined interval classification produces classes that are divided by regular fixed numeric increments
A simple text path is used to draw text that follows a straight or curved line.
SimpleTextPath
TextSymbolEditor
ExportMPSGML
GxObjectArray
IGxFile IGxObjectInternalName IMetadata IMetadataEdit INativeTypeInfo
GxFile
GxFolder represents system-level folders
GxSpatialReferencesFolder represents only the top level of the spatial reference information accessible through ArcCatalog
TM
CalloutFeedback
Creates a feedback on the display for a group of feedback objects
The symbol shadow draws a shadow around a frame element
Rubber band
Classify
IClassifyMinMax IIntervalRange
OverposterTextPath
IGxCachedObjects IGxFile IGxFolder IGxObjectInternalName IGxObjectProperties IMetadata IMetadataEdit INativeTypeInfo
GxDatabaseExtensions
GxDatabaseExtensions is a collection object for the set of GxDatabaseExtension objects
Application
Mapinset windows display a magnified view of the focus map
OverviewWindow
FontSize
BezierMovePointFeedback
Creates a feedback on the display for a callout
IGraphicSnap IPageLayoutSnap IPersist
An overposter text path is used internally by the ArcObjects label engine
DisplayFeedback
ILineMovePointFeedback
IDataNormalization IHistogram IStatisticsResults ITableHistogram
ISimpleLineCallout
The font size object is used by ArcMap to determine the default size for new text
ISet
A screen display object abstracts a normal application window and implements scrolling and backing store
IClassify
IOverposterTextPath
LineCallout
IClone IFontSize IPersist IPersistStream
ICalloutFeedback
IBackground ISymbolBackground
IScreenDisplay ITransformEvents
BalloonCallout
ITextSymbolEditor
GeometryDraw
IActiveViewEvents IDocumentEvents IMapSurroundEvents IOverviewWindow IPersistStream
An overview window factory creates overview windows
A Bezier text path is used to draw text along a curve, from its start to endpoints
BezierTextPath
A balloon callout draws a balloon behind a piece of text
SimpleFillSymbol
Frame decoration
Display
SimpleDisplay
The chart symbol editor can be used to allow users to edit the properties of a chart symbol
MarkerTextBackground
A callout draws a background behind a piece of text, with a leader line to an anchor point IBalloonCallout ITextMargins
ChartSymbolEditor
A text path defines a line along which a piece of text is placed
Display feedback
Display
Display objects are used to draw graphics on a variety of output devices
StackedChartSymbol
TextPath
A simple line callout draws a custom line shape as a leader line to a TextSymbol
SymbolEditor
MapInsetWindow
The page layout is ArcMap's version of a hardcopy output page. A typical page layout may have a map and graphic elements representing a title, north arrow and legend
Callout
ILineCallout IMarkerBackground ITextMargins
A picture fill symbol is a grid of pictures
PictureFillSymbol
A simple fill symbol is a solid or hatched fill ISymbolSelector
A multilayer fill symbol is a stack of other fill symbols
MultiLayerFillSymbol
IFillProperties IPictureFillSymbol
A template defines the series of dots, dashes, and gaps along a cartographic line
A simple line decoration element draws marker decorations on the top of a line symbol, such as arrowheads ILineDecorationEditor
PictureLineSymbol
A picture line symbol draws a line by filling it with a tiled image
LineDecoration
IMultiLayerFillSymbol ILayerColorLock ILayerVisible
ICallout IQueryGeometry
The stacked chart symbol draws a stacked bar chart
A multilayer line symbol is a stack of other line symbols
IMultiLayerMarkerSymbol ILayerVisible ILayerColorLock IMarkerBackgroundSupport IMask
A simple display object abstracts all other devices that can be rendered to using a Windows Device Context such as printers and metafiles
LineFillSymbol
MarkerLineSymbol
An text symbol defines a Font and many formatting properties of a piece of text.
TextBackground
A marker text background is a marker symbol drawn as a background to a piece of text
PieChartSymbol
IGxDatabaseExtensions
7
Data graph windows display graphs
IActiveViewEvents IDocumentEvents ILensWindow IMapInsetWindow IMapSurroundEvents IPersistStream
OverviewWindowFactory
Text symbols
DataGraphWindow
Table windows display a table
The bar chart symbol draws a bar chart
TiffExporter
IMetadataEditor
ExportXML
GxMetadata represents XML files
IGxFile IGxFileSetup (optional) IGxObjectInternalName (optional) IGxObjectProperties IMetadata IMetadataEdit INativeTypeInfo
GxRemoteDatabaseFolder represents only the top-level Remote Connections folder
IGxCachedObjects IGxDataset IGxObjectInternalName IGxObjectProperties IGxThumbnail IMetadata IMetadataEdit INativeTypeInfo IObjectClassSchemaEvents
GxDatabase
workspace within ArcCatalog
Data graphs represent ArcMap and ArcCatalog graphs
MapInsetWindowFactory
IDataWindowFactory
IMarkerTextBackground IArrowMarkerSymbol IMarkerMask
IActiveViewEvents IComPropertySheetEvents IDataGraphWindow IDocumentEvents IPersist IPersistStream
A map insert window factory creates map inset windows
IClone ITextBackground IPersist IPersistStream
IGxCachedObjects IGxDatabase IGxDatabase2 IGxObjectInternalName IGxObjectProperties IGxObjectWizard IMetadata IMetadataEdit INativeTypeInfo GxDatabase holds a
The PDF driver is created by the PDF exporter object during the output of map data to a PDF file
PdfExporter
IClone IDataGraph IDataGraphAxis IDataGraphTicks IDataGraphAreaProperties IDataGraphBarProperties IDataGraphColorProperties IDataGraphHighLowCloseProperties IDataGraphOverlayProperties IDataGraphPieProperties IDataGraphProperties IPersistStream
DataWindow
BarChartSymbol
PsExporter
GxFileFilter
Feature
DataWindow
A 3D chart symbol is a symbol used by a chart renderer A dot-density fill symbol is a datadriven symbol commonly used with the dot-density renderer.
GxFile represents any file type that has been defined in ArcCatalog
GxObjectContainer
GxSpatialReferencesFolder
IGxCachedObjects IGxObjectProperties IGxSpatialReferencesFolder
Feature
GxObject
SearchResults stores a query
GxRemoteDatabaseFolder
IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRow IRowBuffer IRowEvents IValidate
ColorSelector
Data windows are additional displays associated with the application
TextSymbol
IGxObjectContainer IGxPasteTarget
SearchResults
IGxCachedObjects IGxObjectProperties IGxRemoteContainer IGxRemoteDatabaseFolder
GxFileFilter object maintains the file filter used by ArcCatalog to determine which file types to display
PDFDriver
IDataWindow
IFormattedTextSymbol IMapLevel IMask IPropertySupport ISimpleTextSymbol ISymbolRotation ITextSymbol
The PS exporter creates output in the PostScript format
IPDFDriver
An RGB color is composed of red, green, and blue for optimum screen display.
3DChartSymbol
GxPrjFileFactory
IGxFile IGxCachedObjects IGxObjectSort IGxObjectProperties IMetadata IMetadataEdit ISearchResults
GxCatalog
IGxFileFilter IGxFileFilterEvents IPersistStream
The PDF exporter creates output in the Portable Document format
A ColorSelector allows you to edit a color according to the RGB, CMYK, or HSV color model
3D chart symbols
I3DChartSymbol IChartSymbol IMarkerBackgroundSupport IMarkerSymbol ISymbolArray
FillSymbol
GradientFillSymbol
HashLineSymbol
IColorSelector
Symbols are used for drawing features and elements on a map and have attributes such as color and size
Symbol
Fill symbols
DotDensityFillSymbol
IGradientFillSymbol
IHashLineSymbol
HsvColor An HSV Color is defined with hue, saturation, and value components
A random color ramp is a series of randomized colors within certain limits
Symbols
IFillSymbol IMapLevel IPropertySupport
LineSymbol
ColorPalette
A ColorPalette displays the colors that are held in the current Styles on a popup menu
IHsvColor
A preset color ramp is a series of 13 specific colors
RandomColorRamp
IClone IPersist IPersistStream ISymbol
Line symbols
An HLS color is defined with hue, lighting, and saturation components
Display
CalcRendererValues is a utility object used to perform simple statistical calculations on a feature layer for use by renderers
TransparencyDisplayFilter
Marker symbols
ICartographicMarkerSymbol ICharacterMarkerSymbol IMarkerMask
The unique value renderer defines the symbol a feature is to be drawn with based on an attribute value
UniqueValueRenderer
DotDensityRenderer
IClone IDisplayFilter IPersist IPersistStream ITransparencyDisplayFilter
IMapLevel IMarkerSymbol IPropertySupport ISymbolRotation
IRandomColorRamp
HlsColor
A multipart color ramp is a collection of other color ramps
PresetColorRamp
IColorPalette ICustomColorPalette
IGxObjectArray
GxObject
GxObjects represent individual data items and they are what appear in the tree view and the contents view
GxShortcutFactory
GxCatalog object represents your actual tree of data, as is shown in the tree view
The JPEG exporter creates output in the format set by the Joint Photographic Experts Group
6
IHlsColor
An algorithmic color ramp is a sequential series of colors
MultiPartColorRamp
A simple renderer draws each feature using the same symbol
-
graduated symbol maps
A dot-density renderer draws varying densities of dots within polygon features
SimpleRenderer
ILevelRenderer ILookupSymbol IRotationRenderer ITransparencyRenderer IUniqueValueRenderer
IDataExclusion IDotDensityRenderer IDotDensityUIRenderer IRendererFields
IMultiPartColorRamp
A scale-dependent renderer is made of multiple renderers, each operating within a scale range
A gray color is defined as a percentage of black
AlgorithmicColorRamp
IPresetColorRamp
IDisplayAdmin ILevelRenderer ILookupSymbol IPropertySupport IRotationRenderer ISimpleRenderer ITransparencyRenderer
ClassBreaksRenderer
IIAlgorithmicColorRamp
ExportDialog
IComPropertySheetEvents IConnectionPoint IConnectionPointContainer IGxCatalog IGxCatalogEventsDisp IGxCatalogEvents IGxFile IGxObjectFactories IMetadataEdit
The EMF exporter creates output in the Microsoft Enhanced Metafile format
JpegExporter
IExporter2 ITiffExporter IWorldFileSettings
CieLabConversion
GrayColor
A proportional symbol renderer draws a symbol of varying size for each feature. The size is in proportion to a field value
ScaleDependentRenderer
IScaleDependentRenderer
ChartRenderer
IBarrierProperties2 IClassBreaksRenderer IClassBreaksUIProperties IDataExclusion IDataNormalization A class breaks renderer IDataSampling can be used to draw ILevelRenderer graduated color ILookupSymbol (choropleth) and IRotationRenderer
ProportionalSymbolRenderer
IExportDialog IExportDialog2
ICieLabConversion IGrayColor
IBivariateRenderer
MonitorSettings
Monitor settings can be used to get white point, red point, green point, and blue point values for the monitor
A CMYK color is composed of cyan, magenta, yellow, and black for optimum print reproduction
ColorRamp
ArcPressExporterTIFF
GxFileFactory
The DIB exporter creates output in the Device-Independent Bitmap format
EmfExporter
IFontMapEnvironment IPsExporter The Export dialog box displays a dialog for users to enter filename and desired format for outputting map data IPdfExporter IFontMapEnvironment
IGxObjectFactoryPriority
Row
The metadata export objects output a dataset's metadata to a file
ExportMPHTML
ExportMP
The GxObjectFilter objects are used in conjunction with the GxDialog object to limit the types of data the user can browse when selecting objects to open or save
IGxObject IGxObjectEdit IGxObjectUI
IFeature IFeatureBuffer IFeatureDraw IFeatureEdit
ArcCatalog abstract class
MetadataExport
ExportHTML
ArcCatalog
GxMetadataFactory
Row
FGDCEditor
EnumGxObject
GxSelection
* GxContentsViewColumn
GxTextFileFactory
Output abstract class
Metadata
IGxBasicObject IGxNewDatabase IGxObjectProperties
IEmfExporter
ArcPressExporterPNG
ColorBrowser
The color browser dialog box allows a color to be selected by setting individual color properties
IGxObjectFactoryPriority
GxDatabaseFactory
CGMDriver
IGxObjectFactoryEdit
ArcCatalog class
MetadataExtension
IGxObjectFilter
The CGM exporter creates output in the Computer Graphics Metafile format
DibExporter
IJpegExporter
ILegendGroup IPersist IPersistStream
IEnumGxObject
GxObjectFactory
GxMapFactory
GxLayerFactory
CGMExporter
IBmpExporter IDibExporter IExporter2 IWorldFileSettings
ArcPressExporterJPEG
IColorBrowser
GxCoverageFactory
Exporter
IExporter
ArcPressExporter
IConnectionPointContainer IMetadataHelper IMetadataEvents IPersistStream
TM
IGxObjectFactoryEdit
Output class
Extension
GxObjectFactory objects help ArcCatalog generate GxObjects based on the object type
The CGM driver is created by the CGM exporter object during the output of map data to a CGM file
A MultiItem is a dynamic command that appears as zero or more adjacent menu items on a menu depending upon the state of the application
Color
IGxObjectFactory IGxObjectFactoryMetadata
Display class
IRow IRowEvents IValidate
IRow IRowBuffer IRowEvents IValidate
Extension
Objects in the GxContentsViewColumn collection represent the columns in the tabbed display area of the view (when Contents is the active tab)
IGxContentsViewColumn IClone IPersistStream
The paper object defines the printer and tray designations for use with the printer object
The ArcPress export abstract class supports the output of map data to the different file formats of ArcPress
IClone IColor IPersist IPersistStream
FontMap
ArcCatalog coclass
GxObjectArray object holds a set of GxObjects
*
The Number dialog box is used for getting user input in the form of a number
MultiItem
The legend group contains a collection of legend class objects
GxContentsView
Output coclass
IExtension
GxSelection keeps track of the items chosen in the tree and tabbed views of the data
GxContentsView is the Explorer-style iconic view available in ArcCatalog
RowBuffer
IRowBuffer
See chapter 3, 'Customizing the user interface'
GxApplication
GxTreeView shows a hierarchical organization of your data holdings
GxTreeView
IGxCatalogEvents IGxContentsView IGxContentsViewColumns IPersistStream
IFontMap IFontMap2
The exporter abstract class defines the common interface for controlling the output of map data to files
IMultiItem IMultiItemEx (optional)
UIToolControl
PsDriver
IExtension IExtensionAccelerators IExtensionConfig
GxApplication represents the running ArcCatalog executable
IGxSelection IGxSelectionEvents
IRowBuffer
ArcMap abstract class
See chapter 3, 'Customizing the user interface'
GxDocument
GxDocument represents the document object in the VBA class ThisDocument contained in each VBA project
GxTableView is used to preview the table associated with the selected object
GxTableView Application
IGxCatalogEvents IGxTreeView
FontMapCollection
The GxGeographic-View lets you preview your data
The objects to the left show a sample view of type inheritance. The objects below show a flat view of the objects with their full list of interfaces. The two views are equivalent, but the type inheritance view gives insight into the structural composition of the object model.
Application
Application GxPreview IDocument IGxDocumentEvents IGxDocumentEventsDisp
Framework abstract class
This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1 component objects. Software interfaces are not duplicated in the child classes.
Display coclass
IMetadataExport
GxDocumentationView represents the metadata view in ArcCatalog
ArcMap class
Display abstract class
IGxPreview
GxGeographicView
IGxCatalogEvents IGxTableView
A font map creates associations between TrueType fonts and the mapped font
A tool control is dropdown list box control, editable textbox control, or other type of control that can be added to a toolbar
IUIToolControlEvents
A unique identifier object represents the globally unique identifier for any COM object
IUID
MessageDialog
IGxCatalogEvents IGxGeographicView IGxGeographicView2 ITransformEvents
The spot plate allows for the creation of separate plates (images) based on the specified color
The List dialog box is used to present a list of options and allows the user to select one of the options
Tool
ICommand ICommandSubtype (optional) IToolControl
IFontMapCollection
IColorCorrection IPsDriver IPsDriver2 ISpotPlateCollection
SpotPlate
IMessageDialog
ArcPressPrinterDriver
IGxApplication IGxCatalogAdmin IGxCatalogEvents IGxCatalogEventsDisp
Framework class
Type inheritance
Chapter 7
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
GxApplication
GxPreview shows previews of the selected object
GxDocumentationView
IGxCatalogEvents IGxDocumentationView IGxViewPrint
Output
ISpotPlate
ListDialog
ArcPressPrinter
IArcPressPrinterDriver IColorCorrection
*
GxView
GxView is an abstract class that represents all possible ArcCatalog views
ArcMap coclass
Chapter 6
A multiplicity is a constraint on the number of objects that can be associated with another object. Association and composition relationships have multiplicities on both sides. This is the notation for multiplicities:
GxView
IGxSelectionEvents IGxView
The ArcPress printer serves as a driver for the creation of output through ArcPress
*
A tool acts as a button that allows further interaction with the application display
UIEditBoxControl
PsPrinter
The PS driver supports the PS printer by setting general PostScript variables, including color information
The Get User and Password dialog is used for getting username and password information
IListDialog
UIComboBoxControl
The font map environment supports the PS printer by setting font information to be used during the creation of Postscript output
The Get String dialog is used for getting user input in the form of a string
IArcPressPrinter IArcPressPrinterDriver IColorCorrection
The ArcPress printer driver supports the ArcPress printer by setting ArcPress parameters
Button
ICommand ICommandSubtype (optional) ITool
Printer
The PS printer is used to create output through a PostScript driver
FontMapEnvironment
The Coordinate dialog box is used for getting user input in the form of x, y coordinates
GetUserAndPasswordDialog
IGetUserAndPasswordDialog
A button is a simple command that performs a simple task when clicked
IUIEditBoxControl IUIEditBoxControlEvents
You can use MouseCursor to set the system mouse cursor to be one of the standard built-in cursors or a custom cursor
An EMF printer serves as a driver for the creation of output through the Enhanced Windows Metafile format
IFontMapEnvironment
GetStringDialog
COM Command
MacroItem
UIButtonControl
IUIComboBoxControl IUIComboBoxControlEvents
DllThreadManager
EmfPrinter
A Progress dialog box displays animation and a step progressor bar
CoordinateDialog
Command
UIComboBoxControl is a dropdown list box control that can be added to a toolbar
IDllThreadManager
ICoordinateDialog
IGetStringDialog
UIButtonControl acts as a button or menu item that performs a simple task when clicked
ToolbarDef A menu definition is used by the command bars collection to create a menu
An accelerator key is a keyboard shortcut to quickly execute a common command
ProgressDialog
IColorCorrection IFontMapEnvironment IPsDriver IPsDriver2 IPsPrinter ISpotPlateCollection
IEmfPrinter
The Progress dialog box factory creates and displays a new progress dialog box
MacroItems are simple procedures written in the Visual Basic Editor
IUIButtonControlEvents
DocumentCommandBar
IProgressDialog IProgressDialog2 IProgressor IStepProgressor
*
Framework
MenuDef
IToolbarDef
CommandItem
A command item is an element on a command bar, such as a button, tool, or menu item
A command bar is a toolbar, menubar, menu, or context menu
1..*
COMCommandBar
An accelerator table contains a list of accelerator keys and the command identifiers associated with them
Command
ICommandItem IPersist IPersistStream ISupportInfo
A collection of command bars associated with a document
page xx
CommandBarDef
AcceleratorTable
Accelerator Document provides access to properties, such as title and type, and contains the Visual Basic for Applications project
ProgressDialogFactory
IProgressDialogFactory
IAcceleratorTable IPersist IPersistStream
IAccelerator
Document
ICommandBar ICommandItem
IMenuDef IRootLevelMenu IShortcutMenu
StatusBar
Document
ICommandBars
A command bar definition is used by the command bars collection to create a COM command bar
The status bar is the horizontal area at the bottom of ArcMap and ArcCatalog that provides information about the current application state
IStatusBar
PageLayout in ArcMap
Printer
Framework dialog boxes
A dockable window can exist in a floating state or attached to the main application window
DockableWindowDef
0..1 ICustomizationFilter
Templates
DockableWindow
*
A collection of up to three templates can be loaded in ArcMap, one in ArcCatalog. Templates help you define the scope of customization
ITemplates
IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IVBAApplication IWindowPosition
The GxViewContainer object permits a GxView object to be a container for additional views
Chapter 4
Framework coclass
Chapter 5
An N-ary association specifies that more than two classes are associated. A diamond is placed at the intersection of the association branches.
Multiplicity
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. () indicates the name of the helper class required to support this event interface in Visual Basic.
The printer abstract class defines the common interfaces for controlling the output of data to hardcopy devices
A dockable window definition is used by the application to create a dockable window
1..*
Chapter 3
RowBuffer
Composition is a relationship in which objects from the "whole" class control the lifetime of objects from the "part" class.
class
EnumGxView
IClone IPersistStream IPrinter
Type inheritance defines specialized classes of objects that share properties and methods with the superclass and have additional properties and methods. Note that interfaces in superclasses are not duplicated in subclasses. Instantiation specifies that one object from one class has a method with which it creates an object from another class.
Exploring ArcObjects • Volume 1 • Applications and cartography
Application
Associations represent relationships between classes. They have defined multiplicities at both ends.
Composition
coclass
TM
You will find updates to ArcObjects developer resources at www.esri.com/arcobjectsonline.
This ArcGIS object model diagram uses this color code to denote the coclasses, classes, and abstract classes in the ArcObjects subsystems.
A class cannot directly create objects, but objects of this class can be created as a property of another class or instantiated by objects from another class.
Instantiation
Association
IEnumGxView
An extension provides a mechanism for extending an application
abstract class
Types of Classes An abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object.
AnnotationVBScriptEngine
Line label position specifies the desired label position and placement option for labels placed relative to line features
Scale line scale bars are represented with a single line symbol
IBarrierCollection
A barrier collection holds a set of geometries used as barriers in label placement
AnnotationJScriptEngine
BarrierCollection
An annotation Java Script engine specifies a label expression based on Java Script
Basic overposter layer properties specify label placement and conflict resolution properties
IBasicOverposterLayerProperties IBasicOverposterLayerProperties2 IClone IOverposterLayerProperties IPersist IPersistStream
SingleDivisionScaleBar
AlternatingScaleBar DoubleAlternatingScaleBar HollowScaleBar
Single-fill scale bars are symbolized using one fill symbol
Double-fill scale bars are symbolized using two fill symbols
IClone IPersist IPersistStream IPointPlacementPriorities
PointPlacementPriorities
Point placement priorities specify conflict resolution weights for labels placed relative to point features IClone ILineLabelPlacementPriorities IPersist IPersistStream
BasicOverposterLayerProperties
LineLabelPlacementPriorities
Line label placement priorities specify conflict resolution weights for labels placed relative to line features
ESRI® ArcObjects™ is the development platform for the ArcGIS™ family of applications such as ArcMap™, ArcCatalog™, and ArcScene™. The ArcObjects software components expose the full range of functionality available in ArcInfo™, ArcEditor™, and ArcView™ to software developers.
ArcInfoWorkspaceFactory CadWorkspaceFactory
ShapefileWorkspaceFactory
SdeWorkspaceFactory AccessWorkspaceFactory
ILocalDatabaseCompact
Workspace
IClone ICodedValueDomain IPersist
IFeatureDatasetName
CodedValueDomain
IConfigurationParameter
GeometricNetworkName
IClone IPersist IPersistStream IPropertySet IPropertySet2
Dataset
A geodataset is a type of dataset that stores geographic data
PropertySet
An enumeration of IDs represents a set of object identifiers
EnumIDs
ISelectionSet ISelectionSet2
IClass ITable ITableCapabilities
SelectionSet
Row, object, feature
IDataset IRelationshipClass IRelationshipClass2 IRelClassSchemaEdit
A graph is a set of topologically related feature classes
A query filter restricts the set of rows retrieved from a table
IRelatedObjectEvents IRow IRowChanges IRowCompare IRowEdit IRowEvents IrowSubtypes ISupportErrorInfo IValidate
QueryFilter
Row ISpatialFilter
SpatialFilter
Graph
Table, object class, feature class
IDatasetEdit IGeoDataset IGeometricNetwork IGeometricNetworkConnectivity IGeometricNetworkErrorDetection IMetadata IMetadataEdit INativeTypeInfo ISchemaLock
ICursor
An object is a row in a geodatabase table
GeometricNetwork A feature is a geographic object with a geometric shape
IClassSchemaEdit IClassSchemaEdit2 IModelInfo IObjectClass IObjectClassInfo IObjectClassInfo2 ISubtypes IValidation IValidation2
A spatial filter is a query filter that includes spatial and attribute constraints
Object Cursor
IFeature IFeatureBuffer IFeatureChanges IFeatureDraw IFeatureEdit IFeatureEvents IFeatureSimplify
A cursor can iterate over a set of rows in a table or insert new rows
IAnnotationFeature IDimensionFeature INetworkFeature INetworkFeatureEvents
IJunctionFeature
SimpleJunctionFeature
ISimpleJunctionFeature ISimpleNetworkFeature
A simple junction feature has one junction element in the logical network
FeatureElement
IFeatureElement IFeatureElementEdit
IComplexJunctionFeature IComplexNetworkFeature IFeatureConnect IFeatureSnap
EdgeFeature
IComplexEdgeFeature IComplexNetworkFeature
ISimpleEdgeFeature ISimpleNetworkFeature
A complex junction feature has one to many junction and edge elements in the logical network
ComplexJunctionFeature
1..*
IClone IGeometryDef IGeometryDefEdit IPersist
IClone IDimensionShape IPersist IPersistStream ITransform2D
ComplexEdgeFeature
DimensionShape
IDimensionGraphic
IRelationship
*
Rule
IRelationshipRule
ConnectivityRule
IAttributeRule
FeatureClass
DimensionGraphic
A simple edge feature has one edge element in the logical network
AttributedRelationship
ISynchronizationHelper
AttributeRule
EdgeConnectivityRule
An XML property set stores the metadata for a dataset
IXmlPropertySetEdit
JunctionConnectivityRule
XML property set edit is an alternative to using an XML property set for changing metadata
IName
RelationshipClass
IMemoryRelationshipClassFactory
A relationship rule constrains the cardinality of a relationship
A class extension is a way for a programmer to add class-wide customization, such as a custom form for data inspection
An XYEventProperties provides information about an XYEventSource IXYEventProperties
FeatureClassExtension
DimensionClassExtension
A dimension class extension manages the drawing of dimension features
IXYEventSource
XYEvent2FieldsProperties
IClone IPersistStream ISupportErrorInfo IXYEvent2FieldsProperties
XYEventSource
*
IDimensionStyles IPersistStream
IFeatureDataConverter IFeatureDataConverter2 IFeatureProgress ISupportErrorInfo
XYEventSourceName
IClass IDataset ITable
An object class description helps automate the creation of new object classes
IFeature (optional) IFeatureBuffer (optional) IFeatureDraw (optional) IObject IRow IRowBuffer
An XYEventSource is a point feature class with features dynamically generated from coordinates in a table
GeometryEnvironment IClone IGeometry ITransform2D ISupportErrorInfo
QueryFilter
1..*
IFeatureClassDescription
DimensionStyle
INetworkClassDescription
Geometry
*
IClone IConstructGeometryCollection IEnumGeometry IGeometry IGeometry2 IGeometryBag IGeometryCollection IRelationalOperator ISpatialIndex ITopologicalOperator
IArea IEnvelope IEnvelope2 IGeometry2 IHitTest IMAware IPersist IPersistStream IProximityOperator IRelationalOperator IZAware
GeometryBag
Envelope
A geometry bag is a heterogeneous collection of points, multipoints, polylines, and polygons ICurve
Curve
A curve is an abstract segment-based geometry. Curves may be single segments, single paths, a collection of paths, single rings, or a collection of rings
Segments are the parametric curves between two endpoints. Segments may be linear lines or true nonlinear circular arcs, elliptic arcs, or Bézier curves ICurve2 IProximityOperator ISegment ISegmentID A circular arc is part of a ISegmentM circle. It is commonly used ISegmentZ
CircularArc
9
documented with 3D geometry objects
RelQueryCursor
Geometry
Path
A path is a sequence of connected segments. Paths make up polylines
Segment
Segment IConstructLine ILine ILine2
Line
A line is a straight segment between two points. Lines are used for straight constructions, such as a road segment or a parcel boundary
IEllipticArc IConstructEllipticArc
IArea IRing
EllipticArc
IBezierCurve IConstructBezierCurve
An elliptic arc is part of an ellipse. It is used for the geometry of a transitional feature such as a highway ramp
Ring
*
*
BezierCurve
A Bézier curve is a parametric curve defined by a set of third-order polynomials through four control points
Point
Polyline
A polyline is an ordered collection of paths that can be disjoint or connected. Polylines are used to represent the geometry of all linear features
RasterHistogram
SDERasterTableName
A stretch renderer stretches the values from the dataset along a color ramp
RasterStretchColorRampRenderer
A unique value renderer displays each unique value in the dataset using a different color
RasterRGBRenderer
A raster geometry proc can be used to perform geometric operations, such as flip, mirror, rotate, and polynomial warping, on a raster
IFormatData IFormatList IFormatTest
RasterSdeLoader
RasterPicture
A raster picture is a lightweight object that can be used to view some raster formats in a simple manner
IRasterRendererMaker
FormatList IPnt
DblPnt A format list can identify all supported raster formats and provide information about them
RasterFormatInfo
Raster format information provides information about a raster format specific to the user interface
A raster statistics object provides access to pixel statistics from a raster band
IRasterPicture
IRasterSdeConnection IRasterSdeServerOperation IRasterSdeStorage ISupportErrorInfo
A raster SDE loader creates and loads raster data into an SDE database
RasterDefaultsEnv
RasterGeometryProc
IRasterGeometryProc
A raster defaults environment allows the user to customize raster default behavior
IRasterDefaultsEnv IRasterDefaultsEnv2
RasterUniqueValueRenderer
IRasterUniqueValueRenderer IRasterRendererClassInfo
SidEncoder
A color symbol object specifies a color to be displayed by a raster renderer
RasterRenderer
RasterRenderer
IRasterStretch IRasterStretchColorRampRenderer IRasterRendererClassInfo
The Sid encoder compresses a raster dataset into MrSID format
A raster histogram provides access to the histogram of a raster band
RasterStatistics
NetworkClassDescription
IClone IPersistStream IRouteEventProperties ISupportErrorInfo
RelQueryTableFactory
IName
IRouteMeasurePointProperties
Name
RasterRendererMakerDefault
The raster renderer maker default object determines the renderer used to display a raster by default
A double point is a support object that represents a point
INetElementClass
NetworkWorkspace
A network element class provides access to the IDs of the object classes participating in the network
NetElementClass
Network
INetAttributes INetAttributesEdit INetElements INetSchema INetSchemaEdit INetTopology INetTopologyEdit INetwork INetworkUpdate IVersionedObject2
A forward star returns all the adjacent elements given a junction and edge element. It is used extensively when writing solvers
IForwardStar
Network
IStreetNetwork
ForwardStar
EnumNetEIDArray
StreetNetwork
ILocator ILocatorFullName
IClass ITable ITableCapabilities
RouteMeasureGeoprocessor
A locator knows how to transform a spatial description into a shape
INetWeight INetWeightEdit
IRouteLocator
A route locator knows how to transform a route location into a shape
A route measure locator is a specific kind of route locator that requires a route identifier and one or two measure values
FeatureClass
IEventSourceErrors IRouteEventSource
*
A network weight is used to limit tracing in a network and denote the cost of tracing through a network element
INetWeightAssociation INetWeightAssociationEdit
ITracePathTaskResults
TraceFlowSolver
INetElementDescription INetElementDescriptionEdit
A network element description is a container to hold information about a network element to be used in calls in INetTopologyEdit
NetElementDescription
The find accumulation task finds the accumulated cost of an upstream trace
A network flag is a location on a network. It is used as input for a network solver
JunctionFlag
A junction flag is a network flag that occurs at a junction
IEdgeFlagDisplay ISupportErrorInfo
An edge flag display begins a trace or path finding along an edge
NetElementBarriers
Network element barriers create barriers of individual elements
ISelectionSetBarriers
SelectionSetBarriers
Selection set barriers create barriers from selected sets of features
A trace task executes a defined trace or path-finding routine
EdgeFlag
An edge flag is a network flag that occurs somewhere along an edge. The position is measured as a percent along the edge
FindPathUpstreamTask
ITracePathTaskResults
FindAncestorsTask
ITracePathTaskResults
The find loops task finds elements that can be reached from more than one direction
The trace downstream task finds all elements that can be reached in a downstream flow from the current flags
The trace path task finds the optimal path between flag displays
TracePathTask
FindDisconnectedTask
The find disconnected task finds all elements that cannot be reached from the current flags
The find path upstream task finds the optimal path based on elements flowing upstream
TraceDownstreamTask
FindConnectedTask
The find connected task finds all elements that can be reached from the current flags
EdgeFlagDisplay
TraceTask
TraceTask
FindAccumulationTask
The find ancestors task finds the common ancestors in an upstream trace from two or more flags
IEdgeFlag IJunctionFlag
A junction flag display begins a trace or path finding at a junction
INetElementBarriers INetElementBarriers2
A utility network analysis extension provides trace and path finding capabilities to a Utility Network Analyst toolbar
NetSolver
NetFlag
A network weight association defines how an object class participates in a weight
NetWeightAssociation
UtilityNetworkAnalysisExt
INetFlag
NetFlag
RouteMeasureLocator
NetSolver
A trace flow solver performs tracing operations on a logical network
NetWeight
ITraceTasks IUtilityNetworkAnalysisExt
A network analysis extension manages the parameters found within the Utility Network Analysis toolbar
NetworkAnalysisExt
ITraceTask ITraceTaskResults
ISupportErrorInfo ITraceFlowSolver ITraceFlowSolver2
A network loader creates a geometric network along with its logical network
*
RouteEventSource
The trace upstream task finds all elements that can be reached in an upstream flow from the current flags
TraceUpstreamTask
FindLoopsTask
*
A route event source serves an event table as a dynamic feature class
IRouteLocation ISupportErrorInfo
A route location describes either a precise location along a route or a portion of a route between a from- and to-measure IRouteMeasurePointLocation
RouteMeasureLineProperties
RouteMeasureLocator
ObjectClass
IFeatureClass IFeatureClassLoad (optional) IFeatureClassWrite IGeoDataset INetworkClass
RouteMeasurePointProperties
NetworkLoader
Table
IClassSchemaEdit IClassSchemaEdit2 IModelInfo IObjectClass IObjectClassInfo IObjectClassInfo2 ISubtypes IValidation IValidation2
RouteEventProperties
Locator
JunctionFlagDisplay
Network
A network solver defines the trace environment before executing one of the trace methods from the trace flow solver
Dataset INetworkLoader INetworkLoader2 INetworkLoaderProgress INetworkLoaderProps ISupportErrorInfo
IExtension INetworkAnalysisExt INetworkAnalysisExtBarriers INetworkAnalysisExtFlags INetworkAnalysisExtResultColor INetworkAnalysisExtResults INetworkAnalysisExtWeightFilter INetworkAnalysisExtWeights ISupportErrorInfo
0..*
A street network is a network where flow is undirected
IName
Name
12
RouteMeasureLocation
RouteMeasurePointLocation
A locator name refers to a locator IRelationshipClassName
RelQueryTableName
ILocatorName
RelationshipClassName
IDatasetName
LocatorName
DatasetName
A route measure locator name refers to a route measure locator
MemoryRelationshipClassName
RouteMeasureLineLocation
RouteMeasureLocatorName
IRouteLocatorName IPersistStream ISupportErrorInfo
IFeatureClassName IPersistStream IRouteEventSourceName ISupportErrorInfo
A route event source name object refers to a route event source
RouteEventSourceName
IClone IGeometry ITransform2D ISupportErrorInfo
IConstructMultiPatch IGeometryCollection IHitTest IMAware IMCollection IMultiPatch IPersist IPersistStream IPointCollection IPointIDAware ITransform3D IZAware IZCollection
A multipatch is a threedimensional collection of surface patches; triangle fans, triangle strips, and rings
Multipoint
Geometry
3D geometry *
MultiPatch
IClone IGeometry IGeometry2 IGeometryCollection IMAware IPointCollection IPointIDAware ISupportErrorInfo ITransform2D ITriangleFan IZAware
TriangleFan
A triangle fan is a surface patch consisting of triangle surfaces between two consecutive points connected around a single central point
* IClone IGeometry IGeometry2 IGeometryCollection IMAware IPointCollection IPointIDAware ISupportErrorInfo ITransform2D ITriangleStrip IZAware
TriangleStrip
IArea IRing
A triangle strip is a surface patch consisting of triangle surfaces between three consecutive points
Spatial reference The geographic coordinate system defines a coordinate system that describes the positions of features on the earth using latitude and longitude values IGeographicCoordinateSystem IGeographicCoordinateSystem2 IGeographicCoordinateSystemEdit IPRJSpatialReference ISRPersistStream
IClone IDatum IDatumEdit IESRISpatialReference IPersistStream ISpatialReferenceInfo ISupportErrorInfo
Ring
IClone IPersist IPersistStream IESRISpatialReference ISpatialReference ISpatialReference2 ISpatialReferenceInfo ISupportedErrorInfo
SpatialReference
IMolodenskyTransformation
IUnknownCoordinateSystem IPRJSpatialReference IProjectedCoordinateSystem IProjectedCoordinateSystem2 IProjectedCoordinateSystemEdit ISRPersistStream
Projected Coordinate System
The abridged Molodensky transformation uses three parameters (dX, dY, dZ) to convert between geographic coordinate systems (datums)
AbridgedMolodenskyTransformation
ICoordinateFrameTransformation
SpatialReference
A projected coordinate system object includes a geographic coordinate system, a projection, a set of projection parameters, and a linear unit
Datum
IGeoTransformation
The geotransformation class specifies the methods used by all geographic transformations
The spatial reference is the base for three types of coordinate systems: projected, geogaphic, and unknown The unknown coordinate system is used when the coordinate system is not known or unavailable
GeographicCoordinateSystem
UnknownCoordinateSystem
The coordinate frame transformation object uses seven parameters (dX, dY, dZ, rX, rY, rZ, dS) to convert between geographic coordinate systems (datums)
Transformation Transformation
IGridTransformation
IClone IGeometry ISphere
Ray
Sphere
A ray is an infinite one-dimensional line defined by an origin point and a three-dimensional direction of infinite extension from the origin
A sphere is a three-dimensional surface that is a specified radius from a central origin point
IClone ISupportErrorInfo IVector IVector3D
Vector3D
A 3D vector has a specific direction and magnitude, but no fixed location. A 3D vector can be used to define directions and axes
A datum represents a reference system for latitudelongitude coordinates and is defined by a spheroid and the spheroid's position relative to the center of the earth
IAngularUnit IAngularUnitEdit IClone IESRISpatialReference IPersistStream ISpatialReferenceInfo ISupportErrorInfo IUnit
CoordinateFrameTransformation
Polygon
A polygon is a collection of rings that are partially ordered by their containment relationship. Polygons are used to represent the geometry of areal features
IClone IESRISpatialReference IPersistStream ISpatialReferenceInfo ISpheroid ISpheroidEdit ISupportErrorInfo
ILongitudeRotationTransformation ILongitudeRotationTransformationEdit
Projection The longitude rotation transformation converts between two prime meridians by applying a shift to the longitude values
10
Parameter
The parameter can be used to define and modify the values for specific properties for a projected coordinate system
Spheroid
The spheroid object models the approximate shape of the earth's surface
IClone IESRISpatialReference IParameter IParameterEdit IPersistStream ISpatialRerefenceInfo ISupportErrorInfo
GridTransformation
PrimeMeridian
A prime meridian object specifies the line of zero longitude for the coordinates in a geographic coordinate system.
IClone IESRISpatialReference ILinearUnit ILinearUnitEdit IPersistStream ISpatialReferenceInfo ISupportErrorInfo IUnit
LinearUnit
The linear unit specifies the measurement units used in a projected coordinate system.
Grid transformations perform accurate coordinate conversions using a grid, or matrix, of control points held in a file
The NADCON transformation is a grid-based transformation method that converts geographic coordinates between the NAD 1927 and the NAD 1983 datums
LongitudeRotationTransformation
The HARN transformation is a highly accurate grid-based transformation method that converts geographic coordinates between the NAD1983 datum and the HARN readjustments (used in the United States)
IMolodenskyTransformation
The Molodensky transformation uses three parameters (dX, dY, dZ) to convert between geographic coordinate systems (datums)
FeatureSnap
Editor
PositionVectorTransformation
Spatial ReferenceEnvironment
CompositeGeoTransformation
The composite geotransformation allows you to set up a transformation path between two datums by defining two or more geotransformation objects and their associated direction
IEditSketchExtension
1..*
IDigitizerButtons IDigitizerSetup
IConflictDisplay IConflictsWindow IConflictsWindow2
IFeatureSnapAgent
ConflictsWindow
SpatialReferenceInfo
The spatial reference info retrieves information about a spatial reference object
ESRISpatialReferenceInfo
TopoEditor The digitizer extension allows the ArcMap editor to work with a digitizing board and puck The topological editor extension enables the ArcMap editor to perform shared geometry editing
EditSelectionCache
An edit selection cache stores the selection for fast hit testing
IFeatureCache IFeatureCache2
FeatureCache
A feature cache stores features in memory for a particular spatial extent.
IObjectInspector
FeatureInspector
The feature inspector is the control inside the attributes dialog box that enables attribute editing
GeoTransformationOperationSet
The geotransformation operation set stores a set of geographic transformation operators (a geotransformation object and its direction)
SketchOperation
Sketch operations allow edit sketch modifications to be undone ICommand ISketchTool ITool
SketchTool
The sketch tool is the editor's main tool for creating an edit sketch IEditEvents2
The ESRI spatial reference info provides methods to import and export components to and from spatial reference objects IGeoTransformationOperationset ISupportErrorInfo
Edit sketch extensions override the default edit sketch behavior to provide a custom editing experience for specific feature classes
SnappingCommand
The snapping command is the ArcMap editor's snapping window where snap agent properties are set ISketchOperation ISketchOperation2
Feature snap agents are a class of snap agents that help position features and the edit sketch by snapping them to other features
ITopoEditor
The conflicts window is the ArcMap Conflict Resolution dialog box
ICommand ISnappingWindow ISpatialReferenceInfo
EditSketchExtension
DigitizerExtension
IEditSelectionCache IEditSelectionCache2
IESRISpatialReference
IClone ICompositeGeoTransformation IGeoTransformation IPersistStream ISupportErrorInfo ITransformation
Editor
MolodenskyTransformation
The position vector (Bursa-Wolf) transformation object uses seven parameters (dX, dY, dZ, rX, rY, rZ, dS) to convert between geographic coordinate systems (datums)
IClassFactory ISpatialReferenceFactory ISpatialReferenceFactory2 ISupportErrorInfo
Extension
AttributeWindow
The attribute window is the ArcMap editor's attribute editing dialog box
SnapAgent
IActiveViewEvents IEditEvents IEditEvents2 IEditLayers IEditor IEditProperties IEditSketch IEditSketch2 IExtension IExtensionAccelerators IExtensionManager IPersist IPersistStream ISnapEnvironment
Editor extensions are additional objects that aid editing
HARNTransformation
The spatial reference environment creates predefined spatial reference objects IClone IESRISpatialReference IPersistStream IPrimeMeridian IPrimeMeridianEdit ISpatialReferenceInfo ISupportErrorInfo
EditTask
The Editor gives ArcMap feature editing capabilities
NADCONTransformation
GeocentricTranslation
IPositionVectorTransformation
The angular unit specifies the measurement units used in a geographic coordinate system
A polycurve is an abstract multipart curve
Polycurve
AngularUnit
ISnapAgent
IEditTask
IAttributeWindow
The geocentric translation transformation uses three parameters (dX, dY, dZ) to convert between geographic coordinate systems (datums)
A projection object specifies the mathematical transformation to convert between geographic and planar coordinates
1..*
1..*
Transformations are used by spatial reference and geometry transformation objects
GeoTransformation
* IClone IGeometry IRay
Edit tasks perform a specific operation using the edit sketch
Snap agents aid in positioning geometries by snapping them to other geometries
IExtension
IGeocentricTranslation
IClone IESRISpatialReference IPersistStream IProjection ISupportErrorInfo
Editing in ArcMap TM
IClone IPersistStream ISupportErrorInfo ITransformation
IConstructMultipoint IGeometry2 IGeometryCollection IHitTest IMAware IMCollection IMultipoint IPersist IPersistStream IPointCollection IPointCollection2 IPointIDAware IProximityOperator IRelationalOperator ISpatialIndex ITopologicalOperator ITopologicalOperator2 IZAware IZCollection
IArea IPolygon IPolygon2
IJunctionFlagDisplay
IEnumNetEID IEnumNetEIDBuilder
IRouteMeasureLineLocation
A RelQueryRow is a record in a RelQueryTable
Point
Polycurve
See chapter 8, 'Accessing the Geodatabase'
NetworkAnalystExt
UtilityNetwork
A flag display maintains the starting point for traces and path findings
FlagDisplay
0..*
A utility network is a network where flow is directed. You can establish flow direction on this type of network
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)
IFlagDisplay IFeatureDraw
Dataset
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)
The Network object is the logical network associated with a geometric network. It represents the linear connectivity among a set of network features
InvalidObjectInfo
Extension
See chapter 8, 'Accessing the Geodatabase'
INetSolver INetSolverWeights
IRouteMeasureLineProperties
IDatasetName
IExtension IExtensionAccelerators IExtensionConfig
Workspace
A network workspace lets you open and create a logical network
EnumInvalidObject
A network class description helps automate the creation of new network feature classes
Route event properties describe the characteristics of an event table
DatasetName
A ring is a closed path; the begin and endpoints are the same. Rings make up polygons IMSegmentation2 IPolyline IPolyline2
IRasterHistogram
AffineTransformation2D
*
IConstructCurve IGeometry2 IGeometryCollection IHitTest IMAware IMSegmentation IMCollection IPersist IPersistStream IPointCollection IPointIDAware IPolycurve IPolycurve2 IProximityOperator IRelationalOperator ISegmentCollection ISpatialIndex ITopologicalOperator ITopologicalOperator2 IZ IZAware IZCollection
*
RasterClassifyColorRampRenderer
IRasterEncoder ISupportErrorInfo
A raster colormap provides access to the colormap of a raster band
ColorSymbol
A raster renderer is an abstract class that provides the basic tools for raster rendering operations
1..*
* IDisplayAdmin IIdentify ILegendInfo IPersistStream IRasterDisplayProps IRasterRenderer
IRasterCursor
RasterColormap
IClone IColorSymbol IFillSymbol IMapLevel IPersistStream IPropertySupport ISymbol
*
IRasterRGBRenderer IRasterStretch
RasterCursor
A raster catalog table is a special type of table used to display multiple raster datasets as a single entity
A raster identify object allows identification of individual raster pixels in a dataset
A classify renderer divides the data values for a dataset into classes and assigns each class to a specific color
A raster cursor is a mechanism for iterating through all of the pixel blocks in a raster
RasterCatalogTable
RasterCatalogLayer
RasterIdentifyObj
Feature
RelQueryRow
A 2D affine transformation defines a two-dimensional affine transformation matrix and is used to create an arbitrary twodimensional transformation
A multipoint is an unordered collection of points. Features with multipoint geometries represent a set of points that share a common set of attributes
An envelope is the rectangular bounding box of a geometry defined by maximum and minimum coordinate and attribute values
IIdentifyObj IRasterIdentifyObj
Row
IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRow IRowBuffer IRowEvents IValidate
Feature
*
An RGB renderer compositely draws three bands of a raster dataset, one to each of the red, green, and blue channels of the display
RasterBand
Invalid object information explains why data could not be loaded
RelQueryTable
A RelQueryTableFactory manages the RelQueryTables that exist in the application
A RelQueryTable name is an object that represents a RelQueryTable. A RelQueryTable can be created from a RelQueryTable name
IConstructPoint IConstructPoint2 IGeometry2 IHitTest IMAware IPersist IPersistStream IPoint IPointIDAware IProximityOperator IRelationalOperator ITopologicalOperator ITransform3D IZAware
MultiPatch
IConstructPath IPath IPointCollection ISegmentCollection
for road curb lines at street intersections
ICircularArc IConstructCircularArc IConstructCircularArc2
Curve
IConstructMultiPatch IGeometryCollection IHitTest IMAware IMCollection IMultiPatch IPersist IPersistStream IPointCollection IPointIDAware ITransform3D IZAware IZCollection
IEnumInvalidObject
IInvalidObjectInfo
FeatureClassDescription
IRouteMeasureEventGeoprocessor ISupportErrorInfo
A RelQueryTable is a table with rows and columns derived from a joined pair of tables
IRelQueryTableFactory
Cursor
A point is a zero-dimensional geometry. Points are defined with x,y coordinate pairs with optional altitudes, measures, and point IDs.
Geometry
RasterBand
INetworkWorkspace INetworkWorkspace2
A feature class description helps automate the creation of new feature classes
Table
IFeatureClass (optional) IObjectClass IRelQueryTable IRelQueryTableInfo IRelQueryTableManage IVirtualTable
IRelQueryTableName
A geometry collection is a collection of part geometries used to construct a single high-level geometry
GeometryCollection
Row
IFeature IFeatureBuffer IFeatureDraw IFeatureEdit
Raster abstract class
IConnectionPointLayer IDataLayer IDataLayer2 IDisplayAdmin IGeoDataset IIdentify ILayer ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions A raster layer ILayerInfo combines raster data ILayerPosition and instructions to ILegendInfo IPersistStream visualize, or render, IRasterCatalogLayer
Raster
ObjectLoader
An invalid object enumerator represents a set of objects that failed a data conversion process
ObjectClassDescription
Dynamic segmentation
A RelQueryCursor is a cursor that references the rows in a RelQueryTable
IAffineTransformation2D IAffineTransformation2D2 IClone ISupportErrorInfo ITransformation
A feature is associated with one of these types of geometry: points, multipoints, polylines, or polygons.
Network abstract class
A raster catalog layer is a special type of layer used to display raster catalogs
PixelBlock
IRasterColormap
FeatureDataConverter
Data converter
DimensionStyles
SelectionSet
SpatialFilter
An XYEvent2FieldsProperties specifies the fields needed to generate geometry for an XYEventSource where at least two fields are required
IGeometryCollection
An object loader appends data to existing feature classes or tables
IFeatureProgress IObjectLoader ISupportErrorInfo
AnnotationFeatureClassExtension IObjectClassDescription
A memory relationship class name is an object that represents a memory relationship class. A memory relationship class can be created from a memory relationship class name
IConstructAngle IConstructDomainExtent IEncode3DProperties IExtrude IGeometryEnvironment IGeometryEnvironment2 IGeometryFactory IGeometryFactory2 ISupportErrorInfo
Raster class
RasterLayer
IPixelBlock
IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo
FieldError
An annotation feature class extension manages the drawing of annotation features
IAnnoClass IAnnoClassAdmin IAnnoClassAdmin2
IMemoryRelationshipClassName
A geometry environment is a singleton object that stores global variables used by other geometry objects. It lets you create geometry objects from different kinds of input
Network class
IRow IRowEvents IValidate
IRow IRowBuffer IRowEvents IValidate
EnumFieldError
A field error provides information about a field problem
A dimension style defines properties for controlling the symbology of dimensions
ICursor
A memory relationship class factory manages the memory relationship classes that exist in the application
XY events XYEventProperties
Raster
RowBuffer
FieldChecker
A feature data converter lets you convert data between geodatabases, shapefiles, and coverages
0..1
ISpatialFilter
An XYEventSourceName represents an XYEventSource. An XYEventSource can be created from an XYEventSourceName
FeatureClass
Editor class
Raster
The pixel block is a generic container for a pixel array that can be read from any raster or raster band
13
IFieldError
ObjectClassExtension
IFeatureClassExtension IFeatureClassCreation (optional) IFeatureClassDescription (optional) IFeatureClassDraw (optional) IFeatureClassEdit (optional) INetworkClassDescription (optional)
IDimensionClassExtension
IQueryFilter IQueryFilter2
IFeatureCursor (optional)
IFeatureClass IFeatureClassLoad (optional) IFeatureClassWrite IGeoDataset INetworkClass
Raster coclass
this data
IRasterClassifyColorRampRenderer IRasterClassifyUIProperties IRasterDataExclusion IRasterRendererClassInfo
RasterBandName
IDatasetName IName IPersistStream ISDERasterTableName ISQLPrivilege
A field error enumerator stores the problems found by a field checker
DatasetName
8
ArcInfoItem
IEnumFieldError
Class extension
ClassExtension
IConfirmSendRelatedObjectEvents (optional) IObjectClassExtension IObjectInspector (optional) IObjectClassDescription (optional) IObjectClassEvents (optional) IObjectClassValidation (optional) IRelatedObjectClassEvents (optional) IRelatedObjectClassEvents2 (optional)
On-the-fly table joins
MemoryRelationshipClassFactory
IDatasetName
IFeatureClassName IPersistStream ISupportErrorInfo IXYEventSourceName
IDatasetName IMetadata IMetadataEdit IName INativeTypeInfo IPersistStream IRasterBandName
ObjectLoaderUI
A field checker will find potential problems in field names
A simple relationship represents one-to-one or one-to-many relationships without attributes
Table
ObjectClass
IArcInfoItem IArcInfoItemEdit
IFieldChecker
Name
IClassSchemaEdit IClassSchemaEdit2 IModelInfo IObjectClass IObjectClassInfo IObjectClassInfo2 ISubtypes IValidation IValidation2
IRowBuffer IRowBuffer
ClassHelper
IClone IDimensionStyle IDimensionStyleDisplay IDimensionStyleText IPersistStream
A memory relationship class is a type of simple relationship class where the origin and destination classes can be from different workspaces
Dataset
IClass ITable ITableCapabilities
Chapter 13
Network coclass
Editor abstract class
IAttributeTable IClass IConnectionPointContainer IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayRelationshipClass IDisplayTable IGeoDataset IGeoReference IIdentify ILayer ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo IObjectClass IPersistStream IRasterLayer IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection
ArcInfoItems
1..*
A class helper is an intermediate object used to avoid circular references between an object class and a class extension
0..*
SimpleRelationship
ISelectionSet ISelectionSet2
XmlPropertySetEdit
FeatureClass
IClass IDataset IGeoDataset IMetadata IMetadataEdit INativeTypeInfo IObjectClass IRasterBand IRasterDataset IRasterProps IRasterPyramid IRasterTable IRasterTransaction IRawPixels ISupportErrorInfo ITable
IUtilityNetwork
IDataset IRelationshipClass IRelationshipClass2
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)
Chapter 12
Editor coclass
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
RasterBands
The raster bands object allows a developer to easily enumerate through a set of raster bands
GeometryDef
MemoryRelationshipClass
XmlPropertySet
ICoverageFeatureClass ICoverageFeatureClass2 IFeatureClass IFeatureClassLoad IFeatureClassWrite IGeoDataset INetworkClass
0..*
Metadata
IPersistStreamInit IPropertySet ISupportErrorInfo IXmlPropertySet IXmlPropertySet2
IArcInfoItems IArcInfoItemsEdit
A raster dataset name maintains name and other information for a raster dataset
A raster band name maintains name and other information for a raster band
Table
IObjectLoaderUI IObjectLoaderUIProperties
An attribute rule is the application of an attribute domain to an attribute
A relationship defines a general association between two objects or features
The FGDC synchronization helper helps translate dataset properties into metadata properties
FGDCSynchronizationHelper
IArcInfoTable IClass ITable ITableCapabilities
IGeoDataset IRaster IRasterAnalysisProps IRasterBandCollection IRasterDefaultProps IRasterProps ISupportErrorInfo
An SDE raster table name maintains name and other information for an SDE raster
A route measure event geoprocessor facilitates event overlay, dissolve, and concatenation
GxObject, Name, Dataset, TIN, GeometricNetwork, other objects
The ArcInfoItems object is used to manage the item set, or collection of items in an INFO table
1..*
RelationshipRule
Connectivity rules constrain which network features can be connected
An attributed relationship stores attributes on a relationship and also represents many-to-many relationships
IMetadata IMetadataEdit
FeatureDataset
Index
The dimension styles object manages a collection of dimension style objects
A dimension graphic draws dimensions
A complex edge feature has one to many edge elements in the logical network
The IArcInfoTable interface is used to access and manage the items in an INFO table
0..1
A feature class is a type of object class that stores geographic features
Relationship
SimpleEdgeFeature
Chapter 11
A multiplicity is a constraint on the number of objects that can be associated with another object. Association and composition relationships have multiplicities on both sides. This is the notation for multiplicities:
A raster is a dynamic, inmemory representation of pixels that derives from a raster data source on disk
RasterDataset
IRasterStatistics
Rules are associated with feature classes or object classes and are used to validate features or objects
Rule
Relationship
*
The objects to the left show a sample view of type inheritance. The objects below show a flat view of the objects with their full list of interfaces. The two views are equivalent, but the type inheritance view gives insight into the structural composition of the object model.
RowBuffer
An N-ary association specifies that more than two classes are associated. A diamond is placed at the intersection of the association branches.
GxFilterRasterDatasets
RasterDataset
IEnumDataset IEnumRasterBand
A raster band represents a single band of a raster dataset on disk
The ArcInfoItem object represents a field of the INFO table, and is used to create and manage individual fields
IClassExtension
IJunctionConnectivityRule IJunctionConnectivityRule2
A dimension shape stores the geometry for a dimension
Multiplicity
A raster workspace can open and create raster datasets
RasterDatasetName
The object loader user interface is the same as that of the ArcMap object loader
An annotation feature persists and draws annotation in a geodatabase
A dimension feature persists and draws dimensions in a geodatabase
Field
Each table has a set of fields that describe the data format of attributes. If a field represents a geometry, GeometryDef specifies its particulars. An index can be optionally specified on a field
ObjectClass
IEdgeConnectivityRule IFeatureClass IFeatureClassLoad (optional) IFeatureClassWrite IGeoDataset INetworkClass
Dataset
RasterWorkspace
1..* IClone IIndex IIndexEdit
IEdgeFeature
Edge features represent the lines in a geometric network.
JunctionFeature
Junction features represent the nodes in a geometric network
Network features participate in a geometric network. Each feature is associated with one or many elements in a logical network
NetworkFeature
Feature elements encapsulate the geometry of connection points on complex junction features
DimensionFeature
AnnotationFeature
Spatial reference abstract class
This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1 component objects. Software interfaces are not duplicated in the child classes.
0..1
A feature cursor references a set of features
Geometric network
CoverageFeatureClassName
A CoverageFeatureClassName identifies and locates a feature class in a coverage and is used for obtaining some basic properties of the feature class
ICoverage ICoverage2 IFeatureDataset INetworkCollection IFeatureClassContainer IRelationshipClassContainer
The version manager provides a user interface to create and manage version properties
IDatasetName IDatasetNameFileStat IMetadata IMetadataEdit IName INativeTypeInfo IPersistStream IRasterDatasetName
ICoverageFeatureClassName IDatasetNameFileStat IFeatureClassName INativeTypeInfo
Indexes
IRule
Feature FeatureCursor
Geometry abstract class
Type inheritance
IClassHelper
IConnectivityRule IFeatureCursor
IClone IIndexes IIndexesEdit IPersist
Fields
IClone IField IFieldEdit IModelInfo IPersist
An attributed relationship class is a table that stores relationships. Many-tomany relationships can be stored in this class
AttributedRelationshipClass
Spatial reference class
IRasterFormatInfo
Relationship Class
An object class stores nongeographic entities
IObject IRowSubtypes
A geometric network is a type of graph that is uniquely associated with a logical network that represents network topology
ICoverage provides information about ArcInfo coverages and processing operations
CoverageName
A CoverageName identifies and locates a dataset object and supports methods to instantiate the actual named object
0..1
A row is a record in a table. All rows in a table have the same set of fields
IDataset IGraph IFeatureClassContainer
VersionManager
The conflicts window provides access to the editor conflicts window
ConflictsWindow
A difference cursor returns all the differences between two versions based on a difference type
The ICoverageFeatureClass interface provides information on an individual feature class of an ArcInfo coverage IClone IFields IFields2 IFieldsEdit IPersist
Geometry class
RasterLayer
GxFilterRasterDatasets filters all nonraster datasets out from the GxBrowser
IDataset IDatasetAnalyze IDatasetFileStat IGeoDataset IGeoDatasetSchemaEdit IMetadata IMetadataEdit INativeTypeInfo IRasterBandCollection IRasterDataset IRasterPyramid ISupportErrorInfo ITemporaryDataset IWorldFileExport
DatasetName
ICoverageName IDatasetNameFileStat IFeatureDatasetName INativeTypeInfo
*
Table
A selection set references a set of rows by a selection criteria
IClone IPersistStream IQueryFilter IQueryFilter2
1..*
IGxObjectFilter
IDataset IRasterWorkspace IRasterWorkspace2 ISupportErrorInfo IWorkspace
A raster dataset represents an existing dataset stored on disk or in a database in a particular raster format
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)
A table is a collection of rows with attributes stored in columns
A relationship class represents relationships through embedded foreign keys
Geodatabase class
Composition is a relationship in which objects from the "whole" class control the lifetime of objects from the "part" class.
class
RasterWorkspaceFactory
WorkspaceName
Workspace
DifferenceCursor
Geodatabase
IEnumIDs
A row buffer is used for data loading with cursors
See chapter 13, 'Integrating raster data'
Table
Name
IDatasetName IMetadata IMetadataEdit
ArcInfo coverage
IVersionManager IVersionManagerEvents IConflictDisplay IConflictsWindow IConflictsWindow2 IExtension
RowBuffer
RasterDataset
INativeTypeInfo IRasterDataset IRasterBandCollection IRasterPyramid ITemporaryDataset
IWorkspaceName
IArcInfoWorkspace IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo
A conflict class enumerator returns all classes containing conflicts after performing a reconcile
EnumConflictClass
Version information contains read-only information to describe version properties
A property set is a generic class that is used to hold a set of properties for anything
IRowBuffer
A feature dataset stores vector data in feature classes
Dataset
IClass IConflictClass ITable ITableCapabilities IVersionedTable
EnumVersionInfo
A version information enumerator contains available versions for obtaining properties
A table sort controls the order in which rows are returned from a table or feature class
TableSort
Query, cursor, selection
FeatureDataset
IArcInfoWorkspace is used to create new coverages or INFO tables
Versioning
A versioned workspace supports multiuser editing and multiple representations of features classes and tables in a relational database system
FeatureClassName
IEnumConflictClass
VersionedWorkspace
IEnumVersionInfo
IFeatureClassName
Spatial reference coclass
Geodatabase abstract class
Instantiation specifies that one object from one class has a method with which it creates an object from another class.
A raster workspace factory can create raster workspaces ISupportErrorInfo IWorkspaceFactory IWorkspaceFactory2
VersionInfo ITableSort
A query definition represents a database query on one or more tables or feature classes
GeoDataset
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional) IVersionedObject IVersionedObject2
IVersion IVersionEdit IVersionedWorkspace
ObjectClassName
TinName
Workspace
IVersionInfo
QueryDef
IDatasetContainer IFeatureDataset INetworkCollection INetworkCollection2 IFeatureClassContainer IRelationshipClassContainer
RelationshipClassName
Chapter 10
Geometry coclass
Type inheritance defines specialized classes of objects that share properties and methods with the superclass and have additional properties and methods. Note that interfaces in superclasses are not duplicated in subclasses.
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. () indicates the name of the helper class required to support this event interface in Visual Basic.
IName
ArcInfoWorkspaceFactory
IWorkspaceFactory IWorkspaceFactory2
IDifferenceCursor
IQueryDef
IGeodataSchemaEdit IGeoDataset
TableName
The ArcInfoWorkspaceFactory is the entry point to access the geodatabase for ArcInfo coverages and tables
RangeDomain
ConfigurationParameter
A configuration parameter specifies a physical storage parameter for data created in an ArcSDE database
IRelationshipClassName
FeatureDatasetName
IGeometricNetworkName
0..*
Dataset
*
IModelInfo IObjectClassName ISupportErrorInfo ITableName
RasterDatasetName
A coded-value domain is used to specify a set of permissible values that a field may take
IDataset IDatasetAnalyze (optional) IDatasetEdit IDatasetEditInfo ISchemaLock (optional)
A configuration keyword specifies a set of storage parameters in an ArcSDE database
IDatasetFileNameStat IRasterDatasetName
DatasetName
Domain
A range domain is used to specify the legal minimum and maximum values that a field may have
ConfigurationKeyword
IDatasetName IMetadata IMetadataEdit INativeTypeInfo ISQLPrivilege
A workspace name specifies a workspace object and can be used to instantiate it
WorkspaceName
CadDrawingName
A domain is used to specify the permissible values that a field in an object class may take
1..* IConfigurationKeyword
IWorkspaceName IWorkspaceName2
*
WorkspaceProperty
A workspace property provides information about a workspace
Name The dataset name objects identify and locate datasets within a workspace
Workspace and name
IClone IRangeDomain IPersist
IWorkspaceProperty
IName IPersist IPersistStream
Chapter 9
Associations represent relationships between classes. They have defined multiplicities at both ends.
Composition
coclass
Chapter 8 Geodatabase coclass
IGeoDataset IRasterCatalogTable
IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo
A name object identifies and locates a database or map object and supports methods to instantiate the actual object
WorkspaceExtension
IDomain ISchemaLock
Interface
Exploring ArcObjects • Volume 2 • Geographic data management
0..1
IDatabaseCompact (optional) IDatabaseConnectionInfo (optional) IDataset IDatasetContainer IFeatureWorkspace IFeatureWorkspaceAnno (optional) IFeatureWorkspaceManage IFeatureWorkspaceSchemaEdit IGeodatabaseRelease (optional) ISpatialCacheManager ISQLSyntax ITransactions (optional) ITransactionsOptions (optional) IWorkspace IWorkspaceConfiguration (optional) IWorkspaceDomains (optional) IWorkspaceDomains2 (optional) IWorkspaceEdit IWorkspaceEvents IWorkspaceExtensionManager (optional) IWorkspaceProperties (optional) IWorkspaceSpatialReferenceInfo
IMSWorkspaceFactory IRemoteDatabaseWorkspaceFactory ISetDefaultConnectionInfo ISetDefaultConnectionInfo2
A workspace is a container of spatial and nonspatial datasets such as feature classes, raster datasets, and tables
Type inheritance
TM
A workspace extension extends the functionality of a workspace
IWorkspaceExtension IWorkspaceExtensionControl
Types of Relationships
Association
WorkspaceHelper
A workspace helper holds a back-reference from a workspace extension to a workspace
Types of Classes An abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object. A class cannot directly create objects, but objects of this class can be created as a property of another class or instantiated by objects from another class.
Instantiation
abstract class
TM
ESRI ArcGIS 8.1 Object Model
You will find updates to ArcObjects developer resources at www.esri.com/arcobjectsonline.
A workspace factory is a dispenser of workspaces and allows a client to connect to a workspace
OLEDBWorkspaceFactory
®
This object model diagram shows the ArcGIS subsystems and their components that coordinate all geographic data management. These are the ArcObjects components documented in volume two of Exploring ArcObjects.
IWorkspaceHelper
WorkspaceFactory
Inbound interface Outbound interface
The ArcGIS Desktop systems each contain a configuration of applications, such as ArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety of extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, and others.
Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and the ESRI globe logo are trademarks of ESRI, registered in the United States and certain other countries; registration is pending in the European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap are trademarks of ESRI and www.esri.com is a service mark of ESRI.
IWorkspaceFactory IWorkspaceFactory2
Diagram key
ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS professionals with a spectrum of geographic data management, spatial editing, and cartographic visualization functionality.
EditEvents2
11
EditEvents2 enables Visual Basic developers the opportunity to respond to the events grouped under IEditEvents2 fired by the Editor object
ESRI® ArcObjects™ is the development platform for the ArcGIS™ family of applications such as ArcMap™, ArcCatalog™, and ArcScene™. The ArcObjects software components expose the full range of functionality available in ArcInfo™, ArcEditor™, and ArcView™ to software developers. Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and the ESRI globe logo are trademarks of ESRI, registered in the United States and certain other countries; registration is pending in the European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, Street Map USA, and ArcMap are trademarks of ESRI and www.esri.com is a service mark of ESRI.
Diagram key
ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS professionals with a spectrum of geographic data management, spatial editing, and cartographic visualization functionality.
Inbound interface Outbound interface
®
TM
ESRI ArcGIS 8.1 Object Model
The ArcGIS Desktop systems each contain a configuration of applications, such as ArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety of extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, and others. This object model diagram shows some of the extensions created to the ArcGIS Desktop systems. These are the ArcObjects components documented in supplemental electronic chapters of Exploring ArcObjects.
Instantiation
abstract class
Type inheritance Interface
coclass
Instantiation specifies that one object from one class has a method with which it creates an object from another class.
class 1..*
Exploring ArcObjects • Supplemental extension chapters
ArcCatalog extensions
An attached locator is a copy of a locator used to create a dataset
IAttachedLocator ISupportErrorInfo
AttachedLocator
A locator name enumerator contains an enumeration of locator name objects IEnumLocatorName ISupportErrorInfo
ILocatorManager ISupportErrorInfo
Name
IName IPersistStream
IClone ILocator ILocatorDataset ISdeLocator
See chapter 8, 'Accessing the Geodatabase'
A locator name object is a lightweight object that represents a locator
LocatorNameEnumerator
IFileName ILocatorName ISupportErrorInfo
LocatorManager
A locator workspace name object is a lightweight object that represents a locator workspace ILocatorAttach ILocatorWorkspace ISupportErrorInfo
LocatorWorkspaceName
IAdvancedGeocoding IGeocodingProperties IPlaceNameAlias (Optional)IAdvancedIntersectionGeocoding
LocatorWorkspace
IReferenceDataTables ISupportErrorInfo
An ESRI FDO address locator is an ESRI address locator that uses feature-data-object data sources as reference data
A locator workspace stores locators and locator styles IDatabaseLocatorWorkspace
DatabaseLocatorWorkspace
ILocalLocatorWorkspace
A locator style is a template that you can use to create new locators IClone ILocator ILocatorStyle ISupportErrorInfo
IPropertySet
A database locator workspace is a locator workspace that resides in an ArcSDE database
LocalLocatorWorkspace
IEnumLocator ISupportErrorInfo
LocatorStyle
IAddressInputs IGeocodingProperties IPlaceNameAlias
ESRIAddressLocatorStyle
IAddressUI ISupportErrorInfo
A locator enumerator contains an enumeration of locators
ESRIAddressLocator
IReferenceDataFile ISupportErrorInfo
IEnumReferenceDataTable ISupportErrorInfo
StreetMapAddressLocator
A reference data table enumerator contains an enumeration of reference data tables used by a locator
ReferenceDataTable
ESRIFDOAddressLocatorStyle
An ESRI FDO address locator style is a locator style that you can use to create new ESRI FDO address locators
IReferenceDataFile
IReference-DataIndex (Optional)IReferenceDataIndexEdit ISupportErrorInfo
StreetMapAddressLocatorStyle
A reference data index describes a geocoding index on a reference data table
A StreetMap address locator style is a locator style that you can use to create new StreetMap address locators
See Chapter 8, 'Accessing the Geodatabase'
GeocodingIndexObject
A geocoding index class extension in an object class extension for automatically maintained geocoding indexes
GeocodedFeatureClassExtension
IGeocodedFeatureClass IRelatedClassEvents
A geocoded feature is a custom feature that comprises automatically maintained feature classes
ReferenceDataIndexEnumerator
IEnumReferenceDataField ISupportErrorInfo
A reference data fields enumerator contains an enumeration of reference data fields
ArcMap extensions Extension
IExtension
ReferenceDataIndex
See Chapter 3, 'Customizing the User Interface'
1..* IReference-DataField (Optional)IReferenceDataFieldEdit ISupportErrorInfo
ReferenceDataField
ILocatorExtension ILocatorExtensionEvents IPersistStream ISupportErrorInfo
A reference data field describes a field in a reference data table that contains address information
LocatorExtension
The locator extension extends ArcMap to manage a set of locators in a ArcMap document
The find address object extends the find dialog to allow users to geocode addresses IFinder ILocatorExtensionEvents
FindAddresses
IAddressFindData
AddressFindData
An address find data object represents a candidate for an address found using the find dialog
3D Analyst objects IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IObjectFactory ISxApplication IVBAApplication IWindowPosition
Tin and Raster operators IDataset IFunctionalSurface IGeoDataset IMetadata IMetadataEdit INativeTypeInfo ISupportErrorInfo ISurface ITin ITinAdvanced ITinEdit ITinNodeCollection ITinSelection ITinSurface
The application object represents the running ArcScene application
Application See Chapter 3, 'Customizing the User Interface'
TM
StreetStreetMap Map USA objects WorkspaceFactory See Chapter 8, 'Accessing the Geodatabase'
GxObjectFilter See Chapter 7, 'Working with the Catalog'
GxFilterStreetMapFeatureClasses
A GxFilterStreetMapFeatureClass is a GxObjectFilter that allows a GxDialog to browse StreetMap feature classes
16
A StreetMap workspace factory is a dispenser of StreetMap workspaces
StreetMapWorkspaceFactory
StreetMapNativeType
IGxObjectFilter
IGxObjectFactory IGxObjectFactoryMetadata
GxObjectFactory
IGxObject IGxObjectEdit IGxObjectUI
A GxStreetMapFactory allows ArcCatalog to create GxObjects based on StreetMap Feature classes
Extension See Chapter 3, 'Customizing the User Interface'
IExtensionConfig
IGxCachedObjects IGxDataset IGxObject IGxObjectEdit IGxObjectInternalName IGxObjectProperties IGxObjectUI IGxObjectContainer IGxThumbnail IMetadata IMetadataEdit INativeTypeInfo IObjectClassSchemaEvents
GxObjectContainer
The StreetMap extension extends an application to provide access to StreetMap data sources as feature classes
Non-graphic layers are used to view data other than primitive graphics. Examples include feature, raster, TIN, CAD, and IMS layers
GxDataset See Chapter 7, 'Working with the Catalog'
IActiveViewEvents IBasicMap IPersistStream IScene ISelectionEvents
The triangulated network object is used for surface modeling and other forms of spatial analysis
Tin
Nodes are the most basic element of a TIN ITinNode
ILayer IGeoDataset
Scene
ITinTriangle
ITinEdge
TinNode
The scene is a container for vector, raster and graphic data
TinTriangle
Triangles are formed by connected nodes and represent areas A container for recording data and events that occur in a scene IActiveViewEvents IDisplay3D ISceneGraph ISceneGraphEvents ISceneGraphEventsDisp ISceneRendererEvents
Layer
Graphics layers are used to render graphic primitives
SceneGraph
IClone IGeoAnalysisEnvironment IRasterAnalysisEnvironment IPersist IPersistStream
TinEdge
Edges connect nodes. They can represent linear features
RasterAnalysis
Controls analysis environment properties like extent, cellsize, mask, and output workspace
Provides support for IDW, kriging, spline interpolation
1..*
GxStreetMapDataset
StreetMapExtension
SxDocument represents the scene document that can be persisted to disk
SxDocument
GxObject
GxStreetMapFactory
IExtension
IBasicDocument IBasicDocumentDefaultSymbols IDocument ISxDocument ISxDocumentEventsDisp ISxDocumentInfo
See Chapter 7, 'Working with the Catalog' IGxObjectContainer IGxPasteTarget
A GxFilterGeocodingServices is a GxObjectFilter that you can use to allow users to browse for geocoding services
A GxLocatorFolder contains GxObjects that represent items in a locator workspace
A geocoded feature class extension is a feature class extension for automatically maintaining geocoded feature classes
ReferenceDataFieldsEnumerator
15
IWorkspaceFactory IWorkspaceFactory2
IGxLocatorFolder IGxCachedObjects IGxDatabaseExtensionCompare IGxObjectProperties
GxFilterGeocodingServices
IGxLocatorFilter
IActiveViewEvents IGraphicsContainer3D IGraphicsLayer IGraphicsSelection ILayer ILayerEffects ILayerEvents ILayerExtensions IPersistStream ISceneRendererEvents
IInterpolationOp IRasterAnalysisEnvironment ISupportErrorInfo
SceneViewers are the display windows for a scene
SceneViewer
GraphicsLayer3D
I3DProperties IDataLayerExtension IPersist IPersistStream
Camera Basic3DProperties
IMathSupportOp IRasterAnalysisEnvironment
The camera controls the perspective of a 3D view TM
IFeature3DProperties ICursor IFeatureCursor
Feature3DProperties
Raster3DProperties
Tin3DProperties
3D Analyst IMessageDispatcher
14
RasterMakerOp
Creates numerically constant or random rasters
ICamera
A GxStreetMapDataset is a GxObject based on a StreetMap feature class
RasterInterpolation Op IRasterAnalysisEnvironment IRasterMakerOp ISupportErrorInfo
3DProperties is a layer extension that controls how a layer gets viewed in 3D. Different 3DProperties classes are implemented for different layer types
The MessageDispatcher controls navigation ability and cancel tracking while in custom code loops
MessageDispatcher
IDddEnvironment IExtension IExtensionConfig
Provides basic aritmetic operators such as addition, subtraction, and floating point truncation
RasterMathSupportOp
IRasterAnalysisEnvironment IReclassOp ISupportErrorInfo
The 3D Analyst extension object. It is used for licensing and to obtain global raster settings
DddEnvironment
RasterReclassOp
IRasterAnalysisEnvironment ISupportErrorInfo ISurfaceOp
Performs surface analysis such as contouring or slope derivation
GxObjectContainer See Chapter 7, 'Working with the Catalog'
See Chapter 7, 'Working with the Catalog'
A geocoding index object is a custom object that comprises automatically maintained geocoding indexes
Geocoded Feature
IGxObjectContainer IGxPasteTarget
The GxLocatorFactory extends ArcCatalog to display the contents of local locator workspaces
GxObjectFilter
See Chapter 8, 'Accessing the Geodatabase'
GxNewLocator
A GxNewLocator is a GxObject that can be used to create new locators in ArcCatalog
GxLocatorFactory
IGxObjectFilter
FeatureClassExtension
IFeatureClassExtension IFeatureClassCreation (optional) IFeatureClassDescription (optional) IFeatureClassDraw (optional) IFeatureClassEdit (optional) INetworkClassDescription (optional)
See Chapter 8, 'Accessing the Geodatabase'
See Chapter 7, 'Working with the Catalog'
GxLocator
IGxNewLocator IGxDatabaseExtensionCompare IGxObjectProperties
GxObjectFactory
IGxObjectFactory
See Chapter 8, 'Accessing the Geodatabase'
GeocodingIndexClassExtension
IGeocodingIndexCompute IRelatedObjectClassEvents
Feature
1..*
0..* IReferenceDataTables
ReferenceDataTableEnumerator
IFeature IFeatureBuffer IFeatureChanges IFeatureDraw IFeatureEdit IFeatureEvents IFeatureSimplify
ObjectClassExtension
Object
IObject IRowSubtypes IRelatedObjectEvents
Geocoding
ESRIFDOAddressLocator
A reference data index enumerator contains an enumeration of reference data indexes
A generic locator style is a locator style that you can use to define properties for your own custom locators
AddressLocatorUI
IConfirmSendRelatedObjectEvents (optional) IObjectClassExtension IObjectInspector (optional) IObjectClassDescription (optional) IObjectClassEvents (optional) IObjectClassValidation (optional) IRelatedObjectClassEvents (optional) IRelatedObjectClassEvents2 (optional)
Row
IGxLocator IGxDatabaseExtensionCompare IGxObjectProperties IGxPasteTarget
A GxGeocodingServiceExtension extends ArcCatalog to display the contents of database locator workspaces
A reference data table describes a feature-data-object data source used as reference data by a locator
IEnumReferenceDataIndex ISupportErrorInfo
An ESRI address locator style is a locator style that you can use to create new ESRI address locators
IRow IRowChanges IRowCompare IRowEdit IRowEvents IrowSubtypes ISupportErrorInfo IValidate
A address locator UI object provides user interfaces for address locators
IReferenceDataTable IReferenceDataTableEdit ISupportErrorInfo
LocatorEnumerator
0..*
GenericLocatorStyle
A locator UI object provides user interfaces for locators
AddressLocator
A StreetMap address locator is an ESRI address locator that uses StreetMap data as reference data
A local locator workspace is a locator workspace that resides on your local file system
GxGeocodingServiceExtension
LocatorUI
GxObject See Chapter 7, 'Working with the Catalog'
A GxLocator is a GxObject that represents a locator
ClassExtension
RowBuffer
An ESRI address locator is an address locator that uses the ESRI geocoding engine
ILocatorWorkspaceName ISupportErrorInfo
See Chapter 7, 'Working with the Catalog'
ILocatorUI
IAddressCandidates IAddressGeocoding IAddressInputs (Optional)IIntersectionGeocoding
0..*
A locator manager opens locator workspaces and returns attached locators from datasets
Locator
IClassExtension
IGxObject IGxObjectUI IGxObjectEdit
GxDatabaseExtension
Geodatabase extensions
IRowBuffer
An address locator is a locator that geocodes addresses
LocatorName
IGxDatabaseExtension
A locator is an object that can create geometric descriptions of locations from non-spatial descriptions of locations
Multiplicity
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. () indicates the name of the helper class required to support this event interface in Visual Basic.
TM
Geocoding object model
Associations represent relationships between classes. They have defined multiplicities at both ends. Type inheritance defines specialized classes of objects that share properties and methods with the superclass and have additional properties and methods. Note that interfaces in superclasses are not duplicated in subclasses.
Composition
Reclassifies rasters using tables to define categories
RasterSurfaceOp
GxLocatorFolder
Type inheritance This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1 component objects. Software interfaces are not duplicated in the child classes.
A class cannot directly create objects, but objects of this class can be created as a property of another class or instantiated by objects from another class. Types of Relationships
Association
You will find updates to ArcObjects developer resources at www.esri.com/arcobjectsonline.
Types of Classes An abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object.
Composition is a relationship in which objects from the "whole" class control the lifetime of objects from the "part" class. An N-ary association specifies that more than two classes are associated. A diamond is placed at the intersection of the association branches. A multiplicity is a constraint on the number of objects that can be associated with another object. Association and composition relationships have multiplicities on both sides. This is the notation for multiplicities: 1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer
Chapter 14
Chapter 15
Chapter 16
3D Analyst coclass
StreetMap coclass
Geocoding coclass
The objects to the left show a sample view of type inheritance. The objects below show a flat view of the objects with their full list of interfaces. The two views are equivalent, but the type inheritance view gives insight into the structural composition of the object model. IRowBuffer
RowBuffer
IRowBuffer 3D Analyst class
3D Analyst abstract class
StreetMap class
RowBuffer
Geocoding class
Geocoding abstract class
IRow IRowEvents IValidate
IFeature IFeatureBuffer IFeatureDraw IFeatureEdit
Row
Feature
IRow IRowBuffer IRowEvents IValidate IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRow IRowBuffer IRowEvents IValidate
Row
Feature
View more...
Comments