arcgis object model - arcgis for developersedndoc.esri.com/arcobjectsonline/diagrams/arcgis object...

3
7 6 5 4 3 Types of Classes An abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object. A class cannot directly create objects, but objects of this class can be created as a property of another class or instantiated by objects from another class. Types of Relationships Associations represent relationships between classes. They have defined multiplicities at both ends. Type inheritance defines specialized classes of objects that share properties and methods with the superclass and have additional properties and methods. Note that interfaces in superclasses are not duplicated in subclasses. Instantiation specifies that one object from one class has a method with which it creates an object from another class. 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 Special Interfaces (Optional) represents interfaces that are inherited by some subclasses but not all. The subclasses list the optional interfaces they implement. (Instance) represents interfaces that are only on specific instances of the class. (<classname>) indicates the name of the helper class required to support this event interface in Visual Basic. Type inheritance This diagram illustrates the implicit type inheritance model in the ArcGIS 8.1 component objects. Software interfaces are not duplicated in the child classes. The objects to the left show a sample view of type inheritance. The objects below show a flat view of the objects with their full list of interfaces. The two views are equivalent, but the type inheritance view gives insight into the structural composition of the object model. Row Feature RowBuffer IRow IRowEvents IValidate IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRowBuffer Row Feature IRow IRowBuffer IRowEvents IValidate IFeature IFeatureBuffer IFeatureDraw IFeatureEdit IRow IRowBuffer IRowEvents IValidate RowBuffer IRowBuffer ArcMap coclass ArcMap abstract class ArcMap class ArcCatalog coclass ArcCatalog abstract class Framework coclass Framework abstract class Display coclass Display abstract class Output coclass Output abstract class ArcCatalog class Framework class Display class Output class This ArcGIS object model diagram uses this color code to denote the coclasses, classes, and abstract classes in the ArcObjects subsystems. Chapter 7 Chapter 6 Chapter 5 Chapter 4 Chapter 3 Diagram key abstract class Inbound interface Outbound interface Type inheritance Instantiation Association Composition 1..* Multiplicity class coclass Interface Output Paper IClone IPaper IPersistStream FontMap- Environment IFontMapEnvironment PageLayout in ArcMap * Printer The font map environment supports the PS printer by setting font information to be used during the creation of Postscript output The PS driver supports the PS printer by setting general PostScript variables, including color information The spot plate allows for the creation of separate plates (images) based on the specified color An EMF printer serves as a driver for the creation of output through the Enhanced Windows Metafile format Printer IClone IPersistStream IPrinter EmfPrinter IEmfPrinter ArcPress- Printer IArcPressPrinter IArcPressPrinterDriver IColorCorrection FontMap- Collection IFontMapCollection ArcPress- Printer- Driver IArcPressPrinterDriver IColorCorrection * SpotPlate ISpotPlate IFontMap IFontMap2 FontMap The printer abstract class defines the common interfaces for controlling the output of data to hardcopy devices The PS printer is used to create output through a PostScript driver The font map collection houses the set of font maps used by the PS printer or PS exporter objects A font map creates associations between TrueType fonts and the mapped font The paper object defines the printer and tray designations for use with the printer object The ArcPress printer driver supports the ArcPress printer by setting ArcPress parameters The ArcPress printer serves as a driver for the creation of output through ArcPress IColorCorrection IPsDriver IPsDriver2 ISpotPlateCollection PsDriver PsPrinter IColorCorrection IFontMapEnvironment IPsDriver IPsDriver2 IPsPrinter ISpotPlateCollection ExportDialog IExportDialog IExportDialog2 IEmfExporter EmfExporter Exporter IExporter ArcPress- ExporterPNG ArcPress- ExporterJPEG ArcPress- ExporterPCX ArcPress- ExporterTIFF ArcPress- Exporter IArcPressExporter IArcPressExporter- DescriptionEnum Exporter The exporter abstract class defines the common interface for controlling the output of map data to files The Export dialog box displays a dialog for users to enter filename and desired format for outputting map data IPDFDriver PDFDriver ArcPress- Exporter- Driver IArcPress- ExporterDriver The CGM driver is created by the CGM exporter object during the output of map data to a CGM file The ArcPress exporter driver uses ArcPress to convert a PostScript file to one of the supported formats The ArcPress export abstract class supports the output of map data to the different file formats of ArcPress The PDF driver is created by the PDF exporter object during the output of map data to a PDF file The PDF exporter creates output in the Portable Document format The PS exporter creates output in the PostScript format The JPEG exporter creates output in the format set by the Joint Photographic Experts Group ICGMExporter CGM- Exporter ICGMDriver ISupportErrorInfo CGM- Driver IBmpExporter IDibExporter IExporter2 IWorldFile- Settings DibExporter IFontMapEnvironment IPsExporter PsExporter IJpegExporter Jpeg- Exporter IPdfExporter IFontMapEnvironment PdfExporter IExporter2 ITiffExporter IWorldFileSettings TiffExporter The DIB exporter creates output in the Device-Independent Bitmap format The CGM exporter creates output in the Computer Graphics Metafile format The EMF exporter creates output in the Microsoft Enhanced Metafile format Framework Application 1..* Application is the core object that represents ArcMap or ArcCatalog and provides access to the current state of the user interface Document provides access to properties, such as title and type, and contains the Visual Basic for Applications project A collection of command bars associated with a document A toolbar definition is used by the command bars collection to create a toolbar A menu definition is used by the command bars collection to create a menu A document command bar is a custom menu or toolbar created with the Customize dialog box The component category manager object registers components with the component categories used by the ESRI applications A unique identifier object represents the globally unique identifier for any COM object The application running object table is a global list of all currently running ESRI COM-based applications An application reference object is a reference to the currently running application A command bar is a toolbar, menubar, menu, or context menu AppRef IApplication Document IDocument AppROT IAppROT IAppROTEvents ICommandBars Command- Bars CommandBar Document- CommandBar COM- CommandBar Component- Category- Manager IComponentCategoryManager UID IUID Dockable- Window IDockableWindow Dockable- WindowDef IDockableWindowDef ISupportErrorInfo ICustomizationFilter Customization- Filter A dockable window can exist in a floating state or attached to the main application window IExtension IExtensionAccelerators IExtensionConfig Extension Application IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IVBAApplication IWindowPosition * 0..1 IMenuDef IRootLevelMenu IShortcutMenu MenuDef IToolbarDef ToolbarDef Command- BarDef MouseCursor IMouseCursor DllThread- Manager IDllThreadManager You can use MouseCursor to set the system mouse cursor to be one of the standard built-in cursors or a custom cursor A COM command bar can be written in any COM-compliant language and is compiled as an ActiveX DLL An extension provides a mechanism for extending an application A customization filter provides a mechanism for locking parts of the customization functionality in an application A command bar definition is used by the command bars collection to create a COM command bar A dockable window definition is used by the application to create a dockable window Document UIButtonControl acts as a button or menu item that performs a simple task when clicked UIComboBoxControl is a dropdown list box control that can be added to a toolbar UIEditBoxControl is an editable textbox control that can be added to a toolbar UIToolControl acts as a button that allows further interaction with the application display A button is a simple command that performs a simple task when clicked A tool acts as a button that allows further interaction with the application display A tool control is dropdown list box control, editable textbox control, or other type of control that can be added to a toolbar A MultiItem is a dynamic command that appears as zero or more adjacent menu items on a menu depending upon the state of the application MacroItems are simple procedures written in the Visual Basic Editor A collection of up to three templates can be loaded in ArcMap, one in ArcCatalog. Templates help you define the scope of customization The status bar is the horizontal area at the bottom of ArcMap and ArcCatalog that provides information about the current application state Templates ITemplates * An accelerator table contains a list of accelerator keys and the command identifiers associated with them Accelerator IAccelerator An accelerator key is a keyboard shortcut to quickly execute a common command A command item is an element on a command bar, such as a button, tool, or menu item MacroItem Command- Item ICommandItem IPersist IPersistStream ISupportInfo StatusBar IStatusBar UICombo- BoxControl IUIComboBoxControl IUIComboBoxControlEvents UIButton- Control IUIButtonControlEvents UIEditBox- Control IUIEditBoxControl IUIEditBoxControlEvents UITool- Control IUIToolControlEvents Command UIControl Coordinate- Dialog ICoordinateDialog GetString- Dialog IGetStringDialog GetUserAnd- Password- Dialog IGetUserAndPasswordDialog ListDialog IListDialog Message- Dialog IMessageDialog Number- Dialog INumberDialog Progress- Dialog IProgressDialog IProgressDialog2 IProgressor IStepProgressor Progress- Dialog- Factory IProgressDialogFactory Framework dialog boxes Command The Progress dialog box factory creates and displays a new progress dialog box A Progress dialog box displays animation and a step progressor bar The Coordinate dialog box is used for getting user input in the form of x, y coordinates The Get String dialog is used for getting user input in the form of a string The Get User and Password dialog is used for getting username and password information The List dialog box is used to present a list of options and allows the user to select one of the options The Message dialog box is used to display a message to the user The Number dialog box is used for getting user input in the form of a number ICommandBar ICommandItem A DLL thread manager provides access to an event that DLL thread managers listen for Accelerator- Table IAcceleratorTable IPersist IPersistStream IExtensionManager IExtensionManagerAdmin ISupportErrorInfo Extension- Manager COM Command IMultiItem IMultiItemEx (optional) MultiItem ToolControl ICommand ICommandSubtype (optional) IToolControl Tool ICommand ICommandSubtype (optional) ITool Button ICommand ICommandSubtype (optional) GxDatabase- Extension IGxDatabaseExtension IGxDatabaseExtensionCompare GxDatabase- Extensions IGxDatabaseExtensions GxRemote- Database- Folder IGxCachedObjects IGxObjectProperties IGxRemoteContainer IGxRemoteDatabaseFolder GxSpatial- References- Folder IGxCachedObjects IGxObjectProperties IGxSpatialReferencesFolder GxDataset IGxCachedObjects IGxDataset IGxObjectInternalName IGxObjectProperties IGxThumbnail IMetadata IMetadataEdit INativeTypeInfo IObjectClassSchemaEvents GxFileFilter IGxFileFilter IGxFileFilterEvents IPersistStream GxObject- Container IGxObjectContainer IGxPasteTarget GxObjectFactory objects help ArcCatalog generate GxObjects based on the object type IGxObjectFactory IGxObjectFactoryMetadata GxObject- Factory GxLayer- Factory GxMap- Factory GxShortcut- Factory GxDatabase- Factory GxFile- Factory GxCoverage- Factory IGxObject- FactoryEdit GxTextFile- Factory IGxObject- FactoryEdit GxPrjFile- Factory IGxObject- FactoryPriority GxMetadata- Factory IGxObject- FactoryPriority GxObject IGxObject IGxObjectEdit IGxObjectUI GxDatabase holds a workspace within ArcCatalog GxDataset holds a dataset object within ArcCatalog GxObjects represent individual data items and they are what appear in the tree view and the contents view GxRemoteDatabaseFolder represents only the top-level Remote Connections folder GxSpatialReferencesFolder represents only the top level of the spatial reference information accessible through ArcCatalog SearchResults stores a query GxCatalog object represents your actual tree of data, as is shown in the tree view GxDatabaseExtensions is a collection object for the set of GxDatabaseExtension objects GxDatabaseExtension is an abstract class whose purpose is to provide a starting point for those developers who want to create extensions to a GxDatabase GxFileFilter object maintains the file filter used by ArcCatalog to determine which file types to display Search- Results IGxFile IGxCachedObjects IGxObjectSort IGxObjectProperties IMetadata IMetadataEdit ISearchResults GxDatabase IGxCachedObjects IGxDatabase IGxDatabase2 IGxObjectInternalName IGxObjectProperties IGxObjectWizard IMetadata IMetadataEdit INativeTypeInfo GxDisk- Connection IGxDiskConnection GxNew- Database IGxBasicObject IGxNewDatabase IGxObjectProperties GxFile GxMetadata IGxFile IGxObjectInternalName IMetadata IMetadataEdit INativeTypeInfo GxObject- Wizard IGxObjectWizard Shortcut- Name IFileName IName IPersistStream IShortcutName GxMap IGxMap IGxMapPageLayout IGxObjectInternalName IGxThumbnail GxPrjFile IGxFileSetup IGxObjectInternalName IGxPrjFile GxTextFile IGxCachedObjects IGxDataset IGxFileSetup IObjectClassSchemaEvents IGxObjectInternalName GxShortcut IGxShortcut GxNewDatabase is the shortcut used to create a new remote connection GxPrjFile represents projection files with GxSpatialReferences- Folder objects GxLayer represents layer files GxMap encapsulates map documents When ArcCatalog starts, it creates GxDiskConnection objects for each folder connected at the root GxFolder represents system-level folders GxMetadata represents XML files GxTextFile represents text files within ArcCatalog GxShortcut represents shortcuts to objects returned from a Catalog search ShortcutName is a name object describing a GxShortcut GxDialog IGxDialog IGxObjectFilter- Collection IGxSelectionEvents GxDialog represents a browser that allows you to open and save GIS datasets. GxLayer IComPropertySheetEvents IGxLayer IGxObjectInternalName IGxThumbnail EnumGxView IEnumGxView The GxViewContainer object permits a GxView object to be a container for additional views Extension IExtension IExtension IExtensionAccelerators IExtensionConfig Extension See chapter 3, 'Customizing the user interface' Application See chapter 3, 'Customizing the user interface' IApplication IDockableWindowManager IExtensionManager IMultiThreadedApplication IVBAApplication IWindowPosition GxDocument IDocument IGxDocumentEvents IGxDocumentEventsDisp Enum- GxObject IEnumGxObject GxObject- Array IGxObjectArray GxSelection IGxSelection IGxSelectionEvents GxApplication IGxApplication IGxCatalogAdmin IGxCatalogEvents IGxCatalogEventsDisp GxDocument represents the document object in the VBA class ThisDocument contained in each VBA project GxApplication represents the running ArcCatalog executable GxObjectArray object holds a set of GxObjects GxSelection keeps track of the items chosen in the tree and tabbed views of the data IGxViewContainer GxView- Container GxView GxApplication Spatial- Reference- Dialog ISpatialReferenceDialog ISpatialReferenceDialog2 Table- Definition- Dialog ITableDefinitionDialog Projected- Coordinate- SystemDialog IProjectedCoordinateSystemDialog Geographic- Coordinate- SystemDialog IGeographicCoordinateSystemDialog FindDialog Catalog- Search- Engine FileSystem- XmlSearch- Engine IFileSystemQuery Search- Engine ISearchEngine ISearchEngineEvents ISearchEngineProperties FileSystem- Query IFindDialogSettings IQuery IXmlQuery The Geographic Coordinate System dialog box is a stand-alone object used to create a new geographic coordinate system object The Projected Coordinate System dialog box is a stand-alone object used to create a new projected coordinate system object The Spatial Reference dialog box object is a stand-alone object used to create a new spatial reference object The Table Definition dialog box object is a stand- alone object used to create new tables and feature classes within the specific workspace or dataset FileSystemXmlSearch Engine lets you search for file-based objects stored on disk for which metadata has been created The CatalogSearchEngine lets you search for any object that appears in ArcCatalog FindDialog provides access to ArcCatalog’s Search dialog box FileSystemQuery lets you modify an existing search’s parameters or define a new query FindDialog IDllThreadManager IFindDialog IGxSelectionEvents ISearchEngineEvents GxObject GxFile represents any file type that has been defined in ArcCatalog IGxFile IGxFileSetup (optional) IGxObjectInternalName (optional) IGxObjectProperties IMetadata IMetadataEdit INativeTypeInfo ArcCatalog GxCatalog IComPropertySheetEvents IConnectionPoint IConnectionPointContainer IGxCatalog IGxCatalogEventsDisp IGxCatalogEvents IGxFile IGxObjectFactories IMetadataEdit GxDocumentationView represents the metadata view in ArcCatalog GxPreview IGxPreview GxTableView IGxCatalogEvents IGxTableView GxTreeView IGxCatalogEvents IGxTreeView * Gx- Document- ationView IGxCatalogEvents IGxDocumentationView IGxViewPrint Gx- Geographic- View IGxCatalogEvents IGxGeographicView IGxGeographicView2 ITransformEvents Objects in the GxContentsViewColumn collection represent the columns in the tabbed display area of the view (when Contents is the active tab) GxTreeView shows a hierarchical organization of your data holdings GxTableView is used to preview the table associated with the selected object The GxGeographic-View lets you preview your data GxContentsView is the Explorer-style iconic view available in ArcCatalog GxView is an abstract class that represents all possible ArcCatalog views IGxSelectionEvents IGxView GxView GxContents- View IGxCatalogEvents IGxContentsView IGxContentsViewColumns IPersistStream * GxContents- ViewColumn IGxContentsViewColumn IClone IPersistStream The metadata import objects add or replace metadata from an input file IMetadataImport Metadata- Import Import- MPSGML Import- MP Import- XML Import- MPTXT The metadata export objects output a dataset's metadata to a file IMetadataExport Export- MPSGML Export- MPTXT Export- XML Export- MPFAQ Export- MPHTML Export- MP Export- HTML Metadata- Export Metadata IMetadataEditor The metadata editor objects provide a user interface for editing metadata DefaultEditor FGDCEditor Metadata- Editor Metadata- Extension IConnectionPointContainer IMetadataHelper IMetadataEvents IPersistStream GxPreview shows previews of the selected object GxFolder IGxCachedObjects IGxFile IGxFolder IGxObjectInternalName IGxObjectProperties IMetadata IMetadataEdit INativeTypeInfo GxFilterAnnotationFeatureClasses GxFilterBasicTypes GxFilterCadDrawingDatasets GxFilterCoverageAnnotationClasses GxFilterDatasets GxFilterDatasetsAndLayers GxFilterFeatureClasses GxFilterFeatureDatasets GxFeatureDatasetsAndFeatureClasses GxFilterFiles GxFilterGeodatasets GxFilterLayers GxFilterMaps GxFilterPointFeatureClasses GxFilterPolygonFeatureClasses GxFilterPolylineFeatureClasses GxFilterRasterDatasets GxFilterSpatialReference GxFilterTables GxFilterTablesAndFeatureClasses GxFilterTINDatasets GxFilterWorkspaces GxObject- Filter IGxObjectFilter 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 A frame element forms a border around other elements or objects IGraphicElement Frame- Element A frame element is a neatline A map frame manipulates the frame containing the map A map surround frame manipulates the frames of map elements such as North arrows and legends An OLE frame is an OLE object graphic A table frame manipulates the frame containing the table IOleFrame IElementShutdown GraphicElement OleFrame IBoundsProperties IFrameDraw IFrameElement IFrameProperties Frame- Element IActiveViewEvents IConnectionPointContainer IDisplayAdmin IDisplayEvents IGraphicsComposite IGraphicsContainerProperty IMapFrame IMapFrameEvents IMapGrids ITransformEvents MapFrame IGraphicsComposite IMapFrameEvents IMapSurroundEvents IMapSurroundFrame ITransformEvents Map- Surround- Frame ITableFrame TableFrame IActiveView IActiveViewEvents IConnectionPointContainer IDisplayAdmin IGraphicsContainer IGraphicsContainerSelect IGraphicSnapEnvironment IPageEvents IPageLayout IPersist IPersistStream ISelectionEvents ITransformEvents IViewManager PageLayout ArcMap The page represents the piece of paper the layout resides on 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 Ruler settings represents the layout rulers 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 Graphic snap agents move elements by attempting to snap them to various objects such as the snap grid IPersist IPersistStream ISnapGuides SnapGuides SnapGrid IPersist IPersistStream ISnapGrid Ruler- Settings IPersist IPersistStream IRulerSettings Graphic- Snap- Environment IGraphicSnap- Environment IPersist IPersistStream * The graphic snap environment controls which graphic snap agents are active, the order in which they are called, and the snap tolerance GridSnap GuideSnap MarginSnap RulerSnap IGraphicSnap IPageLayoutSnap IPersist GraphicSnap IClone IElement IElementProperties IPersist IPersistStream Element * IBoundsProperties IMarkerElement Marker- Element IBoundsProperties IElementEditVertices ILineElement LineElement A line element is a line graphic A marker element is a point graphic A group element is a set of grouped elements Graphic elements are simple graphics that can appear in a data view Map elements represent all the graphics that can appear on a map Element A text element is a text graphic A data graph element manipulates the frame containing a graph IActiveViewEvents IDataGraphElement IGraphicsContainerProperty DataGraph- Element IEllipseElement Ellipse- Element IRectangleElement Rectangle- Element ICircleElement Circle- Element IElementEditVertices IPolygonElement Polygon- Element IBoundsProperties IFillShapeElement FillShape- Element A fill shape element is a graphic of a closed area BmpPicture- Element EmfPicture- Element An EMF picture element is a Windows Enhanced Metafile picture A BMP picture element is a Windows bitmap IBoundsProperties IFrameDraw IFrameElement IFrameProperties IOlePictureElement IPictureElement Picture- Element IClone IElement IElementProperties IPersist IPersistStream IPropertySupport ITransform2D Element IBoundsProperties IFrameElement IFrameDraw IFrameProperties IGroupElement Group- Element A picture element represents Windows raster or vector graphic objects IBoundsProperties IElementEditCallout IElementEditVertices IGroup- SymbolElement ITextElement ITransformEvents TextElement DataWindow Mapinset windows display a magnified view of the focus map Overview windows display the full extent view of the focus map Table windows display a table Data windows are additional displays associated with the application Data graph windows display graphs IActiveViewEvents IComPropertySheetEvents IDataGraphWindow IDocumentEvents IPersist IPersistStream DataGraph- Window IDataWindowFactory Overview- Window- Factory A map insert window factory creates map inset windows An overview window factory creates overview windows IDataWindow- Factory MapInset- Window- Factory Data graphs represent ArcMap and ArcCatalog graphs A table view displays a table IClone IDataGraph IDataGraphAxis IDataGraphTicks IDataGraphAreaProperties IDataGraphBarProperties IDataGraphColorProperties IDataGraphHighLowCloseProperties IDataGraphOverlayProperties IDataGraphPieProperties IDataGraphProperties IPersistStream DataGraph IActiveView IActiveViewEvents IBasicMap IConnectionPointContainer IDisplayAdmin IDisplayEvents IGraphicsContainer IGraphicsContainerSelect IMap IMapBarriers IMapBookmarks IMapEvents IMapGeographicTransformations IPersist IPersistStream IRelationshipClassCollection ISelectionEvents IStandaloneTableCollection ITableCollection ITransformEvents IViewManager Map * Element StyleGallery 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 The Page object represents the page of paper the layout resides on The application display helps manage all of the displays present in the application The application object represents the running ArcMap application The style gallery is a list of predefined items (styles) used to create maps 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 IExtension Extension Page Layer MapSurround SpatialBookmark A layer is a specific class of data added to a Map. Layer types include features (coverages, shapefiles, geodatabases), rasters, images, TINs, CAD, IMS, and annotation A map surround is a specific group of elements that is associated with a map. Map surrounds include North arrows, scale bars, and legends A spatial bookmark is a specific map extent that has been saved along with a name identifying it IAppDisplay IDisplay IDraw IScreenDisplay IScreenDisplay2 AppDisplay 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 ArcMap supports extensions that are automatically created when the application starts. The ArcMap editing tools are an example of an extension IIdentifyDialog IIdentifyDialog2 IIdentifyDialogProps IdentifyDialog The selection environment controls the application's selection behavior IMapEvents MapEvents This object provides access to the IMapEvents outbound interface * IChangeLayout IContentsViewEdit IDataGraphs IDocument IDocumentDirty IDocumentDatasets IDocumentDefault- Symbols IDocumentEvents IDocumentEventsDisp IDocumentInfo IMxDocument IPersist IPropertySupport IReportUnitFormat MxDocument IPersist IPersistStream ISelectionEnvironment ISelectionEnvironmentLayer ISelectionEnvironmentStorage ISelectionEnvironmentThreshold Selection- Environment Application IApplication IApplicationWindows IExtensionManager IDockableWindow- Manager IEnumPrinterNames IMultiThreaded- Application IMxApplication IObjectFactory IVBAApplication IWindowPosition IdentifyDialog is the dialog box for quickly querying data attributes The table of contents catalog view represents the Source tab in the ArcMap table of contents The table of contents display view represents the Display tab in the ArcMap table of contents TOCDisplay- View TOCCatalog View IDocumentEvents IActiveViewEvents IComPropertySheetEvents IContentsView TOCView PageLayout CustomOverlayGridFactory GraticuleFactory IndexGridFactory MeasuredGridFactory ICustomOverlayGrid Custom- OverlayGrid IMeasuredGrid IProjectedGrid Measured- Grid IIndexGrid IndexGrid IGraticule IMeasuredGrid Graticule ButtonTabStyle ContinuousTabStyle RoundedTabStyle IBackgroundTabStyle Background- TabStyle IMixedFontGridLabel IFormattedGridLabel MixedFont- GridLabel IFormattedGridLabel Formatted- GridLabel IDMSGridLabel DMS- GridLabel A DMS grid label displays the map grid using degrees, minutes, and seconds A formatted grid label uses a number format to label the map grid A map grid factory can be used to quickly create a map grid with default properties A mixed-font grid label displays the label in two fonts and also uses a number format A measured grid divides the map into a grid of units in any coordinate system An index grid divides the map into a grid for indexing A graticule divides the map into a grid of meridians and parallels A custom overlay grid divides the map using lines from the data source you specify 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 IndexGrid- TabStyle IIndexGridTabStyle IGridLabel IGridLabelExport IPersist IPersistStream GridLabel An index grid tab style governs the way an index grid is labeled IMapGridFactory MapGrid- Factory A grid label governs the way a map grid is labeled along the borders MapGrid A background tab style labels the index grid using square, round, or rounded-square boxes IClone IGraphicsComposite IMapGrid IPersist IPersistStream MapGrid 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 ISimpleMapGridBorder SimpleMap- GridBorder ICalibratedMapGridBorder Calibrated- MapGrid- Border A simple map grid border is composed of simple lines A calibrated map grid border is composed of a graduated band A map grid border is the set of lines that outline the map grid IGraphicsComposite IMapGridBorder IPersistStream MapGrid- Border Style gallery NumberFormat An enumeration of style gallery items Style items provide access to the individual map elements and symbols that make up a style Style selectors provide you with the means to interactively choose or edit a style item Using the style gallery coclasses, you can create various types of style items AreaPatchStyleGalleryClass BackgroundStyleGalleryClass BorderStyleGalleryClass ColorRampStyleGalleryClass ColorStyleGalleryClass FillSymbolStyleGalleryClass LabelStyleGalleryClass LegendItemStylGalleryClass LinePatchStyleGalleryClass LineSymbolStyleGalleryClass MapGridStyleGalleryClass MarkerSymbolStyleGalleryClass NorthArrowStyleGalleryClass ScalebarStyleGalleryClass ScaleTextStyleGalleryClass ShadowStyleGalleryClass TextSymbolStyleGalleryClass IPersistStream IStyleGallery IStyleGalleryStorage StyleGallery IEnumStyleGalleryItem EnumStyle- GalleryItem IClone IStyleGalleryItem IPersist IPersistStream Style- GalleryItem IStyleDialog Style- References- Dialog IComPropertySheetEvents IStyleDialog Style- Manager- Dialog Gives you access to the ArcMap Style Manager dialog box Gives you access to the ArcMap Style References dialog box 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 * IStyleGalleryClass StyleGallery- Class MapGrid- Selector IMapGridSelector StyleSelector IComPropertySheetEvents IStyleSelector BackgroundSelector BorderSelector LabelStyleSelector LegendItemSelector NorthArrowSelector ScaleBarSelector ScaleTextSelector ShadowSelector IRateFormat RateFormat IAngleFormat AngleFormat IPercentageFormat Percentage- Format ILatLonFormat ILatLonFormat2 LatLon- Format INumericFormat Numeric- Format IFractionFormat Fraction- Format ICustomNumberFormat CustomNum- berFormat IClone INumberFormat Number- Format Currency- Format A scientific format object converts numbers with exponent values A fraction format object converts fractional values A custom number format converts a wide range of numeric formats A currency format object converts currency values Numeric format objects convert to and from angle, latitude-longitude, percentages, and rate values. Number format objects convert values to text strings and vice versa Scientific- Format IScientificNumberFormat Annotate layer properties holds a set of labeling properties for a feature layer Basic overposter layer properties specify label placement and conflict resolution properties Label engine layer properties specify labeling properties for a feature layer Line label placement priorities specify conflict resolution weights for labels placed relative to line features Line label position specifies the desired label position and placement option for labels placed relative to line features Point placement priorities specify conflict resolution weights for labels placed relative to point features Labeling IClone ILineLabelPosition IPersist IPersistStream LineLabel- Position IAnnotateLayerProperties IAnnotateLayerTransformationProperties IAnnotateProperties IClone ILabelEngineLayerProperties IPersistStream LabelEngine- Layer- Properties IClone ILineLabelPlacementPriorities IPersist IPersistStream LineLabel- Placement- Priorities IClone IPersist IPersistStream IPointPlacementPriorities Point- Placement- Priorities IAnnotateLayerPropertiesCollection IPersist IPersistStream Annotate- Layer- Properties- Collection IAnnotationExpressionEngine ICodedValveAttributes IPersist IPersistStream Annotation- Expression- Engine Annotation- VBScript- Engine Annotation- JScript- Engine IBarrierCollection Barrier- Collection A barrier collection holds a set of geometries used as barriers in label placement An annotation Java Script engine specifies a label expression based on Java Script An annotation VB Script engine specifies a label expression based on VB Script IBasicOverposterLayerProperties IBasicOverposterLayerProperties2 IClone IOverposterLayerProperties IPersist IPersistStream BasicOver- posterLayer- Properties Application Page layout SpatialBookmark ISpatialBookmark IPersist IPersistStream Spatial- Bookmark IAOIBookmark AOI- Bookmark IFeatureBookmark Feature- Bookmark A feature bookmark stores information about a particular feature so that it can be quickly found again An area of interest is a map extent you would create when zooming in or panning the display A scale bar graphically shows a map's scale Patches are individual color boxes in a legend * ILinePatch LinePatch AlternatingScaleBar DoubleAlternatingScaleBar HollowScaleBar IDoubleFillScaleBar DoubleFill- ScaleBar IGraphicsComposite IPropertySupport IScalebar IScaleMarks ITransformEvents Scalebar IMapInset MapInset IScaleText IPropertySupport ITransformEvents ScaleText Map surrounds are associated with a data frame and provide a cartographic context for the geographic data and extent. MapSurround MapTitle IActiveViewEvents IGraphicsComposite ILegend IPropertySupport IReadingDirection Legend Scale line scale bars are repre- sented with a single line symbol Stepped- ScaleLine IScaleLine ScaleLine Double-fill scale bars are symbolized using two fill symbols IAreaPatch AreaPatch IOverview Overview Legend items are the individual parts of a legend IGraphics- Composite IMarkerNorthArrow IPropertySupport ITransformEvents Marker- NorthArrow INorthArrow NorthArrow An overview displays the full map extent of a dataframe, together with a box graphic showing the current map extent Marker North arrows use a character marker symbol The North arrow object is a base class for all north arrow types A scale text map surround is a text element that describes the map's scale A map title is a text element describing a map A map inset is a magnified view of a map A legend is a list of symbol appearing on a map A legend format manages a legend's default properties ILegendClassFormat IPersist IPersistStream LegendClass- Format Legend class format objects control each legend item's presentation IHorizontalBar- LegendItem IVerticalLegendItem Horizontal- BarLegend- Item IHorizontalLegendItem Horizontal- LegendItem IHorizontalLegendItem INestedLegendItem Nested- LegendItem IVerticalLegendItem Vertical- LegendItem Single- Division- ScaleBar ISingleFillScaleBar SingleFill- ScaleBar Single-fill scale bars are symbolized using one fill symbol IClone ILegendFormat ILegendLayout IPersist IPersistStream Legend- Format IClone ILegendItem ILegendItem2 IPersist IPersistStream LegendItem IClone IPatch IPersist IPersistStream Patch IBoundsProperties IClone IConnectionPointContainer IMapSurround IMapSurroundEvents IPersist IPersistStream MapSurround ITableWindow ITableWindow2 Table- Window IActiveViewEvents IDocumentEvents IMapSurroundEvents IOverviewWindow IPersistStream Overview- Window IClone ITableControl ITableControlInfo ITableControlWidth ITableOutput ITableView ITableView2 ITableViewTableFields TableView IDataWindow DataWindow IActiveViewEvents IDocumentEvents ILensWindow IMapInsetWindow IMapSurroundEvents IPersistStream MapInset- Window Page IClone IConnectionPointContainer IFrameProperties IPage IPageEvents IPersist IPersistStream IPropertySupport IGraphicElement Graphic- Element MultiPatch- Element 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 A CAD feature layer displays a CAD feature class from a drawing A coverage annotation layer displays annotation from a coverage A TIN layer displays 3D surface data Layer Coverage- Annotation- Layer IAttributeTable IBarrierProperties IBarrierProperties2 ICoverageAnnotationLayer ICoverageAnnotationLayer2 IDataLayer IDataLayer2 IFeatureLayer IFind ILayerFields ILayerInfo ITableFields RasterLayer Documented in chapter 13, "Integrating raster data" 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 FeatureClass in Geodatabase Renderer in Display * A layer is used to display geographic information on a map A group layer is a group of layers that appear and act like a single layer in the table of contents A hyperlink displays linked data, such as text files or Web pages, when you click it A composite graphics layer manages other graphics layer, but is also a graphics layer itself An FDO graphics layer is a layer based on an annotation feature class in a geodatabase A dimension layer displays descriptive text and supporting graphics (such as leader lines) that are associated with map features An Internet map server layer displays data from an image service on the Internet Graphics layers manage the graphics associated with a map GroupLayer ICompositeLayer IConnectionPointContainer IDisplayAdmin IGroupLayer IIdentify IIdentify2 ILayer2 ILayerEvents ILayerInfo ILayerPosition IMapLevel A feature layer displays data from a feature class on a map IGeoDataset ILayer IPersist IPersistStream Layer IMSMap- Layer ICompositeLayer ICompositeLayer2 IDataLayer IDataLayer2 IDisplayAdmin IDisplayFilterManager IIdentify IIdentify2 IIMSMapLayer ILayerDrawingProperties ILayerEffects ILayerInfo ILayerPosition Composite- Graphics- Layer ICompositeGraphicsLayer ICompositeLayer IGeoDatasetSchemaEdit IGraphicsLayerScale Dimension- Layer 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 IRelationshipClass- Collection IRelationshipClass- CollectionEdit ITable ITableFields ITableSelection A CAD layer displays a CAD drawing * Hyperlink IHyperlink IPersist IPersistStream A CadAnnotationLayer is used to control the symbology of the annotation features from a CAD layer CadFeature- Layer 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 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 Feature- Layer Graphics- Layer IBarrierProperties IBarrierProperties2 IConnectionPoint- Container IGraphicsContainer IGraphics- ContainerSelect IGraphicsLayer IOverflow- GraphicsContainer ISelectionEvents FDO- Graphics- Layer IAttributeTable IClass IDataLayer IDataLayer2 IDataset IDisplayAdmin IDisplayFilterManager IDisplayRelationshipClass IDisplayTable IFDOAttributeConversion IFDOGraphicsLayer IFeatureLayer IFeatureLayer2 IFeatureLayerDefinition IFeatureSelection IFind IHotlinkContainer IHotlinkMacro IHyperlinkContainer IIdentify IIdentify2 ILayer2 ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition IMapLevel IObjectClassEvents IObjectClassSchemaEvents IPropertySupport IRelationshipClassCollection IRelationshipClassCollectionEdit ITable ITableFields ITableSelection CadLayer ICadLayer ICad3DRenderMode ICadDrawingLayers ICadTransformations IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IIdentify ILayerEffects ILayerExtensions ILayerInfo ILayerPosition TinLayer IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IDisplayFilterManager IIdentify ILayerDrawingProperties ILayerEffects ILayerEvents ILayerExtensions ILayerFields ILayerInfo ILayerPosition ILegendInfo ITableFields ITinLayer Raster- CatalogLayer Documented in chapter 13, "Integrating raster data" IConnectionPointContainer IDataLayer IDataLayer2 IDisplayAdmin IIdentify ILayerEffects ILayerEvents ILayerDrawingProperties ILayerExtensions ILayerInfo ILayerPosition ILegendInfo IRasterCatalogLayer Cad- Annotation- Layer IAttributeTable IBarrierProperties IBarrierProperties2 ICadDrawingLayers ICadTransformations ICoverageAnnotationLayer ICoverageAnnotationLayer2 IDataLayer IDataLayer2 IFeatureLayer IFind ILayerFields ILayerInfo ITableFields Display CmykColor ICmykColor IPostScriptColor GrayColor IGrayColor HlsColor IHlsColor HsvColor IHsvColor RgbColor IRgbColor Colors and ramps A CMYK color is composed of cyan, magenta, yellow, and black for optimum print reproduction A gray color is defined as a percentage of black An HLS color is defined with hue, lighting, and saturation components An HSV Color is defined with hue, saturation, and value components An RGB color is composed of red, green, and blue for optimum screen display. * CieLab- Conversion ICieLabConversion Color- Selector IColorSelector Random- ColorRamp IRandomColorRamp PresetColor- Ramp IPresetColorRamp MultiPart- ColorRamp IMultiPartColorRamp Algorithmic- ColorRamp IIAlgorithmicColorRamp A color ramp is a series of colors An algorithmic color ramp is a sequential series of colors A multipart color ramp is a collection of other color ramps A preset color ramp is a series of 13 specific colors A random color ramp is a series of randomized colors within certain limits A CIELabConversion is used to convert colors from different color models to the CIELab color model A ColorPalette displays the colors that are held in the current Styles on a popup menu A ColorSelector allows you to edit a color according to the RGB, CMYK, or HSV color model IClone IColor IPersist IPersistStream Color Color- Browser IColorBrowser Monitor settings can be used to get white point, red point, green point, and blue point values for the monitor ColorPalette IColorPalette ICustomColorPalette Monitor- Settings IMonitorSettings The color browser dialog box allows a color to be selected by setting individual color properties Feature renderers A feature renderer draws features to a display from a feature class 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 A class breaks renderer can be used to draw graduated color (choropleth) and graduated symbol maps A dot-density renderer draws varying densities of dots within polygon features A simple renderer draws each feature using the same symbol The unique value renderer defines the symbol a feature is to be drawn with based on an attribute value FeatureLayer in ArcMap BiUnique- Value- Renderer IBivariateRenderer DotDensity- Renderer IDataExclusion IDotDensityRenderer IDotDensityUIRenderer IRendererFields Feature- Renderer IFeatureRenderer ILegendInfo IPersist IPersistStream A proportional symbol renderer draws a symbol of varying size for each feature. The size is in proportion to a field value A scale-dependent renderer is made of multiple renderers, each operating within a scale range ICalcRendererValues Calc- Renderer- Values CalcRendererValues is a utility object used to perform simple statistical calculations on a feature layer for use by renderers * Legend- Class ILegendClass IPersist IPersistStream The legend group contains a collection of legend class objects IScaleDependent- Renderer Scale- Dependent- Renderer Legend- Group ILegendGroup IPersist IPersistStream * Proportional- Symbol- Renderer IBarrierProperties2 IDataExclusion IDataNormalization IRotationRenderer IProportional- SymbolRenderer The legend class contains a symbol and some text in the form of a label and description to describe what that symbol represents Simple- Renderer IDisplayAdmin ILevelRenderer ILookupSymbol IPropertySupport IRotationRenderer ISimpleRenderer ITransparencyRenderer Chart- Renderer IBarrierProperties2 IBasicOverposterEvents IChartRenderer IDataExclusion IDataNormalization IIdentify IPieChartRenderer IRendererFields ColorRamp IClone IColorRamp IPersist IPersistStream Simple- Display A display transformation manages the map to device transformation for each type of display A screen display object abstracts a normal application window and implements scrolling and backing store A simple display object abstracts all other devices that can be rendered to using a Windows Device Context such as printers and metafiles Display objects are used to draw graphics on a variety of output devices Screen- Display IScreenDisplay ITransformEvents Display- Trans- formation IConnectionPointContainer IDelayEvents IDisplayTransformation IRasterOutputSettings ITransformation ITransformEvents Display IConnectionPointContainer IDisplay IDisplayEvents IDraw Display Rubber band A rubber circle object allows the user to input circles on the display A rubber envelope object allows the user to input and move envelopes on the display A rubber line object allows the user to input and move polylines on the display A rubber point object allows the user to input and move points on the display A rubber polygon object allows the user to input and move polygons on the display A rubber rectangular object allows the user to input and move polygons, which are constrained to be rectangular, on the display Rubber- Envelope RubberPoint RubberLine Rubber- Polygon RubberBand IRubberBand Rubber- Rectangular -Polygon Rubber- Circle Natural- Breaks Classify IClassify Defined- Interval IClassifyMinMax IIntervalRange Equal- Interval IClassifyMinMax Quantile Standard- Deviation IDeviationInterval The defined interval classification produces classes that are divided by regular fixed numeric increments The equal interval classification is similar to defined interval, except that the first interval starts at the lowest value The natural breaks classification produces classes which highlight natural groupings by minimizing variance within a class and maximizing variance between classes The standard deviation classification creates classes that represent dispersion about the mean value The quantile classification creates as close as possible to equal numbers of values in each class Table- Histogram IDataNormalization IHistogram IStatisticsResults ITableHistogram The table histogram is a data structure used to set data to a data classification Classify Frame decorations are adornments to frame elements, such as backgrounds, shadows, and neatlines The symbol shadow draws a shadow around a frame element The symbol border draws an outline for a frame element The symbol background draws a background fill for a frame element Symbol- Background IBackground ISymbolBackground Symbol- Border IBorder ISymbolBorder Symbol- Shadow IShadow ISymbolShadow Frame- Decoration IClone IFrameDecoration IGraphicsComposite IPersist IPersistStream Frame decoration Selection tracker Envelope- Tracker LineTracker Point- Tracker Polygon- Tracker Selection- Tracker ISelectionTracker Callout- Tracker ICalloutTracker AnchorPoint IAnchorPoint Rotate- Tracker IRotateTracker Scale- Tracker IScaleTracker An anchor point is useful for rotating elements and features Selection trackers manage the handles of selected elements A rotate tracker manages the user interface for rotating features or elements A scale tracker controls the user interface for scaling features or elements Cancel- Tracker ITrackCancel A cancel tracker provides a mechanism for the user to stop a process ICartographicMarkerSymbol ICharacterMarkerSymbol IMarkerMask Character- MarkerSymbol Simple- MarkerSymbol IMarkerMask ISimpleMarkerSymbol Arrow- MarkerSymbol IArrowMarkerSymbol IMarkerMask Picture- MarkerSymbol ICartographicMarkerSymbol IMarkerMask IPictureMarkerSymbol A character marker symbol is a single glyph from a TrueType font A simple marker symbol is a square, circle, diamond, cross, or x An arrow marker symbol is a triangular arrowhead A picture marker symbol is a bitmap image or enhanced metafile A multilayer marker symbol is an ordered collection, or stack, of other marker symbols MultiLayer- MarkerSymbol IMultiLayerMarkerSymbol ILayerVisible ILayerColorLock IMarkerBackgroundSupport IMask Cartographic- LineSymbol ICartographicLineSymbol ILineProperties A cartographic line symbol has flexible properties to create dot-dash patterns, decorations such as arrowheads, and line join and cap styles A line decoration maintains a set of line decoration elements, which are symbols drawn along a line A simple line decoration element draws marker decorations on the top of a line symbol, such as arrowheads Line- Decoration- Editor ILineDecorationEditor The line decoration editor edits the properties of a line decoration PictureLine- Symbol IPictureLineSymbol MarkerLine- Symbol IMarkerLineSymbol A hash-line symbol is a series of lines running at an angle to the original line A marker line symbol is a series of marker symbols following the path of a line Line- Decoration IClone ILineDecoration IPersist IPersistStream HashLine- Symbol IHashLineSymbol * MultiLayer- FillSymbol IMultiLayerFillSymbol ILayerColorLock ILayerVisible LineFill- Symbol ILineFillSymbol GradientFill- Symbol IGradientFillSymbol MarkerFill- Symbol IFillProperties IMarkerFillSymbol PictureFill- Symbol IFillProperties IPictureFillSymbol SimpleFill- Symbol ISimpleFillSymbol A gradient fill symbol is a series of colors A line fill symbol is a regular series of lines at any angle A marker fill symbol is a grid of marker symbols A picture fill symbol is a grid of pictures A simple fill symbol is a solid or hatched fill A multilayer fill symbol is a stack of other fill symbols A dot-density fill symbol is a data- driven symbol commonly used with the dot-density renderer. DotDensity- FillSymbol IDotDensityFillSymbol IDotDensityMasking ISymbolArray Text symbols 3D chart symbols Stacked- Chart- Symbol IStackedChartSymbol The stacked chart symbol draws a stacked bar chart Chart- Symbol- Editor IChartSymbolEditor The pie chart symbol draws a pie chart The bar chart symbol draws a bar chart The chart symbol editor can be used to allow users to edit the properties of a chart symbol A 3D chart symbol is a symbol used by a chart renderer Symbols LineSymbol ILineSymbol IMapLevel IPropertySupport Symbol IClone IPersist IPersistStream ISymbol Marker- Symbol IMapLevel IMarkerSymbol IPropertySupport ISymbolRotation 3DChart- Symbol I3DChartSymbol IChartSymbol IMarker- BackgroundSupport IMarkerSymbol ISymbolArray TextSymbol IFormattedTextSymbol IMapLevel IMask IPropertySupport ISimpleTextSymbol ISymbolRotation ITextSymbol Symbol- Selector ISymbolSelector Symbol- Editor ISymbolEditor The Symbol Editor dialog box is used to edit the definition of any symbol The Symbol Selector dialog box presents all symbols in referenced style files Symbols are used for drawing features and elements on a map and have attributes such as color and size Symbology- Environment IClassFactory ISymbologyEnvironment The symbology environment controls certain details of symbology display The geometry draw can be used to draw any geometry to a display SimpleText- Path BezierText- Path Text- Background IClone ITextBackground IPersist IPersistStream MarkerText- Background IMarkerTextBackground Callout ICallout IQueryGeometry Balloon- Callout IBalloonCallout ITextMargins LineCallout ILineCallout IMarkerBackground ITextMargins TextPath IPersist ITextPath Overposter- TextPath IOverposterTextPath A Bezier text path is used to draw text along a curve, from its start to endpoints An overposter text path is used internally by the ArcObjects label engine A simple text path is used to draw text that follows a straight or curved line. A text path defines a line along which a piece of text is placed A marker text background is a marker symbol drawn as a background to a piece of text A callout draws a background behind a piece of text, with a leader line to an anchor point A balloon callout draws a balloon behind a piece of text A line callout draws a line from an anchor point to a piece of text, and draws a rectangular background behind the text An text symbol defines a Font and many formatting properties of a piece of text. Text- Background- Editor ITextBackgroundEditor Text- Symbol- Editor ITextSymbolEditor The text symbol editor is a dialog box used for editing the properties of an existing text symbol The text background editor is a dialog box used for editing the properties of text backgrounds like a callout SimpleLine- Callout ISimpleLineCallout A simple line callout draws a custom line shape as a leader line to a TextSymbol FontSize IClone IFontSize IPersist IPersistStream The font size object is used by ArcMap to determine the default size for new text SimpleLine- Decoration- Element IClone ILineDecorationElement IPersist IPersistStream ISimpleLineDecorationElement Template IClone IPersist IPersistStream ITemplate A template defines the series of dots, dashes, and gaps along a cartographic line FillSymbol IFillSymbol IMapLevel IPropertySupport A multilayer line symbol is a stack of other line symbols Marker symbols Line symbols Fill symbols MultiLayer- LineSymbol IMultiLayerLineSymbol ILayerVisible ILayerColorLock A simple line symbol is a solid line or one with predefined series of dots and dashes A picture line symbol draws a line by filling it with a tiled image SimpleLine- Symbol ISimpleLineSymbol Geometry- Draw IGeometryDraw ISupportErrorInfo BarChart- Symbol IBarChartSymbol PieChart- Symbol IPieChartSymbol Display- Feedback IDisplayFeedback Display feedback Creates a feedback on the display for moving an envelope Creates a feedback on the display for moving a point on a line Creates a feedback on the display for a group of feedback objects Creates a feedback on the display for moving a point on a Bézier curve Creates a feedback on the display for moving a geometry by reference Creates a feedback on the display for moving a line Creates a feedback on the display for moving a point Creates a feedback on the display for moving a polygon Creates a feedback on the display for adding a new Bezier curve Creates a feedback on the display for adding a new envelope Creates a feedback on the display for adding a new line Creates a feedback on the display for adding a new multipoint Creates a feedback on the display for adding a new polygon Creates a feedback on the display for moving a point in a polygon Creates a feedback on the display for reshape Creates a feedback on the display for resizing an envelope Creates a feedback on the display for stretching all the vertices on a polyline Creates a feedback on the display for editing vertices of a geometry by reference Creates a feedback on the display for moving an image of symbolized elements or features BezierMove- Point- Feedback ILineMovePointFeedback Group- Feedback ISet LineMove- Point- Feedback ILineMovePointFeedback Move- Envelope- Feedback IMoveEnvelopeFeedback Move- Geometry- Feedback IMoveGeometryFeedback MoveImage- Feedback IMoveImageFeedback IMoveImageFeedback2 MoveLine- Feedback IMoveLineFeedback MovePoint- Feedback IMovePointFeedback Move- Polygon- Feedback IMovePolygonFeedback NewBezier- Curve- Feedback INewBezierCurveFeedback New- Envelope- Feedback INewEnvelopeFeedback INewEnvelopeFeedback2 NewLine- Feedback INewLineFeedback New- MultiPoint- Feedback INewMultiPointFeedback Creates a feedback on the display for a callout Callout- Feedback ICalloutFeedback Creates a feedback on the display for adding a new circle NewCircle- Feedback INewCircleFeedback New- Dimension- Feedback INewDimensionFeedback Modify- Dimension- Feedback IModifyDimensionFeedback NewPolygon- Feedback INewPolygonFeedback Polygon- MovePoint- Feedback IPolygonMovePointFeedback Reshape- Feedback IReshapeFeedback Resize- Envelope- Feedback IResizeEnvelopeFeedback IResizeEnvelopeFeedback2 StretchLine- Feedback IStretchLineFeedback Vertex- Feedback IVertexFeedback Creates a feedback on the display for modifying a dimension shape Creates a feedback on the display for adding new dimension shapes - Transparency- DisplayFilter IClone IDisplayFilter IPersist IPersistStream ITransparencyDisplayFilter Class- Breaks- Renderer IBarrierProperties2 IClassBreaksRenderer IClassBreaksUIProperties IDataExclusion IDataNormalization IDataSampling ILevelRenderer ILookupSymbol IRotationRenderer Unique- Value- Renderer ILevelRenderer ILookupSymbol IRotationRenderer ITransparencyRenderer IUniqueValueRenderer Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and the ESRI globe logo are trademarks of ESRI, registered in the United States and certain other countries; registration is pending in the European Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap are trademarks of ESRI and www.esri.com is a service mark of ESRI. ArcObjects is the development platform for ArcGIS Desktop, a suite of GIS software systems: ArcInfo, ArcEditor, and ArcView. These systems serve GIS professionals with a spectrum of geographic data management, spatial editing, and cartographic visualization functionality. The ArcGIS Desktop systems each contain a configuration of applications, such as ArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety of extension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, and others. This object model diagram shows how ArcMap presents geographic information through views and how ArcCatalog manages geodatabases. These are the ArcObjects components documented in volume one of Exploring ArcObjects. You will find updates to ArcObjects developer resources at www.esri.com/arcobjectsonline. 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. TM TM ESRI ArcGIS 8.1 Object Model Exploring ArcObjects • Volume 1 • Applications and cartography TM TM ®

Upload: lythien

Post on 04-Aug-2018

248 views

Category:

Documents


1 download

TRANSCRIPT

76

5 4

3

Types of Classes

An abstract class cannot create new objects; it is a specification forinstances of subclasses (through type inheritance.)

A coclass can directly create objects by declaring a new object.

A class cannot directly create objects, but objects of this class can becreated as a property of another class or instantiated by objects fromanother class.

Types of Relationships

Associations represent relationships between classes. They have definedmultiplicities at both ends.

Type inheritance defines specialized classes of objects that shareproperties and methods with the superclass and have additionalproperties and methods. Note that interfaces in superclasses are notduplicated in subclasses.

Instantiation specifies that one object from one class has a method withwhich it creates an object from another class.

Composition is a relationship in which objects from the "whole" classcontrol the lifetime of objects from the "part" class.

An N-ary association specifies that more than two classes areassociated. A diamond is placed at the intersection of the associationbranches.

A multiplicity is a constraint on the number of objects that can beassociated with another object. Association and composition relationshipshave multiplicities on both sides. This is the notation for multiplicities: 1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer

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

Type inheritanceThis diagram illustrates the implicit type inheritance model in the ArcGIS 8.1component objects. Software interfaces are not duplicated in the child classes.

The objects to the left show a sample view of type inheritance. The objects belowshow a flat view of the objects with their full list of interfaces. The two views areequivalent, but the type inheritance view gives insight into the structuralcomposition of the object model.

Row

Feature

RowBuffer

IRowIRowEvents

IValidate

IFeatureIFeatureBufferIFeatureDraw

IFeatureEdit

IRowBuffer

Row

Feature

IRowIRowBuffer

IRowEventsIValidate

IFeatureIFeatureBufferIFeatureDraw

IFeatureEditIRow

IRowBufferIRowEvents

IValidate

RowBufferIRowBuffer

ArcMapcoclass

ArcMapabstract class

ArcMapclass

ArcCatalogcoclass

ArcCatalogabstract class

Frameworkcoclass

Frameworkabstract class

Displaycoclass

Displayabstract class

Outputcoclass

Outputabstract class

ArcCatalogclass

Frameworkclass

Displayclass

Outputclass

This ArcGISobject model

diagram uses thiscolor code to

denote thecoclasses, classes,

and abstractclasses in the

ArcObjectssubsystems.

Chapter 7Chapter 6Chapter 5

Chapter 4Chapter 3Diagram keyabstract

class

Inbound interfaceOutbound interface

Type inheritance

Instantiation

Association

Composition

1..* Multiplicity

class

coclassInterface

Output

PaperICloneIPaper

IPersistStream

FontMap-Environment

IFontMapEnvironment

PageLayout inArcMap

*

Printer

The font map environmentsupports the PS printer by setting

font information to be used duringthe creation of Postscript output

The PS driver supports the PS printerby setting general PostScript variables,

including color information

The spot plate allows for the creationof separate plates (images) based on

the specified color

An EMF printer serves as a driver forthe creation of output through the

Enhanced Windows Metafile format

PrinterIClone

IPersistStreamIPrinter

EmfPrinterIEmfPrinter ArcPress-

Printer

IArcPressPrinterIArcPressPrinterDriver

IColorCorrection

FontMap-Collection

IFontMapCollection

ArcPress-Printer-Driver

IArcPressPrinterDriverIColorCorrection

*

SpotPlateISpotPlate

IFontMapIFontMap2 FontMap

The printer abstract class defines thecommon interfaces for controlling the

output of data to hardcopy devices

The PS printer is used tocreate output through a

PostScript driver

The font map collectionhouses the set of font maps

used by the PS printer orPS exporter objects

A font map creates associationsbetween TrueType fonts and

the mapped font

The paper object defines theprinter and tray designations foruse with the printer object

The ArcPress printer driversupports the ArcPress printer by

setting ArcPress parameters

The ArcPress printer serves as adriver for the creation of output

through ArcPress

IColorCorrectionIPsDriver

IPsDriver2ISpotPlateCollection

PsDriver

PsPrinter

IColorCorrectionIFontMapEnvironment

IPsDriverIPsDriver2IPsPrinter

ISpotPlateCollection

ExportDialogIExportDialog

IExportDialog2

IEmfExporterEmfExporter

ExporterIExporter

ArcPress-ExporterPNG

ArcPress-ExporterJPEG

ArcPress-ExporterPCX

ArcPress-ExporterTIFF

ArcPress-Exporter

IArcPressExporterIArcPressExporter-

DescriptionEnum

ExporterThe exporter abstract class defines the

common interface for controlling theoutput of map data to files

The Export dialog box displaysa dialog for users to enterfilename and desired formatfor outputting map data

IPDFDriverPDFDriver

ArcPress-Exporter-

Driver

IArcPress-ExporterDriver

The CGM driver is created by theCGM exporter object during theoutput of map data to a CGM file

The ArcPress exporter driver usesArcPress to convert a PostScript file

to one of the supported formats

The ArcPress exportabstract class supportsthe output of map data

to the different fileformats of ArcPress

The PDF driver is created bythe PDF exporter objectduring the output of mapdata to a PDF file

The PDF exporter creates output inthe Portable Document format

The PS exporter createsoutput in the PostScript format

The JPEG exporter creates outputin the format set by the JointPhotographic Experts Group

ICGMExporter CGM-Exporter

ICGMDriverISupportErrorInfo CGM-

Driver

IBmpExporterIDibExporter

IExporter2IWorldFile-

Settings

DibExporter

IFontMapEnvironmentIPsExporter PsExporter

IJpegExporter Jpeg-Exporter

IPdfExporterIFontMapEnvironment PdfExporter

IExporter2ITiffExporter

IWorldFileSettingsTiffExporter

The DIB exporter creates output in theDevice-Independent Bitmap format

The CGM exporter creates output in theComputer Graphics Metafile format

The EMF exporter creates output inthe Microsoft Enhanced Metafile format

Framework

Application

1..*

Application is the core object that represents ArcMap or ArcCatalogand provides access to the current state of the user interface

Document provides access to properties,such as title and type, and contains theVisual Basic for Applications project

A collection of command barsassociated with a document

A toolbar definition isused by the commandbars collection to createa toolbar

A menu definition is used bythe command bars collection

to create a menu A document command bar is acustom menu or toolbar createdwith the Customize dialog box

The component categorymanager object registerscomponents with thecomponent categories usedby the ESRI applications

A unique identifier objectrepresents the globallyunique identifier for anyCOM object

The application runningobject table is a global list ofall currently running ESRICOM-based applications

An application referenceobject is a reference to thecurrently running application

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

AppRefIApplication

DocumentIDocument

AppROTIAppROT

IAppROTEvents

ICommandBars

page xx

Command-Bars

CommandBar

Document-CommandBar

COM-CommandBar

Component-Category-Manager

IComponentCategoryManager

UIDIUID

Dockable-Window

IDockableWindow

Dockable-WindowDef

IDockableWindowDefISupportErrorInfo

ICustomizationFilter Customization-Filter

A dockable window canexist in a floating stateor attached to the mainapplication window

IExtensionIExtensionAccelerators

IExtensionConfig Extension Application

IApplicationIDockableWindowManager

IExtensionManagerIMultiThreadedApplication

IVBAApplicationIWindowPosition

*

0..1

IMenuDefIRootLevelMenu

IShortcutMenu MenuDef

IToolbarDef

ToolbarDef

Command-BarDef

MouseCursorIMouseCursor

DllThread-Manager

IDllThreadManager

You can use MouseCursorto set the system mousecursor to be one of thestandard built-in cursorsor a custom cursor

A COM command barcan be written in anyCOM-compliantlanguage and iscompiled as an ActiveXDLL

An extension provides a mechanismfor extending an application

A customization filter providesa mechanism for locking parts

of the customizationfunctionality in an application

A command bardefinition is used by

the command barscollection to create aCOM command bar

A dockable window definition is used by theapplication to create a dockable window

Document

UIButtonControl acts asa button or menu itemthat performs a simple

task when clicked

UIComboBoxControl is adropdown list box control

that can be added to a toolbar

UIEditBoxControl is an editabletextbox control that can be added

to a toolbar

UIToolControl acts as a buttonthat allows further interaction

with the application display

A button is a simple command thatperforms a simple task when clicked

A tool acts as a button that allows furtherinteraction with the application display

A tool control is dropdown list box control,editable textbox control, or other type of

control that can be added to a toolbar

A MultiItem is a dynamic commandthat appears as zero or more adjacent

menu items on a menu dependingupon the state of the application

MacroItems are simple procedureswritten in the Visual Basic Editor

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

The status bar is the horizontal area atthe bottom of ArcMap and ArcCatalogthat provides information about thecurrent application state

TemplatesITemplates

*

An accelerator tablecontains a list ofaccelerator keys andthe commandidentifiers associatedwith them

AcceleratorIAccelerator

An accelerator key isa keyboard shortcutto quickly execute acommon command

A command item is anelement on a command bar,

such as a button, tool, ormenu item MacroItem

Command-Item

ICommandItemIPersist

IPersistStreamISupportInfo

StatusBarIStatusBar

UICombo-BoxControl

IUIComboBoxControlIUIComboBoxControlEvents

UIButton-Control

IUIButtonControlEvents

UIEditBox-Control

IUIEditBoxControlIUIEditBoxControlEvents

UITool-Control

IUIToolControlEvents

Command

UIControl

Coordinate-Dialog

ICoordinateDialog

GetString-Dialog

IGetStringDialog

GetUserAnd-Password-

Dialog

IGetUserAndPasswordDialog

ListDialogIListDialog

Message-Dialog

IMessageDialog

Number-Dialog

INumberDialog

Progress-Dialog

IProgressDialogIProgressDialog2

IProgressorIStepProgressor

Progress-Dialog-Factory

IProgressDialogFactory

Framework dialog boxes

Command

The Progress dialog box factory creates anddisplays a new progress dialog box

A Progress dialog box displays animation and astep progressor bar

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

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

The Get User and Password dialog is used forgetting username and password information

The List dialog box is used to present a list ofoptions and allows the user to select one of theoptions

The Message dialog box is used to display amessage to the user

The Number dialog box is used for getting userinput in the form of a number

ICommandBarICommandItem

A DLL thread managerprovides access to anevent that DLL threadmanagers listen for

Accelerator-Table

IAcceleratorTableIPersist

IPersistStream

IExtensionManagerIExtensionManagerAdmin

ISupportErrorInfoExtension-Manager

COMCommand

IMultiItemIMultiItemEx

(optional) MultiItem

ToolControlICommand

ICommandSubtype(optional)

IToolControl

ToolICommand

ICommandSubtype(optional)

ITool

ButtonICommand

ICommandSubtype(optional)

GxDatabase-Extension

IGxDatabaseExtensionIGxDatabaseExtensionCompare

GxDatabase-Extensions

IGxDatabaseExtensions

GxRemote-Database-

Folder

IGxCachedObjectsIGxObjectProperties

IGxRemoteContainerIGxRemoteDatabaseFolder

GxSpatial-References-

Folder

IGxCachedObjectsIGxObjectProperties

IGxSpatialReferencesFolder

GxDataset

IGxCachedObjectsIGxDataset

IGxObjectInternalNameIGxObjectProperties

IGxThumbnailIMetadata

IMetadataEditINativeTypeInfo

IObjectClassSchemaEvents

GxFileFilterIGxFileFilter

IGxFileFilterEventsIPersistStream

GxObject-Container

IGxObjectContainerIGxPasteTarget

GxObjectFactory objects help ArcCataloggenerate GxObjects based on the object type

IGxObjectFactoryIGxObjectFactoryMetadata GxObject-

Factory

GxLayer-Factory

GxMap-Factory

GxShortcut-Factory

GxDatabase-Factory

GxFile-Factory

GxCoverage-Factory

IGxObject-FactoryEdit GxTextFile-

Factory

IGxObject-FactoryEdit

GxPrjFile-Factory

IGxObject-FactoryPriority

GxMetadata-Factory

IGxObject-FactoryPriority

GxObjectIGxObject

IGxObjectEditIGxObjectUI

GxDatabase holds aworkspace within

ArcCatalog GxDataset holds adataset objectwithin ArcCatalog

GxObjects represent individualdata items and they are what

appear in the tree view and thecontents view

GxRemoteDatabaseFolderrepresents only the top-levelRemote Connections folder

GxSpatialReferencesFolderrepresents only the top levelof the spatial referenceinformation accessiblethrough ArcCatalog

SearchResults stores a query

GxCatalog object representsyour actual tree of data, as is

shown in the tree view

GxDatabaseExtensions is a collectionobject for the set of

GxDatabaseExtension objectsGxDatabaseExtension is an abstract classwhose purpose is to provide a startingpoint for those developers who want tocreate extensions to a GxDatabase

GxFileFilter objectmaintains the file

filter used byArcCatalog to

determine which filetypes to display

Search-Results

IGxFileIGxCachedObjects

IGxObjectSortIGxObjectProperties

IMetadataIMetadataEdit

ISearchResults

GxDatabase

IGxCachedObjectsIGxDatabase

IGxDatabase2IGxObjectInternalName

IGxObjectPropertiesIGxObjectWizard

IMetadataIMetadataEdit

INativeTypeInfo

GxDisk-Connection

IGxDiskConnection

GxNew-Database

IGxBasicObjectIGxNewDatabase

IGxObjectProperties

GxFileGxMetadata

IGxFileIGxObjectInternalName

IMetadataIMetadataEdit

INativeTypeInfo

GxObject-Wizard

IGxObjectWizard

Shortcut-Name

IFileNameIName

IPersistStreamIShortcutName

GxMapIGxMap

IGxMapPageLayoutIGxObjectInternalName

IGxThumbnail

GxPrjFileIGxFileSetup

IGxObjectInternalNameIGxPrjFile

GxTextFileIGxCachedObjects

IGxDatasetIGxFileSetup

IObjectClassSchemaEventsIGxObjectInternalName

GxShortcutIGxShortcut

GxNewDatabase is theshortcut used to create a

new remote connection

GxPrjFile represents projectionfiles with GxSpatialReferences-Folder objects

GxLayerrepresentslayer files

GxMap encapsulatesmap documents

When ArcCatalog starts, itcreates GxDiskConnection

objects for each folderconnected at the root

GxFolder representssystem-level folders

GxMetadata represents XML files

GxTextFile represents textfiles within ArcCatalog

GxShortcut representsshortcuts to objects returned

from a Catalog search

ShortcutName is a name objectdescribing a GxShortcut GxDialog

IGxDialogIGxObjectFilter-

CollectionIGxSelectionEvents

GxDialog represents a browserthat allows you to open andsave GIS datasets.

GxLayerIComPropertySheetEvents

IGxLayerIGxObjectInternalName

IGxThumbnail

EnumGxViewIEnumGxView

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

ExtensionIExtension

IExtensionIExtensionAccelerators

IExtensionConfig

ExtensionSee chapter 3,

'Customizing the userinterface'

ApplicationSee chapter 3,

'Customizing the userinterface'

IApplicationIDockableWindowManager

IExtensionManagerIMultiThreadedApplication

IVBAApplicationIWindowPosition

GxDocumentIDocument

IGxDocumentEventsIGxDocumentEventsDisp

Enum-GxObject

IEnumGxObject

GxObject-Array

IGxObjectArray

GxSelectionIGxSelection

IGxSelectionEvents

GxApplicationIGxApplication

IGxCatalogAdminIGxCatalogEvents

IGxCatalogEventsDisp

GxDocument represents the documentobject in the VBA class ThisDocument

contained in each VBA project

GxApplicationrepresents therunningArcCatalogexecutable

GxObjectArray objectholds a set of GxObjects

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

IGxViewContainer GxView-Container

GxViewGxApplication

Spatial-Reference-

Dialog

ISpatialReferenceDialogISpatialReferenceDialog2

Table-Definition-

Dialog

ITableDefinitionDialog

Projected-Coordinate-

SystemDialog

IProjectedCoordinateSystemDialog

Geographic-Coordinate-

SystemDialog

IGeographicCoordinateSystemDialog

FindDialog

Catalog-Search-Engine

FileSystem-XmlSearch-

Engine

IFileSystemQuery

Search-Engine

ISearchEngineISearchEngineEvents

ISearchEngineProperties

FileSystem-Query

IFindDialogSettingsIQuery

IXmlQuery

The Geographic Coordinate System dialog box isa stand-alone object used to create a newgeographic coordinate system object

The Projected Coordinate System dialog box is astand-alone object used to create a newprojected coordinate system object

The Spatial Reference dialog box object is astand-alone object used to create a new spatialreference object

The Table Definition dialog box object is a stand-alone object used to create new tables andfeature classes within the specific workspace ordataset

FileSystemXmlSearchEngine lets yousearch for file-basedobjects stored on diskfor which metadatahas been created

The CatalogSearchEngine lets you search for anyobject that appears in ArcCatalog

FindDialog provides access toArcCatalog’s Search dialog box

FileSystemQuery lets you modify anexisting search’s parameters or definea new query

FindDialogIDllThreadManager

IFindDialogIGxSelectionEvents

ISearchEngineEvents

GxObjectGxFile represents any file type that has

been defined in ArcCatalog

IGxFileIGxFileSetup (optional)

IGxObjectInternalName (optional)IGxObjectProperties

IMetadataIMetadataEdit

INativeTypeInfo

ArcCatalog

GxCatalog

IComPropertySheetEventsIConnectionPoint

IConnectionPointContainerIGxCatalog

IGxCatalogEventsDispIGxCatalogEvents

IGxFileIGxObjectFactories

IMetadataEdit

GxDocumentationViewrepresents the metadataview in ArcCatalog

ApplicationGxPreviewIGxPreview

ApplicationGxTableViewIGxCatalogEvents

IGxTableView

GxTreeViewIGxCatalogEvents

IGxTreeView

*

Gx-Document-ationView

IGxCatalogEventsIGxDocumentationView

IGxViewPrint

Gx-Geographic-

View

IGxCatalogEventsIGxGeographicView

IGxGeographicView2ITransformEvents

Objects in theGxContentsViewColumncollection represent thecolumns in the tabbed displayarea of the view (whenContents is the active tab)

GxTreeView shows a hierarchicalorganization of your data holdings

GxTableView is used topreview the table associatedwith the selected object

The GxGeographic-Viewlets you preview your data

GxContentsView is theExplorer-style iconic viewavailable in ArcCatalog

GxView is an abstractclass that represents all

possible ArcCatalog views

IGxSelectionEventsIGxView GxView

GxContents-View

IGxCatalogEventsIGxContentsView

IGxContentsViewColumnsIPersistStream

*GxContents-ViewColumn

IGxContentsViewColumnIClone

IPersistStream

The metadataimport objects addor replace metadatafrom an input file

IMetadataImport Metadata-Import

Import-MPSGML

Import-MP

Import-XML

Import-MPTXT

The metadata exportobjects output a dataset'smetadata to a file

IMetadataExport

Export-MPSGML

Export-MPTXT

Export-XML

Export-MPFAQ

Export-MPHTML

Export-MP

Export-HTML

Metadata-Export

MetadataIMetadataEditor

The metadata editorobjects provide a userinterface for editingmetadata

DefaultEditorFGDCEditor

Metadata-Editor

Metadata-Extension

IConnectionPointContainerIMetadataHelperIMetadataEvents

IPersistStream

GxPreview shows previewsof the selected object

GxFolder

IGxCachedObjectsIGxFile

IGxFolderIGxObjectInternalName

IGxObjectPropertiesIMetadata

IMetadataEditINativeTypeInfo

GxFilterAnnotationFeatureClassesGxFilterBasicTypesGxFilterCadDrawingDatasetsGxFilterCoverageAnnotationClassesGxFilterDatasetsGxFilterDatasetsAndLayersGxFilterFeatureClassesGxFilterFeatureDatasetsGxFeatureDatasetsAndFeatureClassesGxFilterFilesGxFilterGeodatasetsGxFilterLayersGxFilterMapsGxFilterPointFeatureClassesGxFilterPolygonFeatureClassesGxFilterPolylineFeatureClassesGxFilterRasterDatasetsGxFilterSpatialReferenceGxFilterTablesGxFilterTablesAndFeatureClassesGxFilterTINDatasetsGxFilterWorkspaces

GxObject-Filter

IGxObjectFilter

The GxObjectFilter objects are used inconjunction with the GxDialog object to

limit the types of data the user can browsewhen selecting objects to open or save

A frame element forms a borderaround other elements or objects

IGraphicElement Frame-Element A frame element is a neatline

A map frame manipulates theframe containing the map

A map surround framemanipulates the frames ofmap elements such asNorth arrows and legends

An OLE frame is an OLEobject graphic

A table framemanipulates theframe containingthe table

IOleFrameIElementShutdown

GraphicElementOleFrame

IBoundsPropertiesIFrameDraw

IFrameElementIFrameProperties

Frame-Element

IActiveViewEventsIConnectionPointContainer

IDisplayAdminIDisplayEvents

IGraphicsCompositeIGraphicsContainerProperty

IMapFrameIMapFrameEvents

IMapGridsITransformEvents

MapFrame

IGraphicsCompositeIMapFrameEvents

IMapSurroundEventsIMapSurroundFrame

ITransformEvents

Map-Surround-

Frame

ITableFrame

TableFrame

IActiveViewIActiveViewEvents

IConnectionPointContainerIDisplayAdmin

IGraphicsContainerIGraphicsContainerSelect

IGraphicSnapEnvironmentIPageEventsIPageLayout

IPersistIPersistStream

ISelectionEventsITransformEvents

IViewManager

PageLayout

ArcMapThe page representsthe piece of paperthe layout resides on

Snap guides are horizontaland vertical lines added tothe layout that aid elementplacement. The snap guideswork in conjunction with aguide snap agent

Ruler settings representsthe layout rulers

The snap grid is a grid ofreference points on thelayout used to aidelement placement. Thesnap grid works inconjunction with a gridsnap agent

Graphic snap agentsmove elements by

attempting to snap themto various objects such as

the snap grid

IPersistIPersistStream

ISnapGuides SnapGuides

SnapGridIPersist

IPersistStreamISnapGrid

Ruler-Settings

IPersistIPersistStreamIRulerSettings

Graphic-Snap-

Environment

IGraphicSnap-Environment

IPersistIPersistStream

*

The graphic snap environment controls whichgraphic snap agents are active, the order inwhich they are called, and the snap tolerance

GridSnapGuideSnapMarginSnapRulerSnap

IGraphicSnapIPageLayoutSnap

IPersist GraphicSnap

ICloneIElement

IElementPropertiesIPersist

IPersistStream

Element

*

IBoundsPropertiesIMarkerElement Marker-

Element

IBoundsPropertiesIElementEditVertices

ILineElementLineElement

A line element is a line graphic

A markerelement is a

point graphic

A group element is a set ofgrouped elements

Graphic elements are simple graphicsthat can appear in a data view

Map elements represent all thegraphics that can appear on a map

Element

A text element is a text graphic

A data graph elementmanipulates the frame

containing a graph

IActiveViewEventsIDataGraphElement

IGraphicsContainerPropertyDataGraph-

Element

IEllipseElement Ellipse-Element

IRectangleElement Rectangle-Element

ICircleElement Circle-Element

IElementEditVerticesIPolygonElement Polygon-

Element

IBoundsPropertiesIFillShapeElement FillShape-

ElementA fill shape element is agraphic of a closed area

BmpPicture-Element

EmfPicture-Element

An EMF pictureelement is aWindows EnhancedMetafile picture

A BMP picture elementis a Windows bitmap

IBoundsPropertiesIFrameDraw

IFrameElementIFrameProperties

IOlePictureElementIPictureElement

Picture-Element

ICloneIElement

IElementPropertiesIPersist

IPersistStreamIPropertySupport

ITransform2D

Element

IBoundsPropertiesIFrameElement

IFrameDrawIFrameProperties

IGroupElement

Group-Element

A picture elementrepresents Windows raster

or vector graphic objects

IBoundsPropertiesIElementEditCallout

IElementEditVerticesIGroup-

SymbolElementITextElement

ITransformEvents

TextElement

DataWindow

Mapinset windows display amagnified view of the focus map

Overview windows display the fullextent view of the focus map

Table windows display a table

Data windows are additional displaysassociated with the application

Data graph windows display graphs

IActiveViewEventsIComPropertySheetEvents

IDataGraphWindowIDocumentEvents

IPersistIPersistStream

DataGraph-Window

IDataWindowFactory Overview-Window-Factory

A map insert windowfactory creates map

inset windows

An overview window factorycreates overview windows

IDataWindow-Factory MapInset-

Window-Factory

Data graphs represent ArcMapand ArcCatalog graphs

A table viewdisplays a table

ICloneIDataGraph

IDataGraphAxisIDataGraphTicks

IDataGraphAreaPropertiesIDataGraphBarProperties

IDataGraphColorPropertiesIDataGraphHighLowCloseProperties

IDataGraphOverlayPropertiesIDataGraphPieProperties

IDataGraphPropertiesIPersistStream

DataGraph

IActiveViewIActiveViewEvents

IBasicMapIConnectionPointContainer

IDisplayAdminIDisplayEvents

IGraphicsContainerIGraphicsContainerSelect

IMapIMapBarriers

IMapBookmarksIMapEvents

IMapGeographicTransformationsIPersist

IPersistStreamIRelationshipClassCollection

ISelectionEventsIStandaloneTableCollection

ITableCollectionITransformEvents

IViewManager

Map

*

Element

StyleGallery

The Map object is a container for vector,raster, and graphic data. Maps reside onthe page layout and contain the geographicdata typically seen on a map

The Page objectrepresents the page

of paper the layoutresides on

The application display helpsmanage all of the displayspresent in the application

The application object representsthe running ArcMap application

The style gallery is a list of predefineditems (styles) used to create maps

MxDocument controls the current activeview that specifies whether the user is

interacting with the entire map layout ora specific data frame in the layout

IExtension

Extension

Page

LayerMapSurround SpatialBookmark

A layer is a specific class of dataadded to a Map. Layer types includefeatures (coverages, shapefiles,geodatabases), rasters, images, TINs,CAD, IMS, and annotation

A map surround is a specificgroup of elements that isassociated with a map. Mapsurrounds include North arrows,scale bars, and legends

A spatial bookmark is aspecific map extent thathas been saved alongwith a name identifying it

IAppDisplayIDisplay

IDrawIScreenDisplay

IScreenDisplay2

AppDisplay

Elements are a broad group of itemsthat can be placed on the page layout

or on a map. For example, a map titleis a text element placed on the page

layout

ArcMap supports extensions that areautomatically created when the applicationstarts. The ArcMap editing tools are an exampleof an extension

IIdentifyDialogIIdentifyDialog2

IIdentifyDialogProps IdentifyDialog

The selection environment controlsthe application's selection behavior

IMapEvents

MapEvents

This object provides access to theIMapEvents outbound interface

*

IChangeLayoutIContentsViewEdit

IDataGraphsIDocument

IDocumentDirtyIDocumentDatasetsIDocumentDefault-

SymbolsIDocumentEvents

IDocumentEventsDispIDocumentInfoIMxDocument

IPersistIPropertySupport

IReportUnitFormat

MxDocument

IPersistIPersistStream

ISelectionEnvironmentISelectionEnvironmentLayer

ISelectionEnvironmentStorageISelectionEnvironmentThreshold

Selection-Environment

Application

IApplicationIApplicationWindows

IExtensionManagerIDockableWindow-

ManagerIEnumPrinterNames

IMultiThreaded-Application

IMxApplicationIObjectFactory

IVBAApplicationIWindowPosition

IdentifyDialog is the dialog box forquickly querying data attributes

The table of contentscatalog view represents

the Source tab in theArcMap table of contents

The table of contents displayview represents the Display tabin the ArcMap table of contents

TOCDisplay-View

TOCCatalogView

IDocumentEvents

IActiveViewEventsIComPropertySheetEvents

IContentsView TOCView

PageLayout

CustomOverlayGridFactoryGraticuleFactoryIndexGridFactory

MeasuredGridFactory

ICustomOverlayGrid Custom-OverlayGrid

IMeasuredGridIProjectedGrid Measured-

Grid

IIndexGrid

IndexGrid

IGraticuleIMeasuredGrid Graticule

ButtonTabStyleContinuousTabStyleRoundedTabStyle

IBackgroundTabStyle Background-TabStyle

IMixedFontGridLabelIFormattedGridLabel MixedFont-

GridLabel

IFormattedGridLabel Formatted-GridLabel

IDMSGridLabel DMS-GridLabel

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

A formatted grid label uses a number formatto label the map grid

A map grid factorycan be used to quicklycreate a map grid withdefault properties

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

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

An index grid divides the map into agrid for indexing

A graticule divides the map into agrid of meridians and parallels

A custom overlay grid divides themap using lines from the data

source you specify

A map grid is a grid of referencepoints or lines on the layout that

help you visually identify thelocation of features on the map

IndexGrid-TabStyle

IIndexGridTabStyle

IGridLabelIGridLabelExport

IPersistIPersistStream

GridLabel

An index grid tab stylegoverns the way anindex grid is labeled

IMapGridFactory MapGrid-Factory

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

MapGrid

A background tab stylelabels the index gridusing square, round, orrounded-square boxes

ICloneIGraphicsComposite

IMapGridIPersist

IPersistStream

MapGrid

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

ISimpleMapGridBorder SimpleMap-GridBorder

ICalibratedMapGridBorder Calibrated-MapGrid-

Border

A simple map gridborder is composed ofsimple lines

A calibrated map gridborder is composedof a graduated band

A map grid border isthe set of lines thatoutline the map grid

IGraphicsCompositeIMapGridBorderIPersistStream

MapGrid-Border

Style gallery

NumberFormat

An enumeration of style galleryitems

Style items provide access to theindividual map elements andsymbols that make up a style

Style selectors provide you with themeans to interactively choose or

edit a style item

Using the style gallery coclasses, youcan create various types of style items

AreaPatchStyleGalleryClassBackgroundStyleGalleryClassBorderStyleGalleryClassColorRampStyleGalleryClassColorStyleGalleryClassFillSymbolStyleGalleryClassLabelStyleGalleryClassLegendItemStylGalleryClassLinePatchStyleGalleryClassLineSymbolStyleGalleryClassMapGridStyleGalleryClassMarkerSymbolStyleGalleryClassNorthArrowStyleGalleryClassScalebarStyleGalleryClassScaleTextStyleGalleryClassShadowStyleGalleryClassTextSymbolStyleGalleryClass

IPersistStreamIStyleGallery

IStyleGalleryStorage StyleGallery

IEnumStyleGalleryItem EnumStyle-GalleryItem

ICloneIStyleGalleryItem

IPersistIPersistStream

Style-GalleryItem

IStyleDialog Style-References-

Dialog

IComPropertySheetEventsIStyleDialog

Style-Manager-

DialogGives you access to the ArcMap

Style Manager dialog box

Gives you access to the ArcMapStyle References dialog box

A style gallery is a collection ofstyles. Each ArcMap documenthas a style gallery associated withit. Using this style gallery, you canaccess the styles referenced bythat document

*

IStyleGalleryClass StyleGallery-Class

MapGrid-Selector

IMapGridSelector

StyleSelectorIComPropertySheetEvents

IStyleSelector

BackgroundSelectorBorderSelectorLabelStyleSelectorLegendItemSelectorNorthArrowSelectorScaleBarSelectorScaleTextSelectorShadowSelector

IRateFormat

RateFormat

IAngleFormat

AngleFormat

IPercentageFormat Percentage-Format

ILatLonFormatILatLonFormat2 LatLon-

Format

INumericFormat Numeric-Format

IFractionFormat Fraction-Format

ICustomNumberFormat CustomNum-berFormat

ICloneINumberFormat Number-

Format

Currency-Format

A scientific format objectconverts numbers with

exponent values

A fraction format objectconverts fractional values

A custom number formatconverts a wide range of

numeric formats

A currency formatobject convertscurrency values

Numeric format objectsconvert to and fromangle, latitude-longitude,percentages, and ratevalues.

Number format objectsconvert values to textstrings and vice versa

Scientific-Format

IScientificNumberFormat

Annotate layer properties holds a set oflabeling properties for a feature layer

Basic overposter layer propertiesspecify label placement andconflict resolution properties

Label engine layer properties specifylabeling properties for a feature layer Line label placement priorities specify

conflict resolution weights for labelsplaced relative to line features

Line label position specifies the desiredlabel position and placement option forlabels placed relative to line features

Point placement priorities specifyconflict resolution weights for labels

placed relative to point featuresLabeling

ICloneILineLabelPosition

IPersistIPersistStream

LineLabel-Position

IAnnotateLayerPropertiesIAnnotateLayerTransformationProperties

IAnnotatePropertiesIClone

ILabelEngineLayerPropertiesIPersistStream

LabelEngine-Layer-

Properties

ICloneILineLabelPlacementPriorities

IPersistIPersistStream

LineLabel-Placement-

Priorities

ICloneIPersist

IPersistStreamIPointPlacementPriorities

Point-Placement-

Priorities

IAnnotateLayerPropertiesCollectionIPersist

IPersistStream

Annotate-Layer-

Properties-Collection

IAnnotationExpressionEngineICodedValveAttributes

IPersistIPersistStream

Annotation-Expression-

Engine

Annotation-VBScript-Engine

Annotation-JScript-Engine

IBarrierCollection Barrier-CollectionA barrier collection holds a

set of geometries used asbarriers in label placement

An annotation Java Script enginespecifies a label expression basedon Java Script

An annotation VB Scriptengine specifies a label

expression based on VB Script

IBasicOverposterLayerPropertiesIBasicOverposterLayerProperties2

ICloneIOverposterLayerProperties

IPersistIPersistStream

BasicOver-posterLayer-Properties

Application

Page layout

SpatialBookmark

ISpatialBookmarkIPersist

IPersistStreamSpatial-

Bookmark

IAOIBookmark AOI-Bookmark

IFeatureBookmark Feature-BookmarkA feature bookmark stores information

about a particular feature so that it canbe quickly found again

An area of interest is a map extentyou would create when zooming in

or panning the display

A scale bargraphicallyshows amap's scale

Patches are individual colorboxes in a legend

*

ILinePatch

LinePatch

AlternatingScaleBarDoubleAlternatingScaleBar

HollowScaleBar

IDoubleFillScaleBar DoubleFill-ScaleBar

IGraphicsCompositeIPropertySupport

IScalebarIScaleMarks

ITransformEvents

Scalebar

IMapInset

MapInset

IScaleTextIPropertySupport

ITransformEvents ScaleText

Map surrounds are associated with a dataframe and provide a cartographic context forthe geographic data and extent.

MapSurround

MapTitle

IActiveViewEventsIGraphicsComposite

ILegendIPropertySupport

IReadingDirection

Legend

Scale line scale bars are repre-sented with a single line symbol

Stepped-ScaleLine

IScaleLine

ScaleLine

Double-fill scale bars are symbolizedusing two fill symbols

IAreaPatch

AreaPatch

IOverview

Overview

Legend items are theindividual parts of a legend

IGraphics-Composite

IMarkerNorthArrowIPropertySupport

ITransformEvents

Marker-NorthArrow

INorthArrow

NorthArrow

An overview displays the fullmap extent of a dataframe,together with a box graphicshowing the current mapextent

Marker North arrows use acharacter marker symbol

The North arrow object is a baseclass for all north arrow types

A scale text mapsurround is a textelement thatdescribes the map'sscale

A map title is a text element describing amap

A map inset is a magnified view of a map

A legend is a list ofsymbol appearing on

a map

A legend formatmanages a legend'sdefault properties

ILegendClassFormatIPersist

IPersistStreamLegendClass-

Format

Legend class format objects controleach legend item's presentation

IHorizontalBar-LegendItem

IVerticalLegendItem

Horizontal-BarLegend-

Item

IHorizontalLegendItem Horizontal-LegendItem

IHorizontalLegendItemINestedLegendItem Nested-

LegendItem

IVerticalLegendItem Vertical-LegendItem

Single-Division-ScaleBar

ISingleFillScaleBar SingleFill-ScaleBar

Single-fill scale bars aresymbolized using one fill symbol

ICloneILegendFormatILegendLayout

IPersistIPersistStream

Legend-Format

ICloneILegendItem

ILegendItem2IPersist

IPersistStream

LegendItem

ICloneIPatch

IPersistIPersistStream

Patch

IBoundsPropertiesIClone

IConnectionPointContainerIMapSurround

IMapSurroundEventsIPersist

IPersistStream

MapSurround

ITableWindowITableWindow2

Table-Window

IActiveViewEventsIDocumentEvents

IMapSurroundEventsIOverviewWindow

IPersistStream

Overview-Window

ICloneITableControl

ITableControlInfoITableControlWidth

ITableOutputITableView

ITableView2ITableViewTableFields

TableView

IDataWindow

DataWindow

IActiveViewEventsIDocumentEvents

ILensWindowIMapInsetWindow

IMapSurroundEventsIPersistStream

MapInset-Window

Page

ICloneIConnectionPointContainer

IFramePropertiesIPage

IPageEventsIPersist

IPersistStreamIPropertySupport

IGraphicElement Graphic-Element

MultiPatch-Element

The page layout is ArcMap's version of a hardcopy outputpage. A typical page layout may have a map and graphic

elements representing a title, north arrow and legend

A CAD feature layer displays a CADfeature class from a drawing

A coverage annotationlayer displays annotation

from a coverage

A TIN layerdisplays 3Dsurface data

Layer

Coverage-Annotation-

Layer

IAttributeTableIBarrierProperties

IBarrierProperties2ICoverageAnnotationLayer

ICoverageAnnotationLayer2IDataLayer

IDataLayer2IFeatureLayer

IFindILayerFields

ILayerInfoITableFields

RasterLayerDocumented in

chapter 13,"Integrating raster

data"

IAttributeTableIClass

IConnectionPointContainerIDataLayer

IDataLayer2IDataset

IDisplayAdminIDisplayRelationshipClass

IDisplayTableIGeoReference

IIdentifyILayerDrawingProperties

ILayerEffectsILayerEvents

ILayerExtensionsILayerFields

ILayerInfoILayerPosition

ILegendInfoIObjectClassIRasterLayer

IRelationshipClassCollectionIRelationshipClassCollectionEdit

ITableITableFields

ITableSelection

FeatureClass in GeodatabaseRenderer in Display

*

A layer is used to displaygeographic information on a map

A group layer is a groupof layers that appear and

act like a single layer inthe table of contents

A hyperlink displayslinked data, such as text

files or Web pages,when you click it

A composite graphics layermanages other graphics layer, but is

also a graphics layer itself

An FDO graphics layer is a layer basedon an annotation feature class in ageodatabase

A dimension layer displaysdescriptive text and supporting

graphics (such as leader lines) thatare associated with map features

An Internet map server layer displays datafrom an image service on the Internet

Graphics layers manage thegraphics associated with a map

GroupLayer

ICompositeLayerIConnectionPointContainer

IDisplayAdminIGroupLayer

IIdentifyIIdentify2

ILayer2ILayerEvents

ILayerInfoILayerPosition

IMapLevel

A feature layer displaysdata from a feature classon a map

IGeoDatasetILayer

IPersistIPersistStream

Layer

IMSMap-Layer

ICompositeLayerICompositeLayer2

IDataLayerIDataLayer2

IDisplayAdminIDisplayFilterManager

IIdentifyIIdentify2

IIMSMapLayerILayerDrawingProperties

ILayerEffectsILayerInfo

ILayerPosition

Composite-Graphics-

Layer

ICompositeGraphicsLayerICompositeLayer

IGeoDatasetSchemaEditIGraphicsLayerScale

Dimension-Layer

IAttributeTableIDimensionLayer

IClassIConnectionPointContainer

IDataLayerIDataLayer2

IDatasetIDisplayAdmin

IDisplayFilterManagerIDisplayRelationshipClass

IDisplayTableIFeatureLayer

IFeatureLayer2IFeatureLayerDefinition

IFeatureLayerSelectionEventsIFeatureSelection

IFindIHotlinkContainer

IHotlinkMacroIHyperlinkContainer

IIdentifyIIdentify2

ILayer2ILayerDrawingProperties

ILayerEffectsILayerEvents

ILayerExtensionsILayerFields

ILayerInfoILayerPosition

IMapLevelIObjectClassSchemaEvents

IPropertySupport IRelationshipClass-

CollectionIRelationshipClass-

CollectionEditITable

ITableFieldsITableSelection

A CAD layer displays aCAD drawing

*HyperlinkIHyperlink

IPersistIPersistStream

A CadAnnotationLayeris used to control the

symbology of theannotation features

from a CAD layer

CadFeature-Layer

IAttributeTableICadDrawingLayers

ICadTransformationsIClass

IConnectionPointContainerIDataLayer

IDataLayer2IDataset

IDisplayAdminIDisplayFilterManager

IDisplayRelationshipClassIDisplayTableIFeatureLayer

IFeatureLayer2IFeatureLayerDefinition

IFeatureSelectionIFind

IGeoFeatureLayerIHotlinkContainer

IHotlinkMacroIHyperlinkContainer

IIdentifyIIdentify2

ILayer2ILayerDrawingProperties

ILayerEffectsILayerExtensions

ILayerFieldsILayerInfo

ILayerPositionILegendInfo

IMapLevelIObjectClassSchemaEvents

IPropertySupportIRelationshipClassCollection

IRelationshipClassCollectionEditITable

ITableFieldsITableSelection

IAttributeTableIClass

IConnectionPointContainerIDataLayer

IDataLayer2IDataset

IDisplayAdminIDisplayFilterManager

IDisplayRelationshipClassIDisplayTableIFeatureLayer

IFeatureLayer2IFeatureLayerDefinition

IFeatureLayerSelectionEventsIFeatureSelection

IFindIGeoFeatureLayerIHotlinkContainer

IHotlinkMacroIHyperlinkContainer

IIdentifyIIdentify2

ILayer2ILayerDrawingProperties

ILayerEffectsILayerEvents

ILayerExtensionsILayerFields

ILayerInfoILayerPosition

ILegendInfoIMapLevel

IObjectClassSchemaEventsIPropertySupport

IRelationshipClassCollectionIRelationshipClassCollectionEdit

ITableITableFields

ITableSelection

Feature-Layer

Graphics-Layer

IBarrierPropertiesIBarrierProperties2IConnectionPoint-

ContainerIGraphicsContainer

IGraphics-ContainerSelectIGraphicsLayer

IOverflow-GraphicsContainer

ISelectionEvents

FDO-Graphics-

Layer

IAttributeTableIClass

IDataLayerIDataLayer2

IDatasetIDisplayAdmin

IDisplayFilterManagerIDisplayRelationshipClass

IDisplayTableIFDOAttributeConversion

IFDOGraphicsLayerIFeatureLayer

IFeatureLayer2IFeatureLayerDefinition

IFeatureSelectionIFind

IHotlinkContainerIHotlinkMacro

IHyperlinkContainerIIdentify

IIdentify2ILayer2

ILayerEffectsILayerEvents

ILayerExtensionsILayerFields

ILayerInfoILayerPosition

IMapLevelIObjectClassEvents

IObjectClassSchemaEventsIPropertySupport

IRelationshipClassCollectionIRelationshipClassCollectionEdit

ITableITableFields

ITableSelection

CadLayer

ICadLayerICad3DRenderModeICadDrawingLayers

ICadTransformationsIConnectionPointContainer

IDataLayerIDataLayer2

IDisplayAdminIIdentify

ILayerEffectsILayerExtensions

ILayerInfoILayerPosition

TinLayer

IConnectionPointContainerIDataLayer

IDataLayer2IDisplayAdmin

IDisplayFilterManagerIIdentify

ILayerDrawingPropertiesILayerEffectsILayerEvents

ILayerExtensionsILayerFields

ILayerInfoILayerPosition

ILegendInfoITableFields

ITinLayer

Raster-CatalogLayer

Documented inchapter 13,

"Integrating rasterdata"

IConnectionPointContainerIDataLayer

IDataLayer2IDisplayAdmin

IIdentifyILayerEffectsILayerEvents

ILayerDrawingPropertiesILayerExtensions

ILayerInfoILayerPosition

ILegendInfoIRasterCatalogLayer

Cad-Annotation-

Layer

IAttributeTableIBarrierProperties

IBarrierProperties2ICadDrawingLayers

ICadTransformationsICoverageAnnotationLayer

ICoverageAnnotationLayer2IDataLayer

IDataLayer2IFeatureLayer

IFindILayerFields

ILayerInfoITableFields

Display

CmykColorICmykColor

IPostScriptColor

GrayColorIGrayColor

HlsColorIHlsColor

HsvColorIHsvColor

RgbColorIRgbColor

Colors and ramps

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

optimum print reproduction

A gray color is defined asa percentage of black

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

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

An RGB color is composed ofred, green, and blue for optimum

screen display.

*

CieLab-Conversion

ICieLabConversion

Color-Selector

IColorSelector

Random-ColorRamp

IRandomColorRamp

PresetColor-Ramp

IPresetColorRamp

MultiPart-ColorRamp

IMultiPartColorRamp

Algorithmic-ColorRamp

IIAlgorithmicColorRamp

A color ramp is a seriesof colors

An algorithmic colorramp is a sequentialseries of colors

A multipart colorramp is a collectionof other color ramps

A preset color rampis a series of 13specific colors

A random color ramp is aseries of randomizedcolors within certain limits

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

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

A ColorSelector allows you to edit acolor according to the RGB, CMYK,

or HSV color model

ICloneIColor

IPersistIPersistStream

Color Color-Browser

IColorBrowser

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

ColorPaletteIColorPalette

ICustomColorPalette

Monitor-Settings

IMonitorSettings

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

Feature renderers

A feature renderer draws featuresto a display from a feature class

A biunique value renderer combinesthe symbols of a unique value

renderer and a class breaks renderer

A chart rendererdraws pie, bar, and

stacked bar chartsymbols based onattributes of each

feature

A class breaks renderercan be used to draw

graduated color(choropleth) and

graduated symbol maps

A dot-density renderer drawsvarying densities of dots within

polygon features

A simple renderer drawseach feature using thesame symbol

The unique valuerenderer defines thesymbol a feature is tobe drawn with basedon an attribute value

FeatureLayerin ArcMap

BiUnique-Value-

Renderer

IBivariateRenderer

DotDensity-Renderer

IDataExclusionIDotDensityRenderer

IDotDensityUIRendererIRendererFields

Feature-Renderer

IFeatureRendererILegendInfo

IPersistIPersistStream

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

A scale-dependent renderer ismade of multiple renderers, eachoperating within a scale range

ICalcRendererValues Calc-Renderer-

ValuesCalcRendererValues is a utility object usedto perform simple statistical calculations ona feature layer for use by renderers

*

Legend-Class

ILegendClassIPersist

IPersistStream

The legend group contains a collectionof legend class objects

IScaleDependent-Renderer

Scale-Dependent-Renderer

Legend-Group

ILegendGroupIPersist

IPersistStream

*

Proportional-Symbol-Renderer

IBarrierProperties2IDataExclusion

IDataNormalizationIRotationRenderer

IProportional-SymbolRenderer

The legend class contains a symboland some text in the form of a label

and description to describe whatthat symbol represents

Simple-Renderer

IDisplayAdminILevelRendererILookupSymbol

IPropertySupportIRotationRenderer

ISimpleRendererITransparencyRenderer

Chart-Renderer

IBarrierProperties2IBasicOverposterEvents

IChartRendererIDataExclusion

IDataNormalizationIIdentify

IPieChartRendererIRendererFields

ColorRampIClone

IColorRampIPersist

IPersistStream

Simple-Display

A display transformation manages the map todevice transformation for each type of display

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

A simple display object abstracts allother devices that can be rendered to

using a Windows Device Contextsuch as printers and metafiles

Display objects are used to draw graphicson a variety of output devices

Screen-Display

IScreenDisplayITransformEvents

Display-Trans-

formation

IConnectionPointContainerIDelayEvents

IDisplayTransformationIRasterOutputSettings

ITransformationITransformEvents

DisplayIConnectionPointContainer

IDisplayIDisplayEvents

IDraw

Display

Rubber band

A rubber circle object allowsthe user to input circles on

the display

A rubber envelope objectallows the user to input and

move envelopes on the display

A rubber line object allows theuser to input and movepolylines on the display

A rubber point object allows the userto input and move points on thedisplay

A rubber polygon object allows theuser to input and move polygons onthe display

A rubber rectangular objectallows the user to input and movepolygons, which are constrainedto be rectangular, on the display

Rubber-Envelope

RubberPoint

RubberLine

Rubber-Polygon

RubberBandIRubberBand

Rubber-Rectangular

-Polygon

Rubber-Circle

Natural-Breaks

ClassifyIClassify

Defined-Interval

IClassifyMinMaxIIntervalRange

Equal-Interval

IClassifyMinMax

Quantile

Standard-Deviation

IDeviationInterval

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

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

The natural breaks classification produces classes whichhighlight natural groupings by minimizing variance withina class and maximizing variance between classes

The standard deviation classification creates classesthat represent dispersion about the mean value

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

Table-Histogram

IDataNormalizationIHistogram

IStatisticsResultsITableHistogram

The table histogram is a datastructure used to set data to adata classification

Classify

Frame decorations are adornments toframe elements, such as backgrounds,shadows, and neatlines

The symbol shadow draws ashadow around a frame element

The symbol border draws anoutline for a frame element

The symbol background draws abackground fill for a frame element

Symbol-Background

IBackgroundISymbolBackground Symbol-

Border

IBorderISymbolBorder Symbol-

Shadow

IShadowISymbolShadow

Frame-Decoration

ICloneIFrameDecoration

IGraphicsCompositeIPersist

IPersistStream

Frame decoration

Selection tracker

Envelope-Tracker LineTracker Point-

TrackerPolygon-Tracker

Selection-Tracker

ISelectionTracker

Callout-Tracker

ICalloutTracker

AnchorPointIAnchorPoint Rotate-

Tracker

IRotateTracker Scale-Tracker

IScaleTracker

An anchor point is useful forrotating elements and features

Selection trackers manage thehandles of selected elements

A rotate tracker manages the userinterface for rotating features or elements

A scale tracker controls the user interfacefor scaling features or elements

Cancel-Tracker

ITrackCancel

A cancel tracker provides a mechanismfor the user to stop a process

ICartographicMarkerSymbolICharacterMarkerSymbol

IMarkerMaskCharacter-

MarkerSymbol

Simple-MarkerSymbol

IMarkerMaskISimpleMarkerSymbol

Arrow-MarkerSymbol

IArrowMarkerSymbolIMarkerMask

Picture-MarkerSymbol

ICartographicMarkerSymbolIMarkerMask

IPictureMarkerSymbol

A character marker symbol is asingle glyph from a TrueType font

A simple marker symbol is asquare, circle, diamond, cross, or x

An arrow marker symbol is atriangular arrowhead

A picture marker symbol is a bitmapimage or enhanced metafile

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

MultiLayer-MarkerSymbol

IMultiLayerMarkerSymbolILayerVisible

ILayerColorLockIMarkerBackgroundSupport

IMask

Cartographic-LineSymbol

ICartographicLineSymbolILineProperties

A cartographic line symbol has flexibleproperties to create dot-dash patterns,decorations such as arrowheads, and

line join and cap styles

A line decoration maintains a set of line decorationelements, which are symbols drawn along a line

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

Line-Decoration-

Editor

ILineDecorationEditor

The line decoration editor edits theproperties of a line decoration

PictureLine-Symbol

IPictureLineSymbol

MarkerLine-Symbol

IMarkerLineSymbol

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

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

Line-Decoration

ICloneILineDecoration

IPersistIPersistStream

HashLine-Symbol

IHashLineSymbol

*

MultiLayer-FillSymbol

IMultiLayerFillSymbolILayerColorLock

ILayerVisible

LineFill-Symbol

ILineFillSymbol

GradientFill-Symbol

IGradientFillSymbol

MarkerFill-Symbol

IFillPropertiesIMarkerFillSymbol

PictureFill-Symbol

IFillPropertiesIPictureFillSymbol

SimpleFill-Symbol

ISimpleFillSymbol

A gradient fill symbol is aseries of colors

A line fill symbol is a regularseries of lines at any angle

A marker fill symbol is a grid ofmarker symbols

A picture fillsymbol is a gridof pictures

A simple fill symbol is asolid or hatched fill

A multilayer fillsymbol is a stack ofother fill symbols

A dot-density fill symbol is a data-driven symbol commonly used withthe dot-density renderer.

DotDensity-FillSymbol

IDotDensityFillSymbolIDotDensityMasking

ISymbolArray

Text symbols3D chart symbols

Stacked-Chart-

Symbol

IStackedChartSymbol

The stacked chartsymbol draws a

stacked bar chart

Chart-Symbol-Editor

IChartSymbolEditor

The pie chart symboldraws a pie chart

The bar chart symboldraws a bar chart

The chart symbol editor can beused to allow users to edit the

properties of a chart symbol

A 3D chart symbol is a symbolused by a chart renderer

Symbols

LineSymbolILineSymbol

IMapLevelIPropertySupport

SymbolIClone

IPersistIPersistStream

ISymbol

Marker-Symbol

IMapLevelIMarkerSymbol

IPropertySupportISymbolRotation

3DChart-Symbol

I3DChartSymbolIChartSymbol

IMarker-BackgroundSupport

IMarkerSymbolISymbolArray

TextSymbol

IFormattedTextSymbolIMapLevel

IMaskIPropertySupport

ISimpleTextSymbolISymbolRotation

ITextSymbol

Symbol-Selector

ISymbolSelector Symbol-Editor

ISymbolEditor The Symbol Editor dialogbox is used to edit thedefinition of any symbol

The Symbol Selector dialogbox presents all symbols inreferenced style files

Symbols are used for drawingfeatures and elements on a map andhave attributes such as color and size

Symbology-Environment

IClassFactoryISymbologyEnvironment

The symbology environmentcontrols certain details ofsymbology display

The geometry draw can beused to draw any geometryto a display

SimpleText-Path

BezierText-Path

Text-Background

ICloneITextBackground

IPersistIPersistStream

MarkerText-Background

IMarkerTextBackground

CalloutICallout

IQueryGeometry

Balloon-Callout

IBalloonCalloutITextMargins

LineCalloutILineCallout

IMarkerBackgroundITextMargins

TextPathIPersist

ITextPath

Overposter-TextPath

IOverposterTextPath

A Bezier text path is used todraw text along a curve, fromits start to endpoints

An overposter text pathis used internally by theArcObjects label engine

A simple textpath is used todraw text thatfollows a straightor curved line.

A text path defines aline along which apiece of text is placed

A marker text background is a marker symboldrawn as a background to a piece of text

A callout draws a backgroundbehind a piece of text, with aleader line to an anchor point

A balloon calloutdraws a balloon

behind a piece of text

A line callout draws a line froman anchor point to a piece of

text, and draws a rectangularbackground behind the text

An text symbol defines a Font and manyformatting properties of a piece of text.

Text-Background-

Editor

ITextBackgroundEditor

Text-Symbol-Editor

ITextSymbolEditor The text symbol editor is a dialogbox used for editing the propertiesof an existing text symbol

The text background editor is a dialogbox used for editing the properties oftext backgrounds like a callout

SimpleLine-Callout

ISimpleLineCallout

A simple line callout draws a custom lineshape as a leader line to a TextSymbol

FontSizeIClone

IFontSizeIPersist

IPersistStream

The font size object is used byArcMap to determine thedefault size for new text

SimpleLine-Decoration-

Element

ICloneILineDecorationElement

IPersistIPersistStream

ISimpleLineDecorationElement

TemplateIClone

IPersistIPersistStream

ITemplate

A template defines the seriesof dots, dashes, and gapsalong a cartographic line

FillSymbolIFillSymbolIMapLevel

IPropertySupport

A multilayer line symbol is astack of other line symbols

Marker symbols Line symbols Fill symbols

MultiLayer-LineSymbol

IMultiLayerLineSymbolILayerVisible

ILayerColorLock

A simple line symbol is a solid line or onewith predefined series of dots and dashes

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

SimpleLine-Symbol

ISimpleLineSymbol

Geometry-Draw

IGeometryDrawISupportErrorInfo

BarChart-Symbol

IBarChartSymbol

PieChart-Symbol

IPieChartSymbol

Display-Feedback

IDisplayFeedback

Display feedback

Creates a feedback on the displayfor moving an envelope

Creates a feedback on thedisplay for moving a point on a

line

Creates a feedback on thedisplay for a group of

feedback objects

Creates a feedbackon the display for

moving a point on aBézier curve

Creates a feedback on the display formoving a geometry by reference

Creates a feedback on the display formoving a line

Creates a feedback on the display for moving apoint

Creates a feedback on the display for moving apolygon

Creates a feedback on the displayfor adding a new Bezier curve

Creates a feedback on the display foradding a new envelope

Creates a feedback on the displayfor adding a new line

Creates a feedback on the displayfor adding a new multipoint

Creates a feedback on the displayfor adding a new polygon

Creates a feedback on the displayfor moving a point in a polygon

Creates a feedback on the display forreshape

Creates a feedback on the display forresizing an envelope

Creates a feedback on the display forstretching all the vertices on a polyline

Creates a feedback on the display forediting vertices of a geometry by reference

Creates a feedback on the display formoving an image of symbolized elements

or features

BezierMove-Point-

Feedback

ILineMovePointFeedback

Group-Feedback

ISet

LineMove-Point-

Feedback

ILineMovePointFeedback

Move-Envelope-Feedback

IMoveEnvelopeFeedback

Move-Geometry-Feedback

IMoveGeometryFeedback

MoveImage-Feedback

IMoveImageFeedbackIMoveImageFeedback2

MoveLine-Feedback

IMoveLineFeedback

MovePoint-Feedback

IMovePointFeedback

Move-Polygon-Feedback

IMovePolygonFeedback

NewBezier-Curve-

Feedback

INewBezierCurveFeedback

New-Envelope-Feedback

INewEnvelopeFeedbackINewEnvelopeFeedback2

NewLine-Feedback

INewLineFeedback

New-MultiPoint-Feedback

INewMultiPointFeedback

Creates a feedback onthe display for a callout

Callout-Feedback

ICalloutFeedback

Creates a feedback on the displayfor adding a new circle

NewCircle-Feedback

INewCircleFeedback

New-Dimension-Feedback

INewDimensionFeedback

Modify-Dimension-Feedback

IModifyDimensionFeedback

NewPolygon-Feedback

INewPolygonFeedback

Polygon-MovePoint-Feedback

IPolygonMovePointFeedback

Reshape-Feedback

IReshapeFeedback

Resize-Envelope-Feedback

IResizeEnvelopeFeedbackIResizeEnvelopeFeedback2

StretchLine-Feedback

IStretchLineFeedback

Vertex-Feedback

IVertexFeedback

Creates a feedback on the displayfor modifying a dimension shape

Creates a feedback on the displayfor adding new dimension shapes

-

Transparency-DisplayFilter

ICloneIDisplayFilter

IPersistIPersistStream

ITransparencyDisplayFilter

Class-Breaks-

Renderer

IBarrierProperties2IClassBreaksRenderer

IClassBreaksUIPropertiesIDataExclusion

IDataNormalizationIDataSampling

ILevelRendererILookupSymbol

IRotationRendererUnique-Value-

Renderer

ILevelRendererILookupSymbol

IRotationRendererITransparencyRendererIUniqueValueRenderer

Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and theESRI globe logo are trademarks of ESRI, registered in the UnitedStates and certain other countries; registration is pending in theEuropean Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene,ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap aretrademarks of ESRI and www.esri.com is a service mark of ESRI.

ArcObjects is the development platform for ArcGIS Desktop, a suite of GISsoftware systems: ArcInfo, ArcEditor, and ArcView. These systems serve GISprofessionals with a spectrum of geographic data management, spatial editing, andcartographic visualization functionality.

The ArcGIS Desktop systems each contain a configuration of applications, such asArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety ofextension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, andothers.

This object model diagram shows how ArcMap presents geographic informationthrough views and how ArcCatalog manages geodatabases. These are theArcObjects components documented in volume one of Exploring ArcObjects.

You will find updates to ArcObjects developer resources atwww.esri.com/arcobjectsonline.

ESRI® ArcObjects™ is the developmentplatform for the ArcGIS™ family of applications

such as ArcMap™, ArcCatalog™, andArcScene™. The ArcObjects software

components expose the full range of functionalityavailable in ArcInfo™, ArcEditor™, and

ArcView™ to software developers.

TM

TM

ESRI ArcGIS 8.1 Object ModelExploring ArcObjects • Volume 1 • Applications and cartography

TM

TM

®

13

10 11

12

9

8

Geodatabase

A workspace is acontainer of spatial and

nonspatial datasets suchas feature classes, raster

datasets, and tables

A workspace factory is a dispenserof workspaces and allows a clientto connect to a workspace

0..1

A workspace helper holds aback-reference from a workspace

extension to a workspaceA workspace extensionextends the functionalityof a workspace

TableNameIModelInfo

IObjectClassNameISupportErrorInfo

ITableName

Feature-ClassName

IFeature-ClassName

Raster-DatasetName

IDatasetFileNameStatIRasterDatasetName

TinName

Workspace-Extension

IWorkspaceExtensionIWorkspaceExtensionControlArcInfo-

Workspace-Factory

Shapefile-Workspace-

Factory

Workspace-Factory

IWorkspaceFactoryIWorkspaceFactory2

Sde-Workspace-

Factory

IRemoteDatabase-WorkspaceFactory

ISetDefaultConnectionInfoISetDefaultConnectionInfo2

Cad-Workspace-

Factory

IMS-Workspace-

Factory

OLEDB-Workspace-

Factory

Access-Workspace-

Factory

ILocalDatabaseCompact

IWorkspaceHelper Workspace-Helper

A workspace propertyprovides information

about a workspace

A configuration parameter specifies aphysical storage parameter for data

created in an ArcSDE database

A configuration keyword specifies a set ofstorage parameters in an ArcSDE database

IConfigurationKeyword Configuration-Keyword

IConfigurationParameter Configuration-Parameter

IWorkspaceProperty Workspace-Property

*

Object-ClassName

Relationship-ClassName

IRelationshipClassNameFeature-DatasetName

IFeatureDatasetName

Geometric-Network-

Name

IGeometricNetworkName

NameIName

IPersistIPersistStream

CadDrawing-Name

Dataset-Name

IDatasetNameIMetadata

IMetadataEditINativeTypeInfo

ISQLPrivilege

Dataset

Row,object,feature

RowBufferIRowBuffer

A row buffer is used fordata loading with cursors

A row is a record in a table. All rowsin a table have the same set of fields

An object is a row in ageodatabase table

Row

IRelatedObjectEventsIRow

IRowChangesIRowCompare

IRowEditIRowEvents

IrowSubtypesISupportErrorInfo

IValidate

A query definition representsa database query on one or

more tables or feature classes

QueryDefIQueryDef

A cursor can iterate overa set of rows in a tableor insert new rows

A query filter restricts the set ofrows retrieved from a table

EnumIDsIEnumIDs

SelectionSetISelectionSet

ISelectionSet2

QueryFilterIClone

IPersistStreamIQueryFilter

IQueryFilter2

Query,cursor,

selection

An enumeration ofIDs represents a setof object identifiers

SpatialFilterISpatialFilter

Feature-Cursor

CursorICursor

Relationship

Simple-Relationship

An attributed relationship storesattributes on a relationship and alsorepresents many-to-many relationships

RelationshipIRelationship

*

0..*

0..*

Attributed-Relationship-

Class

Attributed-Relationship

IObjectClassDescription ObjectClass-Description

IFeatureClassDescription FeatureClass-Description

INetworkClassDescription Network-Class-

Description

An object class descriptionhelps automate the creationof new object classes

A feature class descriptionhelps automate the creationof new feature classes

A network class descriptionhelps automate the creationof new network featureclasses

Dimension-Feature

IDimensionFeature

Annotation-Feature

IAnnotationFeature

Dimension-Graphic

IDimensionGraphic

An annotation featurepersists and drawsannotation in a geodatabase

A dimension graphicdraws dimensions

A dimension shapestores the geometryfor a dimension

Rule

Complex-EdgeFeature

IComplexEdgeFeatureIComplexNetworkFeature

Simple-EdgeFeature

ISimpleEdgeFeatureISimpleNetworkFeature

EdgeFeatureIEdgeFeature

Junction-Feature

IJunctionFeature

Feature-Element

IFeatureElementIFeatureElementEdit

A simple edge feature has oneedge element in the logicalnetwork

Junction features represent thenodes in a geometric network

Simple-Junction-Feature

ISimpleJunctionFeatureISimpleNetworkFeature

A simple junctionfeature has one

junction element inthe logical network

Edge featuresrepresent the lines ina geometric network.

A complex edgefeature has one tomany edgeelements in thelogical network

Feature elements encapsulate thegeometry of connection points on

complex junction features

Geometric network

GraphIDataset

IGraphIFeatureClassContainer

A graph is a set oftopologically related

feature classes

INetworkFeatureINetworkFeatureEvents Network-

Feature

IDatasetEditIGeoDataset

IGeometricNetworkIGeometricNetworkConnectivity

IGeometricNetworkErrorDetectionIMetadata

IMetadataEditINativeTypeInfo

ISchemaLock

Geometric-Network

Data converterA dimension feature persistsand draws dimensions in ageodatabase

1..*

The dataset name objects identify andlocate datasets within a workspace

A feature class is a type ofobject class that storesgeographic features

A table is a collection of rows withattributes stored in columns

An object class storesnongeographic entities

1..*1..*

0..1

IndexesIClone

IIndexesIIndexesEdit

IPersist

1..*

FieldsICloneIFields

IFields2IFieldsEdit

IPersist

IndexICloneIIndex

IIndexEditFieldICloneIField

IFieldEditIModelInfo

IPersist

Geometry-Def

ICloneIGeometryDef

IGeometryDefEditIPersist

Each table has a set of fields that describe thedata format of attributes. If a field represents a

geometry, GeometryDef specifies its particulars.An index can be optionally specified on a field

TableSortITableSort A table sort controls the order

in which rows are returnedfrom a table or feature class

0..*

PropertySetIClone

IPersistIPersistStream

IPropertySetIPropertySet2

TableIClassITable

ITableCapabilities

A property set is a generic classthat is used to hold a set ofproperties for anything

GeoDatasetIGeodataSchemaEdit

IGeoDataset

A geodataset is a type of datasetthat stores geographic data

A feature dataset storesvector data in feature classes

IDatasetContainerIFeatureDataset

INetworkCollectionINetworkCollection2

IFeatureClassContainerIRelationshipClassContainer

Feature-Dataset

INativeTypeInfoIRasterDataset

IRasterBandCollectionIRasterPyramid

ITemporaryDataset

Raster-Dataset

See chapter 13,'Integrating raster

data'

Workspace-Name

IWorkspaceNameIWorkspaceName2

Feature

IFeatureIFeatureBuffer

IFeatureChangesIFeatureDraw

IFeatureEditIFeatureEvents

IFeatureSimplify

RelationshipClass

IDatasetIRelationshipClass

IRelationshipClass2IRelClassSchemaEdit

A relationship class representsrelationships throughembedded foreign keys

An attributed relationshipclass is a table that storesrelationships. Many-to-many relationships can bestored in this class

A simple relationship representsone-to-one or one-to-manyrelationships without attributes

ObjectIObject

IRowSubtypes

Connectivity-Rule

IConnectivityRule

*Rule

IRule

Connectivity rules constrain whichnetwork features can be connected

IFeatureCursorA feature is a geographic

object with a geometric shape

0..1

IClassExtension Class-Extension

ClassHelperIClassHelper

A class helper is an intermediate objectused to avoid circular references between

an object class and a class extension

IConfirmSendRelatedObjectEvents (optional)IObjectClassExtension

IObjectInspector (optional)IObjectClassDescription (optional)

IObjectClassEvents (optional)IObjectClassValidation (optional)

IRelatedObjectClassEvents (optional)IRelatedObjectClassEvents2 (optional)

ObjectClass-Extension

Feature-Class-

Extension

IFeatureClassExtensionIFeatureClassCreation (optional)

IFeatureClassDescription (optional)IFeatureClassDraw (optional)

IFeatureClassEdit (optional)INetworkClassDescription (optional)

0..1

0..1

A class extension is a wayfor a programmer to addclass-wide customization,such as a custom form fordata inspection

Edge-Connectivity-

Rule

IEdgeConnectivityRule

Range-Domain

ICloneIRangeDomain

IPersist

DomainIDomain

ISchemaLock

A domain is used to specify thepermissible values that a field in an

object class may take

A coded-value domain is usedto specify a set of permissible

values that a field may take

A range domain is used to specifythe legal minimum and maximum

values that a field may have

*

Coded-ValueDomain

ICloneICodedValueDomain

IPersist

ArcInfo coverage

1..*

*

IWorkspaceFactoryIWorkspaceFactory2

ArcInfo-Workspace-

Factory

IWorkspaceName Workspace-Name

ICoverageFeatureClassNameIDatasetNameFileStat

IFeatureClassNameINativeTypeInfo

Coverage-Feature-

ClassName

ICoverageNameIDatasetNameFileStatIFeatureDatasetName

INativeTypeInfo

Coverage-Name

Dataset-Name

IDatasetNameIMetadata

IMetadataEdit

IArcInfoItemsIArcInfoItemsEdit ArcInfoItems

IArcInfoItemIArcInfoItemEdit ArcInfoItem

Feature-Class

ICoverageFeatureClassICoverageFeatureClass2

IFeatureClassIFeatureClassLoadIFeatureClassWrite

IGeoDatasetINetworkClass

TableIArcInfoTable

IClassITable

ITableCapabilities

ICoverageICoverage2

IFeatureDatasetINetworkCollection

IFeatureClassContainerIRelationshipClassContainer

Feature-Dataset

NameIName

The ArcInfoWorkspaceFactory is theentry point to access the geodatabasefor ArcInfo coverages and tables

A CoverageFeatureClassName identifies and locatesa feature class in a coverage and is used for

obtaining some basic properties of the feature class

The IArcInfoTable interface is usedto access and manage the items in

an INFO table

ICoverage providesinformation about

ArcInfo coverages andprocessing operations

The ICoverageFeatureClassinterface provides information

on an individual feature class ofan ArcInfo coverage

The ArcInfoItems object is used tomanage the item set, or collection

of items in an INFO table

IArcInfoWorkspace is usedto create new coverages or

INFO tables

The ArcInfoItem object represents afield of the INFO table, and is used to

create and manage individual fields

A CoverageName identifies andlocates a dataset object and

supports methods to instantiatethe actual named object

DatasetIDataset

IDatasetAnalyze (optional)IDatasetEdit

IDatasetEditInfoISchemaLock (optional)

Workspace

IArcInfoWorkspaceIDatabaseCompact (optional)

IDatabaseConnectionInfo (optional)IDataset

IDatasetContainerIFeatureWorkspace

IFeatureWorkspaceAnno (optional)IFeatureWorkspaceManage

IFeatureWorkspaceSchemaEditIGeodatabaseRelease (optional)

ISpatialCacheManagerISQLSyntax

ITransactions (optional)ITransactionsOptions (optional)

IWorkspaceIWorkspaceConfiguration (optional)

IWorkspaceDomains (optional)IWorkspaceDomains2 (optional)

IWorkspaceEditIWorkspaceEvents

IWorkspaceExtensionManager (optional)IWorkspaceProperties (optional)

IWorkspaceSpatialReferenceInfo

XY eventsAn XYEventSource is a point feature classwith features dynamically generated fromcoordinates in a table

An XYEventProperties providesinformation about an

XYEventSource

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

IXYEventSource XYEvent-Source*

NameIName

DatasetNameIDatasetName

An XYEventSourceNamerepresents an XYEventSource. An

XYEventSource can be createdfrom an XYEventSourceName

ICloneIPersistStream

ISupportErrorInfoIXYEvent2FieldsProperties

XYEvent2-Fields-

Properties

XYEvent-Properties

IXYEventProperties

XYEvent-SourceName

IFeatureClassNameIPersistStream

ISupportErrorInfoIXYEventSourceName

TableIClassITable

ITableCapabilities

Feature-Class

IFeatureClassIFeatureClassLoad (optional)

IFeatureClassWriteIGeoDataset

INetworkClass

ObjectClass

IClassSchemaEditIClassSchemaEdit2

IModelInfoIObjectClass

IObjectClassInfoIObjectClassInfo2

ISubtypesIValidation

IValidation2

DatasetIDataset

IDatasetAnalyze (optional)IDatasetEdit

IDatasetEditInfoISchemaLock (optional)

1..*

Dimension-Class-

Extension

IDimensionClassExtension

An annotation featureclass extension managesthe drawing ofannotation features

A dimension class extensionmanages the drawing of

dimension features

The dimension styles objectmanages a collection ofdimension style objects

A dimension style definesproperties for controlling the

symbology of dimensions

Annotation-FeatureClass-

Extension

IAnnoClassIAnnoClassAdmin

IAnnoClassAdmin2

Dimension-Styles

IDimensionStylesIPersistStream

Dimension-Style

ICloneIDimensionStyle

IDimensionStyleDisplayIDimensionStyleText

IPersistStream

Rules are associated with featureclasses or object classes and areused to validate features or objects

An attribute rule isthe application of anattribute domain toan attributeJunction-

Connectivity-Rule

IJunctionConnectivityRuleIJunctionConnectivityRule2

Attribute-Rule

IAttributeRule

Relationship-Rule

IRelationshipRule

Network features participate in ageometric network. Each feature isassociated with one or manyelements in a logical network

A relationshiprule constrainsthe cardinality ofa relationship

Dimension-Shape

ICloneIDimensionShape

IPersistIPersistStreamITransform2D

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

A workspace name specifiesa workspace object and canbe used to instantiate it

EnumInvalid-Object

IEnumInvalidObject

InvalidObject-Info

IInvalidObjectInfo

An invalid object enumeratorrepresents a set of objects thatfailed a data conversion process

Invalid object information explainswhy data could not be loaded

An object loader appendsdata to existing feature

classes or tablesA feature data converter lets you

convert data between geodatabases,shapefiles, and coverages

FeatureData-Converter

IFeatureDataConverterIFeatureDataConverter2

IFeatureProgressISupportErrorInfo

Object-Loader

IFeatureProgressIObjectLoader

ISupportErrorInfo

Field-Checker

IFieldChecker

Enum-FieldError

IEnumFieldError

FieldErrorIFieldError

Object-LoaderUI

IObjectLoaderUIIObjectLoaderUIProperties

A field error provides informationabout a field problem

A field error enumerator stores theproblems found by a field checker

A field checker will find potentialproblems in field names

The object loader user interface is thesame as that of the ArcMap object loader

A locator knows how to transforma spatial description into a shape

A route locator knows how totransform a route location into a shape

A route measure locator is aspecific kind of route locator

that requires a route identifierand one or two measure values

A route event sourceserves an event table as a

dynamic feature classA route location describes either a precise

location along a route or a portion of aroute between a from- and to-measure

Route event propertiesdescribe the characteristics

of an event table

IEventSourceErrorsIRouteEventSource RouteEvent-

Source*

**

IRouteMeasureLineLocation Route-Measure-

LineLocation

Route-Measure-Locator

LocatorNameILocatorName

Route-Measure-

LocatorName

IRouteLocatorNameIPersistStream

ISupportErrorInfoRouteEvent-SourceName

IFeatureClassNameIPersistStream

IRouteEventSourceNameISupportErrorInfo

DatasetNameIDatasetName

NameIName

A route measure locator namerefers to a route measure locator

A locator name refers to a locator

A route measure event geoprocessorfacilitates event overlay, dissolve, and

concatenation

A route eventsource name objectrefers to a routeevent source

IRouteMeasure-PointProperties

Route-MeasurePoint-

Properties

IRouteMeasureLine-Properties

Route-MeasureLine-

Properties

IRouteMeasurePointLocation Route-Measure-

PointLocation

TableIClassITable

ITableCapabilities

Feature-Class

IFeatureClassIFeatureClassLoad (optional)

IFeatureClassWriteIGeoDataset

INetworkClass

ObjectClass

IClassSchemaEditIClassSchemaEdit2

IModelInfoIObjectClass

IObjectClassInfoIObjectClassInfo2

ISubtypesIValidation

IValidation2

DatasetIDataset

IDatasetAnalyze (optional)IDatasetEdit

IDatasetEditInfoISchemaLock (optional)

LocatorILocator

ILocatorFullName

Route-Measure-Locator

IRouteLocator

RouteEvent-Properties

ICloneIPersistStream

IRouteEvent-Properties

ISupportErrorInfo

Route-Measure-Location

IRouteLocationISupportErrorInfo

Route-Measure-

Geoprocessor

IRouteMeasure-EventGeoprocessor

ISupportErrorInfo

Dynamicsegmentation

Workspace and name

An XML property set stores themetadata for a dataset

Xml-PropertySet-

Edit

IXmlPropertySetEdit

FGDC-Synchroni-

zationHelper

ISynchronizationHelper

XML property set edit is an alternativeto using an XML property set for

changing metadata

The FGDC synchronization helperhelps translate dataset properties intometadata properties

GxObject,Name,

Dataset, TIN,Geometric-Network,

other objects

IMetadataIMetadataEdit

Xml-PropertySet

IPersistStreamInitIPropertySet

ISupportErrorInfoIXmlPropertySet

IXmlPropertySet2

Metadata

A geometric network is a type ofgraph that is uniquely associatedwith a logical network thatrepresents network topology

Versioning

Enum-VersionInfo

IEnumVersionInfo

VersionInfoIVersionInfo

Difference-Cursor

IDifferenceCursor

Versioned-Workspace

IVersionIVersionEdit

IVersionedWorkspace

A versioned workspace supportsmultiuser editing and multiple

representations of features classes andtables in a relational database system

A version information enumeratorcontains available versions for

obtaining properties

Version information contains read-onlyinformation to describe version properties A difference cursor

returns all the differencesbetween two versionsbased on a difference type

A conflict class enumeratorreturns all classes containingconflicts after performing areconcile

Conflicts-Window

IConflictDisplayIConflictsWindow

IConflictsWindow2IExtension

Version-Manager

IVersionManagerIVersionManagerEvents

The conflictswindow providesaccess to the editorconflicts window

The version manager provides auser interface to create and manageversion properties

Enum-ConflictClass

IEnumConflictClass

Dataset

IDatasetIDatasetAnalyze (optional)

IDatasetEditIDatasetEditInfo

ISchemaLock (optional)IVersionedObject

IVersionedObject2

TableIClass

IConflictClassITable

ITableCapabilitiesIVersionedTable

Workspace

IDatabaseCompact (optional)IDatabaseConnectionInfo (optional)

IDatasetIDatasetContainer

IFeatureWorkspaceIFeatureWorkspaceAnno (optional)

IFeatureWorkspaceManageIFeatureWorkspaceSchemaEdit

IGeodatabaseRelease (optional)ISpatialCacheManager

ISQLSyntaxITransactions (optional)

ITransactionsOptions (optional)IWorkspace

IWorkspaceConfiguration (optional)IWorkspaceDomains (optional)

IWorkspaceDomains2 (optional)IWorkspaceEdit

IWorkspaceEventsIWorkspaceExtensionManager (optional)

IWorkspaceProperties (optional)IWorkspaceSpatialReferenceInfo

A relationship defines ageneral association betweentwo objects or features

A selection set references a setof rows by a selection criteria

A spatial filter is a query filter thatincludes spatial and attribute constraints

A feature cursorreferences a setof features

Table,object class,feature class

On-the-fly table joins TableIClass

IDatasetITable

A RelQueryCursor is a cursor thatreferences the rows in a RelQueryTable

SelectionSetISelectionSet

ISelectionSet2

QueryFilterIQueryFilter

IQueryFilter2

CursorICursor

SpatialFilterISpatialFilter

A RelQueryRow is a recordin a RelQueryTable

A RelQueryTable is atable with rows and

columns derived froma joined pair of tables

IFeatureClass (optional)IObjectClass

IRelQueryTableIRelQueryTableInfo

IRelQueryTableManageIVirtualTable

RelQuery-Table

DatasetNameIDatasetName

NameIName

Relationship-ClassName

IRelationshipClassName

Memory-Relationship-ClassName

IMemoryRelationshipClassName

RelQuery-TableName

IRelQueryTableName

A RelQueryTable name is an object thatrepresents a RelQueryTable. A RelQueryTable

can be created from a RelQueryTable name

A memory relationship class name is an object that representsa memory relationship class. A memory relationship class can

be created from a memory relationship class name

RelQueryRow

IFeature (optional)IFeatureBuffer (optional)IFeatureDraw (optional)

IObjectIRow

IRowBuffer

RelQuery-TableFactory

IRelQueryTableFactory

RelQuery-Cursor

IFeatureCursor (optional)

Relationship-Class

IDatasetIRelationshipClass

IRelationshipClass2

Memory-Relationship-

Class

Memory-Relationship-ClassFactory

IMemoryRelationship-ClassFactory

A memory relationship class isa type of simple relationship

class where the origin anddestination classes can be from

different workspaces

A memory relationship classfactory manages the memoryrelationship classes that exist

in the application

A RelQueryTableFactorymanages the RelQueryTables

that exist in the application

Complex-Junction-Feature

IComplexJunctionFeatureIComplexNetworkFeature

IFeatureConnectIFeatureSnap

A complex junctionfeature has one tomany junction andedge elements inthe logical network

Class extension

Feature-Class

IFeatureClassIFeatureClassLoad (optional)

IFeatureClassWriteIGeoDataset

INetworkClass

ObjectClass

IClassSchemaEditIClassSchemaEdit2

IModelInfoIObjectClass

IObjectClassInfoIObjectClassInfo2

ISubtypesIValidation

IValidation2

DatasetIDataset

IDatasetAnalyze (optional)IDatasetEdit

IDatasetEditInfoISchemaLock (optional)

Workspace

IDatabaseCompact (optional)IDatabaseConnectionInfo (optional)

IDatasetIDatasetContainer

IFeatureWorkspaceIFeatureWorkspaceAnno (optional)

IFeatureWorkspaceManageIFeatureWorkspaceSchemaEdit

IGeodatabaseRelease (optional)ISpatialCacheManager

ISQLSyntaxITransactions (optional)

ITransactionsOptions (optional)IWorkspace

IWorkspaceConfiguration (optional)IWorkspaceDomains (optional)

IWorkspaceDomains2 (optional)IWorkspaceEdit

IWorkspaceEventsIWorkspaceExtensionManager (optional)

IWorkspaceProperties (optional)IWorkspaceSpatialReferenceInfo

Spatial reference

A prime meridian objectspecifies the line of zerolongitude for the coordinates ina geographic coordinate system.

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

The angular unit specifies themeasurement units used in ageographic coordinate system

A projected coordinate systemobject includes a geographic

coordinate system, aprojection, a set of projection

parameters, and a linear unit

A projection object specifies the mathematicaltransformation to convert between geographic

and planar coordinates

The parameter can be used todefine and modify the values forspecific properties for a projectedcoordinate system

The linear unit specifies themeasurement units used in aprojected coordinate system.

The unknown coordinate system is used when thecoordinate system is not known or unavailable

The spatial reference is the base for three types of coordinatesystems: projected, geogaphic, and unknown

The geographic coordinatesystem defines a coordinate

system that describes thepositions of features on the

earth using latitude andlongitude values

A datum represents areference system for latitude-

longitude coordinates and isdefined by a spheroid and thespheroid's position relative to

the center of the earth

ProjectedCoordinate

System

IPRJSpatialReferenceIProjectedCoordinateSystem

IProjectedCoordinateSystem2IProjectedCoordinateSystemEdit

ISRPersistStream

IGeographicCoordinateSystemIGeographicCoordinateSystem2

IGeographicCoordinateSystemEditIPRJSpatialReference

ISRPersistStream

Geographic-Coordinate-

System

Prime-Meridian

ICloneIESRISpatialReference

IPersistStreamIPrimeMeridian

IPrimeMeridianEditISpatialReferenceInfo

ISupportErrorInfo

Spheroid

ICloneIESRISpatialReference

IPersistStreamISpatialReferenceInfo

ISpheroidISpheroidEdit

ISupportErrorInfo

Datum

ICloneIDatum

IDatumEditIESRI-

SpatialReferenceIPersistStream

ISpatial-ReferenceInfo

ISupportErrorInfo

AngularUnit

IAngularUnitIAngularUnitEdit

ICloneIESRISpatialReference

IPersistStreamISpatialReferenceInfo

ISupportErrorInfoIUnit

ProjectionIClone

IESRISpatialReferenceIPersistStream

IProjectionISupportErrorInfo

Parameter

ICloneIESRISpatialReference

IParameterIParameterEditIPersistStream

ISpatialRerefenceInfoISupportErrorInfo

LinearUnit

ICloneIESRISpatialReference

ILinearUnitILinearUnitEditIPersistStream

ISpatialReferenceInfoISupportErrorInfo

IUnit

Spatial-Reference-

Info

ISpatialReferenceInfo

The spatial reference info retrievesinformation about a spatial reference object

The ESRI spatial reference info provides methods to importand export components to and from spatial reference objects

The spatial reference environment creates predefined spatialreference objects

ESRISpatial-Reference-

Info

IESRISpatialReference

SpatialReference-

Environment

IClassFactoryISpatialReferenceFactory

ISpatialReferenceFactory2ISupportErrorInfo

The composite geotransformation allows you to set up atransformation path between two datums by definingtwo or more geotransformation objects and theirassociated direction

Geo-Transformation-

OperationSet

IGeoTransformationOperationsetISupportErrorInfo

The geotransformation operation set stores a setof geographic transformation operators (a

geotransformation object and its direction)

Geo-Transformation

IGeoTransformation

TransformationIClone

IPersistStreamISupportErrorInfo

ITransformation

Abridged-Molodensky-

Transformation

IMolodenskyTransformation

Coordinate-Frame-

Transformation

ICoordinateFrameTransformation

Geocentric-Translation

IGeocentricTranslation

PositionVector-Transformation

IPositionVectorTransformation

Molodensky-Transformation

IMolodenskyTransformation

The abridged Molodensky transformation usesthree parameters (dX, dY, dZ) to convert between

geographic coordinate systems (datums)

The coordinate frame transformation object uses sevenparameters (dX, dY, dZ, rX, rY, rZ, dS) to convert

between geographic coordinate systems (datums)

The geocentric translation transformation uses threeparameters (dX, dY, dZ) to convert between geographic

coordinate systems (datums)

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

The position vector (Bursa-Wolf) transformation object uses sevenparameters (dX, dY, dZ, rX, rY, rZ, dS) to convert between

geographic coordinate systems (datums)

The geotransformation classspecifies the methods used byall geographic transformations

Transformations are used byspatial reference and geometrytransformation objects

The longitude rotation transformation converts between twoprime meridians by applying a shift to the longitude values

Grid-Transformation

IGridTransformation

NADCON-Transformation

HARN-Transformation

The NADCONtransformation is a grid-basedtransformation method thatconverts geographiccoordinates between theNAD 1927 and the NAD 1983datums

Grid transformations performaccurate coordinate conversionsusing a grid, or matrix, ofcontrol points held in a file

The HARN transformation is a highly accurategrid-based transformation method thatconverts geographic coordinates between theNAD1983 datum and the HARNreadjustments (used in the United States)

Longitude-Rotation-

Transformation

ILongitudeRotationTransformationILongitudeRotationTransformationEdit

Composite-Geo-

Transformation

ICloneICompositeGeoTransformation

IGeoTransformationIPersistStream

ISupportErrorInfoITransformation

Transformation

SpatialReference

Spatial-Reference

ICloneIPersist

IPersistStreamIESRISpatialReference

ISpatialReferenceISpatialReference2

ISpatialReferenceInfoISupportedErrorInfo

Unknown-Coordinate-

System

IUnknownCoordinateSystem

Raster1..*

*

*

*

Raster format information providesinformation about a raster format

specific to the user interface

A raster picture is a lightweightobject that can be used to view some

raster formats in a simple manner

A double point is a supportobject that represents a point

An RGB renderer compositely draws threebands of a raster dataset, one to each of thered, green, and blue channels of the display

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

A stretch renderer stretches the valuesfrom the dataset along a color ramp

A raster layercombines raster dataand instructions tovisualize, or render,this data

A raster renderer is an abstract classthat provides the basic tools for rasterrendering operations

IIdentifyObjIRasterIdentifyObj

A raster catalog layer is aspecial type of layer used to

display raster catalogs

A raster identify objectallows identification ofindividual raster pixels ina dataset

A raster SDE loadercreates and loads rasterdata into an SDE database

A raster defaults environment allows theuser to customize raster default behavior

A classify renderer divides the datavalues for a dataset into classes andassigns each class to a specific color

A raster catalog table is aspecial type of table used todisplay multiple rasterdatasets as a single entity

A raster geometry proc can be used to performgeometric operations, such as flip, mirror, rotate,

and polynomial warping, on a raster

A format list canidentify all supportedraster formats andprovide informationabout them

The Sid encoder compresses araster dataset into MrSID format

A raster band representsa single band of a raster

dataset on disk

A raster band namemaintains name and

other information fora raster band

A raster statistics object providesaccess to pixel statistics from araster band

A raster histogramprovides access to thehistogram of a raster band

A raster colormapprovides access tothe colormap of araster band

The raster bands object allows adeveloper to easily enumeratethrough a set of raster bands

A raster dataset namemaintains name and other

information for a rasterdataset

A raster cursor is a mechanism for iteratingthrough all of the pixel blocks in a raster

The pixel block is a genericcontainer for a pixel arraythat can be read from any

raster or raster band

A raster dataset represents anexisting dataset stored on diskor in a database in a particular

raster format

A raster workspace can openand create raster datasets

A raster workspace factory cancreate raster workspaces

IGxObjectFilter GxFilter-Raster-

Datasets

IEnumDatasetIEnumRasterBand RasterBands

GxFilterRasterDatasets filters all non-raster datasets out from the GxBrowser

IDatasetNameIName

IPersistStreamISDERasterTableName

ISQLPrivilege

SDERaster-TableName

An SDE raster table namemaintains name and other

information for an SDE raster

IDatasetNameIMetadata

IMetadataEditIName

INativeTypeInfoIPersistStream

IRasterBandName

RasterBand-Name

IGeoDatasetIRaster

IRasterAnalysisPropsIRasterBandCollection

IRasterDefaultPropsIRasterProps

ISupportErrorInfo

Raster

IRasterStatistics Raster-Statistics

IRasterHistogram Raster-Histogram

IRasterColormap Raster-Colormap

IRasterCursor

RasterCursor

IPixelBlock

PixelBlock

Raster-IdentifyObj

IRasterUniqueValueRendererIRasterRendererClassInfo

RasterUnique-Value-

RendererIRasterRGBRenderer

IRasterStretch RasterRGB-Renderer

IRasterClassifyColorRampRendererIRasterClassifyUIProperties

IRasterDataExclusionIRasterRendererClassInfo

RasterClassify-ColorRamp-

Renderer

A raster is a dynamic, in-memory representation ofpixels that derives from araster data source on disk

RasterRendererRaster

RasterBand

RasterDataset

ISupportErrorInfoIWorkspaceFactory

IWorkspaceFactory2

Raster-Workspace-

Factory

IDatasetIDatasetAnalyzeIDatasetFileStat

IGeoDatasetIGeoDatasetSchemaEdit

IMetadataIMetadataEdit

INativeTypeInfoIRasterBandCollection

IRasterDatasetIRasterPyramid

ISupportErrorInfoITemporaryDataset

IWorldFileExport

Raster-Dataset

IDatasetNameIDatasetNameFileStat

IMetadataIMetadataEdit

INameINativeTypeInfoIPersistStream

IRasterDatasetName

Raster-Dataset-

Name

IDatasetIRasterWorkspace

IRasterWorkspace2ISupportErrorInfo

IWorkspace

Raster-Workspace

IClassIDataset

IGeoDatasetIMetadata

IMetadataEditINativeTypeInfo

IObjectClassIRasterBand

IRasterDatasetIRasterProps

IRasterPyramidIRasterTable

IRasterTransactionIRawPixels

ISupportErrorInfoITable

RasterBand

IRasterStretchIRasterStretchColorRampRenderer

IRasterRendererClassInfo

RasterStretch-ColorRamp-

Renderer

IConnectionPointLayerIDataLayer

IDataLayer2IDisplayAdmin

IGeoDatasetIIdentify

ILayerILayerDrawingProperties

ILayerEffectsILayerEvents

ILayerExtensionsILayerInfo

ILayerPositionILegendInfo

IPersistStreamIRasterCatalogLayer

Raster-Catalog-

Layer

Raster-Renderer

IDisplayAdminIIdentify

ILegendInfoIPersistStream

IRasterDisplayPropsIRasterRenderer

IAttributeTableIClass

IConnectionPointContainerIDataLayer

IDataLayer2IDataset

IDisplayAdminIDisplayRelationshipClass

IDisplayTableIGeoDataset

IGeoReferenceIIdentify

ILayerILayerDrawingProperties

ILayerEffectsILayerEvents

ILayerExtensionsILayerFields

ILayerInfoILayerPosition

ILegendInfoIObjectClass

IPersistStreamIRasterLayer

IRelationshipClassCollectionIRelationshipClassCollectionEdit

ITableITableFields

ITableSelection

RasterLayer

RasterLayer

IRasterRendererMaker Raster-Renderer-

MakerDefault

ICloneIColorSymbol

IFillSymbolIMapLevel

IPersistStreamIPropertySupport

ISymbol

ColorSymbol

IRasterGeometryProc Raster-Geometry-

Proc

IRasterPicture

RasterPictureIRasterSdeConnection

IRasterSdeServerOperationIRasterSdeStorage

ISupportErrorInfo

Raster-SdeLoader

IFormatDataIFormatList

IFormatTest FormatList

IRasterFormatInfoRaster-

FormatInfo

IRasterEncoderISupportErrorInfo SidEncoder

IPnt

DblPnt

The raster renderer makerdefault object determinesthe renderer used todisplay a raster by default

IRasterDefaultsEnvIRasterDefaultsEnv2

Raster-DefaultsEnv

IGeoDatasetIRasterCatalogTable Raster-

CatalogTable

A color symbolobject specifies acolor to be displayedby a raster renderer

Network

INetworkWorkspaceINetworkWorkspace2 Network-

Workspace

Street-Network

IStreetNetworkUtility-Network

IUtilityNetwork

INetWeightINetWeightEdit NetWeight

ForwardStarIForwardStar

NetElement-Class

INetElementClass

NetWeight-Association

INetWeightAssociationINetWeightAssociationEdit

NetElement-Description

INetElementDescriptionINetElementDescriptionEdit

NetFlagINetFlag

EdgeFlagIEdgeFlag

The Network object is the logicalnetwork associated with a

geometric network. It representsthe linear connectivity among a set

of network features

A junction flag is anetwork flag that

occurs at a junction

An edge flag is a network flag that occurssomewhere along an edge. The position is

measured as a percent along the edge

A network flag is a locationon a network. It is used asinput for a network solver

A network weight is used tolimit tracing in a network anddenote the cost of tracingthrough a network element

A forward star returns allthe adjacent elements givena junction and edge element.It is used extensively whenwriting solvers

A network element classprovides access to theIDs of the object classesparticipating in thenetwork

A network elementdescription is a container tohold information about anetwork element to be used incalls in INetTopologyEdit

A network weight associationdefines how an object classparticipates in a weight

A network solver defines the traceenvironment before executing one

of the trace methods from the traceflow solver

A trace flow solver performs tracingoperations on a logical network

A network workspace letsyou open and create a logical

network

DatasetSee chapter 8,'Accessing theGeodatabase'

IDatasetIDatasetAnalyze (optional)

IDatasetEditIDatasetEditInfo

ISchemaLock (optional)

EnumNet-EIDArray

IEnumNetEIDIEnumNetEIDBuilder

NetSolverINetSolver

INetSolverWeights

TraceFlow-Solver

ISupportErrorInfoITraceFlowSolver

ITraceFlowSolver2

A utility network is a network whereflow is directed. You can establishflow direction on this type of network

A street network is anetwork where flowis undirected

JunctionFlagIJunctionFlag

A network loader creates ageometric network along withits logical network

Network-Loader

INetworkLoaderINetworkLoader2

INetworkLoaderProgressINetworkLoaderProps

ISupportErrorInfo

0..*

EdgeFlag-Display

IEdgeFlagDisplayISupportErrorInfo

Selection-SetBarriers

ISelectionSetBarriers

Junction-FlagDisplay

IJunctionFlagDisplay

FlagDisplayIFlagDisplay

IFeatureDraw

TraceTask

A utility network analysis extensionprovides trace and path finding

capabilities to a Utility NetworkAnalyst toolbar

A trace task executes a definedtrace or path-finding routine

Network elementbarriers create barriersof individual elements

Selection set barrierscreate barriers fromselected sets of features

A junction flag displaybegins a trace or pathfinding at a junction

A flag display maintainsthe starting point fortraces and path findings

The find ancestors task finds thecommon ancestors in an upstream

trace from two or more flags

The find connected task findsall elements that can be

reached from the current flags

The find loops task findselements that can be reached

from more than one direction

The trace downstream taskfinds all elements that can bereached in a downstreamflow from the current flags

The trace upstream taskfinds all elements that canbe reached in an upstreamflow from the current flags

The find disconnected task findsall elements that cannot be

reached from the current flags

The find accumulation taskfinds the accumulated cost of

an upstream trace

The find path upstream taskfinds the optimal path based onelements flowing upstream

The trace path taskfinds the optimal pathbetween flag displays

Find-Ancestors-

Task

Find-Disconnected-

Task

Find-Connected-

Task

FindLoops-Task

Trace-Upstream-

Task

Trace-Downstream-

Task

ITracePathTaskResults TracePath-Task

ITracePathTaskResults FindPath-Upstream-

Task

Find-Accumulation-

Task

ITracePathTaskResults

An edge flag display begins a traceor path finding along an edge

IExtensionIExtensionAccelerators

IExtensionConfig Extension

A network analysisextension managesthe parametersfound within theUtility NetworkAnalysis toolbar

IExtensionINetworkAnalysisExt

INetworkAnalysisExtBarriersINetworkAnalysisExtFlags

INetworkAnalysisExtResultColorINetworkAnalysisExtResults

INetworkAnalysisExtWeightFilterINetworkAnalysisExtWeights

ISupportErrorInfo

Network-AnalysisExt

NetElement-Barriers

INetElementBarriersINetElementBarriers2

0..*

TraceTaskITraceTask

ITraceTaskResults

UtilityNetwork-AnalysisExt

ITraceTasksIUtilityNetworkAnalysisExt

Network

NetworkAnalystExt

NetSolver

NetFlag

Network

INetAttributesINetAttributesEdit

INetElementsINetSchema

INetSchemaEditINetTopology

INetTopologyEditINetwork

INetworkUpdateIVersionedObject2

Workspace

See chapter 8,'Accessing theGeodatabase'

IDatabaseCompact (optional)IDatabaseConnectionInfo (optional)

IDatasetIDatasetContainer

IFeatureWorkspaceIFeatureWorkspaceAnno (optional)

IFeatureWorkspaceManageIFeatureWorkspaceSchemaEdit

IGeodatabaseRelease (optional)ISpatialCacheManager

ISQLSyntaxITransactions (optional)

ITransactionsOptions (optional)IWorkspace

IWorkspaceConfiguration (optional)IWorkspaceDomains (optional)

IWorkspaceDomains2 (optional)IWorkspaceEdit

IWorkspaceEventsIWorkspaceExtensionManager (optional)

IWorkspaceProperties (optional)IWorkspaceSpatialReferenceInfo

*

*Geometry

Geometry-Collection

IGeometryCollection

A point is a zero-dimensionalgeometry. Points are defined withx,y coordinate pairs with optional

altitudes, measures, and point IDs.

A geometry collection is a collectionof part geometries used to constructa single high-level geometry

A 2D affine transformationdefines a two-dimensional affinetransformation matrix and is usedto create an arbitrary two-dimensional transformation

A path is a sequence ofconnected segments.

Paths make up polylines

A ring is a closed path; thebegin and endpoints are the

same. Rings make up polygons

A polyline is an ordered collection of paths that can bedisjoint or connected. Polylines are used to represent

the geometry of all linear features

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

A polycurve is an abstractmultipart curve

*

PolylineIMSegmentation2

IPolylineIPolyline2

PolygonIArea

IPolygonIPolygon2

Polycurve

IConstructCurveIGeometry2

IGeometryCollectionIHitTest

IMAwareIMSegmentation

IMCollectionIPersist

IPersistStreamIPointCollection

IPointIDAwareIPolycurve

IPolycurve2IProximityOperator

IRelationalOperatorISegmentCollection

ISpatialIndexITopologicalOperator

ITopologicalOperator2IZ

IZAwareIZCollection

PathIConstructPath

IPathIPointCollection

ISegmentCollection

A multipoint is an unordered collection of points.Features with multipoint geometries represent a set

of points that share a common set of attributes

*

MultiPatch

documented with3D geometry

objects

IConstructMultiPatchIGeometryCollection

IHitTestIMAware

IMCollectionIMultiPatch

IPersistIPersistStream

IPointCollectionIPointIDAwareITransform3D

IZAwareIZCollection

Point

IConstructPointIConstructPoint2

IGeometry2IHitTest

IMAwareIPersist

IPersistStreamIPoint

IPointIDAwareIProximityOperator

IRelationalOperatorITopologicalOperator

ITransform3DIZAware

RingIAreaIRing

LineIConstructLine

ILineILine2

CurveICurve

Geometry

An envelope is the rectangularbounding box of a geometry defined

by maximum and minimumcoordinate and attribute values

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

A geometry environment is asingleton object that stores globalvariables used by other geometryobjects. It lets you creategeometry objects from differentkinds of input

A geometry bag is aheterogeneous collection of

points, multipoints, polylines,and polygons

A curve is an abstract segment-basedgeometry. Curves may be single

segments, single paths, a collection ofpaths, single rings, or a collection of rings

A circular arc is part of acircle. It is commonly used

for road curb lines atstreet intersections

An elliptic arc is part of anellipse. It is used for thegeometry of a transitionalfeature such as a highway ramp

A line is a straight segmentbetween two points. Linesare used for straightconstructions, such as aroad segment or a parcelboundary

A Bézier curve is aparametric curve definedby a set of third-orderpolynomials through fourcontrol points

EllipticArcIEllipticArcIConstruct-EllipticArc BezierCurve

IBezierCurveIConstruct-

BezierCurve

Segments are the parametriccurves between two endpoints.Segments may be linear lines or

true nonlinear circular arcs,elliptic arcs, or Bézier curves

Segment

ICurve2IProximityOperator

ISegmentISegmentIDISegmentMISegmentZ

GeometryIClone

IGeometryITransform2D

ISupportErrorInfo

*

Geometry-Environment

IConstructAngleIConstructDomainExtent

IEncode3DPropertiesIExtrude

IGeometryEnvironmentIGeometryEnvironment2

IGeometryFactoryIGeometryFactory2

ISupportErrorInfo

CircularArcICircularArcIConstruct-CircularArcIConstruct-

CircularArc2

Envelope

IAreaIEnvelope

IEnvelope2IGeometry2

IHitTestIMAwareIPersist

IPersistStreamIProximityOperator

IRelationalOperatorIZAware

3D geometry

SphereIClone

IGeometryISphere

Vector3DIClone

ISupportErrorInfoIVector

IVector3D

RayIClone

IGeometryIRay

*

*

A ray is an infinite one-dimensionalline defined by an origin point and athree-dimensional direction ofinfinite extension from the origin

A sphere is a three-dimensionalsurface that is a specified radiusfrom a central origin point

A 3D vector has a specificdirection and magnitude, butno fixed location. A 3D vectorcan be used to definedirections and axes

A triangle fan is a surfacepatch consisting oftriangle surfaces betweentwo consecutive pointsconnected around a singlecentral point

A triangle strip is asurface patch consisting oftriangle surfaces betweenthree consecutive points

A multipatch is a three-dimensional collection of

surface patches; triangle fans,triangle strips, and rings

GeometryIClone

IGeometryITransform2D

ISupportErrorInfo

RingIAreaIRing

*

MultiPatch

IConstructMultiPatchIGeometryCollection

IHitTestIMAware

IMCollectionIMultiPatch

IPersistIPersistStream

IPointCollectionIPointIDAwareITransform3D

IZAwareIZCollection

Segment

Polycurve

Curve

PointGeometry-

Bag

ICloneIConstructGeometryCollection

IEnumGeometryIGeometry

IGeometry2IGeometryBag

IGeometryCollectionIRelationalOperator

ISpatialIndexITopologicalOperator

TriangleFan

ICloneIGeometry

IGeometry2IGeometryCollection

IMAwareIPointCollection

IPointIDAwareISupportErrorInfo

ITransform2DITriangleFan

IZAware

Triangle-Strip

ICloneIGeometry

IGeometry2IGeometryCollection

IMAwareIPointCollection

IPointIDAwareISupportErrorInfo

ITransform2DITriangleStrip

IZAware

AffineTrans-formation2D

IAffineTransformation2DIAffineTransformation2D2

ICloneISupportErrorInfo

ITransformation

Multipoint

IConstructMultipointIGeometry2

IGeometryCollectionIHitTest

IMAwareIMCollection

IMultipointIPersist

IPersistStreamIPointCollection

IPointCollection2IPointIDAware

IProximityOperatorIRelationalOperator

ISpatialIndexITopologicalOperator

ITopologicalOperator2IZAware

IZCollection

Types of Classes

An abstract class cannot create new objects; it is a specification forinstances of subclasses (through type inheritance.)

A coclass can directly create objects by declaring a new object.

A class cannot directly create objects, but objects of this class can becreated as a property of another class or instantiated by objects fromanother class.

Types of Relationships

Associations represent relationships between classes. They have definedmultiplicities at both ends.

Type inheritance defines specialized classes of objects that shareproperties and methods with the superclass and have additionalproperties and methods. Note that interfaces in superclasses are notduplicated in subclasses.

Instantiation specifies that one object from one class has a method withwhich it creates an object from another class.

Composition is a relationship in which objects from the "whole" classcontrol the lifetime of objects from the "part" class.

An N-ary association specifies that more than two classes areassociated. A diamond is placed at the intersection of the associationbranches.

A multiplicity is a constraint on the number of objects that can beassociated with another object. Association and composition relationshipshave multiplicities on both sides. This is the notation for multiplicities: 1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer

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

Type inheritanceThis diagram illustrates the implicit type inheritance model in the ArcGIS 8.1component objects. Software interfaces are not duplicated in the child classes.

The objects to the left show a sample view of type inheritance. The objects belowshow a flat view of the objects with their full list of interfaces. The two views areequivalent, but the type inheritance view gives insight into the structuralcomposition of the object model.

Row

Feature

RowBuffer

IRowIRowEvents

IValidate

IFeatureIFeatureBufferIFeatureDraw

IFeatureEdit

IRowBuffer

Row

Feature

IRowIRowBuffer

IRowEventsIValidate

IFeatureIFeatureBufferIFeatureDraw

IFeatureEditIRow

IRowBufferIRowEvents

IValidate

RowBufferIRowBuffer

Diagram keyabstract

class

Inbound interfaceOutbound interface

Type inheritance

Instantiation

Association

Composition

1..* Multiplicity

class

coclassInterface

Editorcoclass

Editorabstract class

Networkcoclass

Networkabstract class

Editorclass

Networkclass

Geometrycoclass

Geometryabstract class

Spatialreferencecoclass

Spatialreference

abstract class

Geodatabasecoclass

Geodatabaseabstract class

Geometryclass

Spatialreference

class

Geodatabaseclass

Rasterabstract class

Raster coclass

Raster class

Chapter 13

Chapter 10

Chapter 11 Chapter 12

Chapter 9Chapter 8

Editing inArcMap

1..*1..*

1..*

IFeatureCacheIFeatureCache2 Feature-

CacheISketchOperationISketchOperation2 Sketch-

Operation

IEditTask

EditTask

IFeatureSnapAgent

FeatureSnap

IExtension

Extension

IConflictDisplayIConflictsWindow

IConflictsWindow2Conflicts-Window

IDigitizerButtonsIDigitizerSetup Digitizer-

Extension

TopoEditorITopoEditor

ICommandISketchTool

ITool SketchTool

IObjectInspector Feature-Inspector

ICommandISnappingWindow Snapping-

Command

ISnapAgent

SnapAgent

A feature cache stores features inmemory for a particular spatialextent.

The conflicts window isthe ArcMap ConflictResolution dialog box

The snapping command is the ArcMap editor'ssnapping window where snap agent properties are set

An edit selection cache stores theselection for fast hit testing

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

The feature inspector is thecontrol inside the attributes dialogbox that enables attribute editing

The digitizer extension allowsthe ArcMap editor to work witha digitizing board and puck

The topological editor extensionenables the ArcMap editor toperform shared geometry editing

Editor extensions are additionalobjects that aid editing

The Editor gives ArcMapfeature editing capabilities

Edit tasks perform aspecific operation

using the edit sketch

Snap agents aid inpositioning geometriesby snapping them toother geometries

IEditEvents2

EditEvents2

IEditSelectionCacheIEditSelectionCache2

Edit-Selection-

Cache

Attribute-Window

IAttributeWindow

The attribute window isthe ArcMap editor's

attribute editing dialog box

IEditSketchExtension EditSketch-Extension

EditEvents2 enables Visual Basicdevelopers the opportunity torespond to the events groupedunder IEditEvents2 fired by theEditor object

Sketch operations allow edit sketchmodifications to be undone

Edit sketch extensionsoverride the defaultedit sketch behavior toprovide a customediting experience forspecific feature classes

Editor

Feature snap agents area class of snap agentsthat help positionfeatures and the editsketch by snappingthem to other features

IActiveViewEventsIEditEvents

IEditEvents2IEditLayers

IEditorIEditProperties

IEditSketchIEditSketch2

IExtensionIExtensionAccelerators

IExtensionManagerIPersist

IPersistStreamISnapEnvironment

Editor

TM

ESRI ArcGIS 8.1 Object ModelExploring ArcObjects • Volume 2 • Geographic data management

TM

TM

®

Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and theESRI globe logo are trademarks of ESRI, registered in the UnitedStates and certain other countries; registration is pending in theEuropean Community. ArcGIS, ArcObjects, ArcCatalog, ArcScene,ArcInfo, ArcEditor, ArcToolbox, 3D Analyst, and ArcMap aretrademarks of ESRI and www.esri.com is a service mark of ESRI.

ArcObjects is the development platform for ArcGIS Desktop, a suite of GISsoftware systems: ArcInfo, ArcEditor, and ArcView. These systems serve GISprofessionals with a spectrum of geographic data management, spatial editing, andcartographic visualization functionality.

The ArcGIS Desktop systems each contain a configuration of applications, such asArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety ofextension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, andothers.

This object model diagram shows the ArcGIS subsystems and their components thatcoordinate all geographic data management. These are the ArcObjects componentsdocumented in volume two of Exploring ArcObjects.

You will find updates to ArcObjects developer resources atwww.esri.com/arcobjectsonline.

ESRI® ArcObjects™ is the developmentplatform for the ArcGIS™ family of applications

such as ArcMap™, ArcCatalog™, andArcScene™. The ArcObjects software

components expose the full range of functionalityavailable in ArcInfo™, ArcEditor™, and

ArcView™ to software developers.

15

16

Types of Classes

An abstract class cannot create new objects; it is a specification forinstances of subclasses (through type inheritance.)

A coclass can directly create objects by declaring a new object.

A class cannot directly create objects, but objects of this class can becreated as a property of another class or instantiated by objects fromanother class.

Types of Relationships

Associations represent relationships between classes. They have definedmultiplicities at both ends.

Type inheritance defines specialized classes of objects that shareproperties and methods with the superclass and have additionalproperties and methods. Note that interfaces in superclasses are notduplicated in subclasses.

Instantiation specifies that one object from one class has a method withwhich it creates an object from another class.

Composition is a relationship in which objects from the "whole" classcontrol the lifetime of objects from the "part" class.

An N-ary association specifies that more than two classes areassociated. A diamond is placed at the intersection of the associationbranches.

A multiplicity is a constraint on the number of objects that can beassociated with another object. Association and composition relationshipshave multiplicities on both sides. This is the notation for multiplicities: 1 - One and only one (if none shown, "1" is implied) 0..1 - Zero or one M..N - From M to N (positive integers) * or 0..* - From zero to any positive integer 1..* - From one to any positive integer

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

Type inheritanceThis diagram illustrates the implicit type inheritance model in the ArcGIS 8.1component objects. Software interfaces are not duplicated in the child classes.

The objects to the left show a sample view of type inheritance. The objects belowshow a flat view of the objects with their full list of interfaces. The two views areequivalent, but the type inheritance view gives insight into the structuralcomposition of the object model.

Row

Feature

RowBuffer

IRowIRowEvents

IValidate

IFeatureIFeatureBufferIFeatureDraw

IFeatureEdit

IRowBuffer

Row

Feature

IRowIRowBuffer

IRowEventsIValidate

IFeatureIFeatureBufferIFeatureDraw

IFeatureEditIRow

IRowBufferIRowEvents

IValidate

RowBufferIRowBuffer

Diagram keyabstract

class

Inbound interfaceOutbound interface

Type inheritance

Instantiation

Association

Composition

1..* Multiplicity

class

coclassInterfaceESRI ArcGIS 8.1 Object Model

Exploring ArcObjects • Supplemental extension chapters

TM

TM

®

Geocoding object modelAn attached locator is a copy of alocator used to create a dataset

0..*

LocatorName-Enumerator

IEnumLocatorNameISupportErrorInfo

NameSee chapter 8,'Accessing theGeodatabase'

INameIPersistStream

Locator-Workspace-

Name

ILocator-WorkspaceNameISupportErrorInfo

LocatorNameIFileName

ILocatorNameISupportErrorInfo

ESRIAddress-LocatorStyle

IAddressInputsIGeocoding-

PropertiesIPlaceNameAlias

StreetMap-Address-

LocatorStyle

IReferenceDataFile

Generic-LocatorStyle

IPropertySet

Attached-Locator

IAttachedLocatorISupportErrorInfo

Locator-Workspace

ILocatorAttachILocatorWorkspace

ISupportErrorInfo

IDatabase-LocatorWorkspace Database-

Locator-Workspace

LocalLocator-Workspace

ILocalLocator-Workspace

Locator-Enumerator

IEnumLocatorISupportErrorInfo

0..*

Locator-Manager

ILocatorManagerISupportErrorInfo

LocatorStyleIClone

ILocatorILocatorStyle

ISupportErrorInfo

ESRIFDO-Address-

LocatorStyle

IReferenceDataTables

A locator manager openslocator workspaces and returnsattached locators from datasets

A locator nameenumerator contains

an enumeration oflocator name objects

A locator workspace storeslocators and locator styles

A database locator workspaceis a locator workspace thatresides in an ArcSDE database

A local locator workspace is alocator workspace that resideson your local file system

A locator enumeratorcontains an enumerationof locators

A locator name object isa lightweight object that

represents a locator

A locator workspace name object isa lightweight object that represents

a locator workspace

A locator style is atemplate that you can use

to create new locators

A generic locator style is a locator stylethat you can use to define properties for

your own custom locators

An ESRI address locator style is alocator style that you can use tocreate new ESRI address locators

An ESRI FDO address locator style is alocator style that you can use to create

new ESRI FDO address locatorsA StreetMap address locator style is a

locator style that you can use to createnew StreetMap address locators

LocatorUIILocatorUI

Address-LocatorUI

IAddressUIISupportErrorInfo

LocatorIClone

ILocatorILocatorDataset

ISdeLocator

1..*

0..* 1..*

Reference-DataField

IReference-DataField(Optional)IReference-

DataFieldEditISupportErrorInfo

Reference-DataIndex

IReference-DataIndex(Optional)IReference-

DataIndexEditISupportErrorInfo

Address-Locator

IAddressCandidatesIAddressGeocoding

IAddressInputs(Optional)IIntersection-

Geocoding

ESRIFDO-Address-Locator

IReferenceDataTablesISupportErrorInfo

StreetMap-Address-Locator

IReferenceDataFileISupportErrorInfo

Reference-DataTable-Enumerator

IEnumReferenceDataTableISupportErrorInfo

Reference-DataTable

IReferenceDataTableIReferenceDataTableEdit

ISupportErrorInfo

Reference-DataFields-Enumerator

IEnumReferenceDataFieldISupportErrorInfo

Reference-DataIndex-Enumerator

IEnumReferenceDataIndexISupportErrorInfo

A locator is an object that cancreate geometric descriptions oflocations from non-spatialdescriptions of locations

An address locator is a locatorthat geocodes addresses

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

An ESRI FDO address locator isan ESRI address locator thatuses feature-data-object data

sources as reference data

A StreetMap address locator isan ESRI address locator that usesStreetMap data as reference data

A locator UI object providesuser interfaces for locators

A address locator UI objectprovides user interfaces for

address locators

A reference data tableenumerator contains an

enumeration of referencedata tables used by a locator

A reference data table describes afeature-data-object data source

used as reference data by a locator

A reference data fields enumeratorcontains an enumeration of

reference data fields

A reference data field describes afield in a reference data table that

contains address information

A reference data index enumeratorcontains an enumeration of

reference data indexes

A reference data indexdescribes a geocoding index

on a reference data table

ESRIAddress-Locator

IAdvancedGeocodingIGeocodingProperties

IPlaceNameAlias(Optional)IAdvanced-

IntersectionGeocoding

Geodatabase extensions

IConfirmSendRelatedObjectEvents (optional)IObjectClassExtension

IObjectInspector (optional)IObjectClassDescription (optional)

IObjectClassEvents (optional)IObjectClassValidation (optional)

IRelatedObjectClassEvents (optional)IRelatedObjectClassEvents2 (optional)

ObjectClass-ExtensionSee Chapter 8,'Accessing theGeodatabase'

IClassExtension Class-Extension

Geocoded-FeatureClass-

Extension

IGeocodedFeatureClassIRelatedClassEvents

Feature-Class-

ExtensionSee Chapter 8,'Accessing theGeodatabase'

IFeatureClassExtensionIFeatureClassCreation (optional)

IFeatureClassDescription (optional)IFeatureClassDraw (optional)

IFeatureClassEdit (optional)INetworkClassDescription (optional)

Geocoding-IndexClass-Extension

IGeocodingIndexComputeIRelatedObjectClassEvents

Geocoding-IndexObject

IRowIRowChangesIRowCompare

IRowEditIRowEvents

IrowSubtypesISupportErrorInfo

IValidate

IRowBuffer

IObjectIRowSubtypes

IRelatedObjectEvents

Row

RowBuffer

ObjectSee Chapter 8,'Accessing theGeodatabase'

FeatureSee Chapter 8,'Accessing theGeodatabase'

IFeatureIFeatureBuffer

IFeatureChangesIFeatureDraw

IFeatureEditIFeatureEvents

IFeatureSimplify

GeocodedFeature

A geocoded feature class extension is afeature class extension for

automatically maintaining geocodedfeature classes

A geocoded feature is a customfeature that comprisesautomatically maintained featureclasses

A geocoding index classextension in an object classextension for automaticallymaintained geocoding indexes

A geocoding index object is a customobject that comprises automaticallymaintained geocoding indexes

ArcCatalog extensions

GxGeocoding-Service-

Extension

IGxDatabase-Extension GxDatabase-

ExtensionSee Chapter 7,

'Working with theCatalog'

IGxObjectIGxObjectUI

IGxObjectEdit

GxObjectSee Chapter 7,

'Working with theCatalog'

GxLocatorIGxLocator

IGxDatabase-ExtensionCompare

IGxObjectPropertiesIGxPasteTarget

GxNew-Locator

IGxNewLocatorIGxDatabase-

ExtensionCompareIGxObjectProperties

GxObject-ContainerSee Chapter 7,

'Working with theCatalog'

IGxObjectContainerIGxPasteTarget

GxLocator-Folder

IGxLocatorFolderIGxCachedObjects

IGxDatabase-ExtensionCompare

IGxObjectProperties

AGxGeocodingServiceExtensionextends ArcCatalog to displaythe contents of database locatorworkspaces

The GxLocatorFactory extendsArcCatalog to display the contentsof local locator workspaces

A GxLocatorFolder containsGxObjects that represent

items in a locator workspace

A GxLocator is a GxObjectthat represents a locator

A GxNewLocator is a GxObjectthat can be used to create new

locators in ArcCatalog

IGxObjectFilter GxObject-Filter

See Chapter 7,'Working with the

Catalog'

GxFilter-Geocoding-

Services

IGxLocatorFilter

GxLocator-Factory

IGxObjectFactory GxObject-Factory

See Chapter 7,'Working with the

Catalog'

A GxFilterGeocodingServices is aGxObjectFilter that you can use to allowusers to browse for geocoding services

Locator-Extension

ILocatorExtensionILocatorExtensionEvents

IPersistStreamISupportErrorInfo

Address-FindData

IAddressFindData

Find-Addresses

IFinderILocator-

ExtensionEvents

ArcMap extensions

The locator extension extends ArcMapto manage a set of locators in a

ArcMap document

An address find data objectrepresents a candidate for an address

found using the find dialog

The find address object extends thefind dialog to allow users togeocode addresses

IExtension ExtensionSee Chapter 3,

'Customizing the UserInterface'

A GxStreetMapDataset is aGxObject based on a

StreetMap feature class

A GxStreetMapFactory allowsArcCatalog to create GxObjects based

on StreetMap Feature classes

A StreetMap workspacefactory is a dispenser ofStreetMap workspaces

StreetMap objects

GxFilterStreetMap-FeatureClasses

GxObject-Filter

See Chapter 7,'Working with the

Catalog'

IGxObjectFilter

GxStreet-MapFactory

IGxObjectFactoryIGxObject-

FactoryMetadata

GxObject-Factory

See Chapter 7,'Working with the

Catalog'

Workspace-Factory

See Chapter 8,'Accessing theGeodatabase'

IWorkspaceFactoryIWorkspaceFactory2

StreetMap-Workspace-

Factory

IExtension ExtensionSee Chapter 3,

'Customizing the UserInterface'

StreetMap-Extension

IExtensionConfig

A GxFilterStreetMapFeatureClass is aGxObjectFilter that allows a GxDialog to

browse StreetMap feature classes

The StreetMap extension extends anapplication to provide access to StreetMap

data sources as feature classes

GxStreet-MapDataset

GxDatasetSee Chapter 7,

'Working with theCatalog'

IGxCachedObjectsIGxDataset

IGxObjectIGxObjectEdit

IGxObjectInternalNameIGxObjectProperties

IGxObjectUIIGxObjectContainer

IGxThumbnailIMetadata

IMetadataEditINativeTypeInfo

IObjectClassSchemaEvents

GxObject-Container

IGxObjectContainerIGxPasteTarget

GxObjectIGxObject

IGxObjectEditIGxObjectUI

StreetMap-NativeType

3D Analyst objects

1..*

ApplicationSee Chapter 3,

'Customizing the UserInterface'

IApplicationIDockableWindowManager

IExtensionManagerIMultiThreadedApplication

IObjectFactoryISxApplication

IVBAApplicationIWindowPosition

Message-Dispatcher

IMessageDispatcher

Graphics-Layer3D

IActiveViewEventsIGraphics-

Container3DIGraphicsLayer

IGraphicsSelectionILayer

ILayerEffectsILayerEvents

ILayerExtensionsIPersistStream

IScene-RendererEvents

LayerILayer

IGeoDataset

The application object representsthe running ArcScene application

SxDocument represents the scenedocument that can be persisted to disk

The scene is a container forvector, raster and graphic data

Graphics layers are used torender graphic primitives

3DProperties is a layer extension thatcontrols how a layer gets viewed in 3D.Different 3DProperties classes areimplemented for different layer types

The MessageDispatcher controlsnavigation ability and cancel tracking

while in custom code loops

The camera controls theperspective of a 3D view

A container forrecording data andevents that occur in ascene

SceneViewers are the displaywindows for a scene

Non-graphic layers are used to view dataother than primitive graphics. Examples

include feature, raster, TIN, CAD, and IMSlayers

Scene-Viewer

CameraICamera

Scene-Graph

IActiveViewEventsIDisplay3D

ISceneGraphISceneGraphEvents

ISceneGraphEventsDispISceneRendererEvents

Sx-Document

IBasicDocumentIBasicDocumentDefaultSymbols

IDocumentISxDocument

ISxDocumentEventsDispISxDocumentInfo

SceneIActiveViewEvents

IBasicMapIPersistStream

ISceneISelectionEvents

Raster3D-Properties

Tin3D-Properties

Basic3D-Properties

I3DPropertiesIDataLayerExtension

IPersistIPersistStream

Feature3D-Properties

IFeature3DPropertiesICursor

IFeatureCursor

Tin and Raster operatorsThe triangulated network objectis used for surface modeling andother forms of spatial analysis

Nodes are the mostbasic element of a TIN

Ddd-Environment

IDddEnvironmentIExtension

IExtensionConfig

Tin

IDatasetIFunctionalSurface

IGeoDatasetIMetadata

IMetadataEditINativeTypeInfo

ISupportErrorInfoISurface

ITinITinAdvanced

ITinEditITinNodeCollection

ITinSelectionITinSurface

TinNodeITinNode

TinEdgeITinEdge

TinTriangleITinTriangle

Edges connect nodes. Theycan represent linear features

Raster-Interpolation

Op

IInterpolationOpIRasterAnalysis-

EnvironmentISupportErrorInfo

Raster-MakerOp

IRasterAnalysis-Environment

IRasterMakerOpISupportErrorInfo

RasterMath-SupportOp

IMathSupportOpIRasterAnalysis-

Environment

Raster-ReclassOp

IRasterAnalysis-EnvironmentIReclassOp

ISupportErrorInfo

IRasterAnalysis-Environment

ISupportErrorInfoISurfaceOp

Raster-SurfaceOp

Raster-Analysis

ICloneIGeoAnalysisEnvironment

IRasterAnalysisEnvironmentIPersist

IPersistStream

Triangles are formed by connectednodes and represent areas

Controls analysis environmentproperties like extent, cellsize,mask, and output workspace

Reclassifies rasters usingtables to define categories

Performs surface analysis such ascontouring or slope derivation

Provides basic aritmetic operatorssuch as addition, subtraction, and

floating point truncation

Provides support for IDW,kriging, spline interpolation

Creates numericallyconstant or random rasters

The 3D Analyst extensionobject. It is used for licensingand to obtain global rastersettings

Geocoding

Street Map USA

14

Chapter 15 Chapter 16Chapter 14

Geocodingclass

Geocodingcoclass

Geocodingabstract class

3D Analystabstract class

3D Analystclass

3D Analystcoclass

StreetMapcoclass

StreetMapclass

3D Analyst

Copyright © 2001 ESRI. All right reserved. ESRI, ArcView, and theESRI globe logo are trademarks of ESRI, registered in the United Statesand certain other countries; registration is pending in the EuropeanCommunity. ArcGIS, ArcObjects, ArcCatalog, ArcScene, ArcInfo,ArcEditor, ArcToolbox, 3D Analyst, Street Map USA, and ArcMap aretrademarks of ESRI and www.esri.com is a service mark of ESRI.

ArcObjects is the development platform for ArcGIS Desktop, a suite of GISsoftware systems: ArcInfo, ArcEditor, and ArcView. These systems serve GISprofessionals with a spectrum of geographic data management, spatial editing, andcartographic visualization functionality.

The ArcGIS Desktop systems each contain a configuration of applications, such asArcCatalog, ArcMap, ArcToolbox™, and ArcScene, and can host a variety ofextension products such as Spatial Analyst, Geostatistical Analyst, 3D Analyst™, andothers.

This object model diagram shows some of the extensions created to the ArcGISDesktop systems. These are the ArcObjects components documented insupplemental electronic chapters of Exploring ArcObjects.

You will find updates to ArcObjects developer resources atwww.esri.com/arcobjectsonline.

ESRI® ArcObjects™ is the developmentplatform for the ArcGIS™ family of applications

such as ArcMap™, ArcCatalog™, andArcScene™. The ArcObjects software

components expose the full range of functionalityavailable in ArcInfo™, ArcEditor™, and

ArcView™ to software developers.

TM

TM