Arc Gis object Model

January 11, 2017 | Author: Luciana Gingăraşu | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF