The libraries of ArcObjects available to ArcGIS Desktop developers include some that are shared with ArcGIS Engine Runtime and ArcGIS Server; additionally there are other libraries of mainly UI components that are only available in ArcGIS Desktop.
The library reference help for the shared libraries is provided; however, since this software development kit (SDK) focuses on customizing ArcGIS Desktop, general documentation on extending ArcGIS Desktop or developing applications that run on the ArcGIS Engine Runtime or ArcGIS Server platforms is not included. This content is available online at http://resources.esri.com or by installing the ArcObjects software development kit (SDK) for .NET, Java, or cross-platform C++.
The libraries are listed in the table below in dependency order. Use the links to navigate to a more detailed overview of each library.
Knowing the library dependency order is important, since it affects the way in which developers interact with the libraries as they develop software. Understanding the dependencies also helps when deploying your developments.
Shared libraries
|
Deployment notes
|
The System library is the lowest level library in the ArcGIS architecture. The library contains components that expose services used by the other libraries composing ArcGIS. | |
The SystemUI library mainly defined types used by user interface components in the ArcGIS system. Interfaces such as ICommand and ITool are defined in this library. Implementation of these types is normally done in one or more libraries, higher in the architecture. | |
The Geometry library contains the core geometry objects, such as Point, Polygon, Polyline, etc. along with Geometry types and definitions. The Geometry library also defines and implements the spatial reference objects for both projected and geographic coordinate systems. | |
The Display library contains the components that support drawing symbology to an output device. Screen displays, symbols, colors and feedback objects, along with their supporting objects are all defined in the library. | |
The Server library contains the objects used to obtain a connection to the ArcGIS Server. The connection is managed via the objects in this library, but objects from other libraries can be created by using functions on the server object. | |
The Output library contains the objects required generate output, most commonly from Maps or PageLayouts, to both printers and plotters or exporting to files. | |
The GeoDatabase library contains types for all the definitions relating to data access. Features, tables, networks, TINs are all defined in the GeoDatabase library. The implementation of many of the types is contained in the respective DataSource library. | |
The GISClient library contains objects for working with remote GIS Services. These services can be provided by either ArcIMS or the ArcGIS Server. | |
The |
|
The DataSourcesFile library contains the workspace factories and workspaces for vector data formats supported by the GeoDatabase API. | |
The DataSourcesGDB library contains the workspace factories and workspaces for vector and raster data formats supported by the GeoDatabase that are stored within an RDBMS. | |
The DataSourcesOleDB library provides workspaces for working with OleDB based data sources. | |
The DataSourcesRaster library contains the workspace factories and workspaces for file based raster data formats. | |
The DataSourcesNetCDF library contains objects used for accessing netCDF files and for creating rasters, features, or tables from netCDF variables in ArcGIS. | |
The GeoDatabaseDistributed library contains the objects required to perform, checkout / checkin to support distributed GeoDatabase. | |
The GeoDatabaseExtensions library contains objects to aid in the creation, management, and use of terrain datasets and cadastral fabrics.
Note: At the 9.2 release, the cadastral fabrics related objects are not yet fully implemented and we recommend that developers do not utilize them until the Cadastral Analyst extension is released.
|
|
The Carto library contains the objects for displaying data. The PageLayout and Map objects are in this library along map layers, renders for all the supported data types. This library also contains the MxdServer and MapServer objects used by servers to display map data in a client server environment. | |
The DefenseSolutions library contains objects that display and edit military war fighting symbology per the MIL-STD-2552B Change 1 and APP-6A symbology specifications. These objects implement the non-user-interface functionality of the Military Overlay Editor (MOLE) software application and Military Analyst extension. It composes a collection of custom renderers and tools that conform to MIL-STD-2552B Change 1 and APP-6A. It also contains objects used for converting coordinates, creating geodetically correct geometric objects, creating and displaying MA Layers in ArcGIS, and controlling the GeoSym Renderer. | Requires the Military Overlay Editor (MOLE) software application or the ArcGIS Military extension. |
The NetworkAnalysis library supports the creation and analysis of utility networks. | |
The Location library contains objects related to working with location data. This can either be route events or geocoding locations. | |
The GeoAnalyst library contains core spatial analysis operations that are used by both the SpatialAnalyst and 3DAnalyst extensions. | Requires an ArcGIS 3D Analyst or ArcGIS Spatial Analyst extension. |
The Animation library contains objects to work with animations in Map, Scene and Globe. In ArcGIS 9.2, with ArcGIS Desktop, the animation functionality is available in the ArcMap, ArcScene, and ArcGlobe applications. However, when working with ArcGIS Engine, animation functionality is not available for the Map control. It is only available for the Scene and Globe controls, which are supported with the 3D Analyst extension. | |
The Maplex library contains the objects for labeling features using the Maplex Extension. Other Maplex objects can be found in the Carto library. | Requires a Maplex for ArcGIS license if running with the ArcView or ArcEditor license levels. A Maplex for ArcGIS license is not required if running with the ArcInfo license level. |
The Geoprocessing library implements the Geoprocessing framework in addition to the base set of Geoprocessing tools. The tools available depend on the licenses available to you. See the individual tools for specific license information. | Some geoprocessing tools and functionality require an extension license. See the documentation for each tool for specifics. |
The NetworkAnalyst library provides objects for working with network datasets. These objects allow you to perform network analysis in your applications. | Requires an ArcGIS Network Analyst extension. |
The Schematic library implements the non user-interface functionality of the Schematics extension. It handles the core objects of the ArcGIS Schematics extension, used to manage schematic data and processes. The Schematics extension supports the analysis, display, and manipulation of schematic data within ArcGIS. | Requires an ArcGIS Schematic extension. |
The SpatialAnalyst library contains objects for performing spatial analyst on raster and vector data. | Requires an ArcGIS Spatial Analyst extension. |
The 3DAnalyst library contains objects for performing 3D analysis of data, along with the support for displaying 3D data. | Requires an ArcGIS 3D Analyst extension. |
The GlobeCore library contains objects for performing analysis of globe data, along with the support for displaying globe data. A control is available in this library for developers to use. | Requires an ArcGIS 3D Analyst extension. |
The Controls library contains controls for application development including commands and tools for use with the controls.
Development note: To develop against the GlobeControl, SceneControl, TOCControl, ToolbarControl, and SymbologyControl an ArcGIS Engine Developer Kit license or an ESRI Developer Network subscription is required.
|
Applications that utilize the GlobeControl or SceneControl require an ArcGIS 3D Analyst extension. |
The TrackingAnalyst library implements the non-user interface functionality of the Tracking Analyst extension to ArcMap. The Tracking Analyst extension supports the display, analysis, and manipulation of temporal data within ArcGIS. | Requires an ArcGIS Tracking Analyst extension. |
|
|
Libraries exclusively in ArcGIS Desktop
|
Deployment notes
|
The Framework library provides core components to support user interface components and applications. | |
The GeoDatabaseUI library provides user interfaces including property pages to support objects contained in the GeoDatabase library. | |
The DisplayUI library provides user interfaces including property pages to support objects contained in the Display library. | |
The OutputUI library provides user interfaces including property pages to support objects contained in the Output library. | |
Catalog | |
The CatalogUI library provides user interfaces including property pages to support objects contained in the Catalog library. | |
The CartoUI library provides user interfaces including property pages to support objects contained in the Carto library. | |
The DataSourcesRasterUI library provides user interfaces including property pages to support objects contained in the DataSourcesRaster library. | |
The ArcCatalog library contains the ArcCatalog application, including the GxApplication object. | |
The ArcCatalogUI library provides user interfaces components specific to the ArcCatalog application. | |
The ArcMap library contains the ArcMap application, the Application object. | |
The ArcMapUI library provides user interfaces components specific to the ArcMap application. | |
The AnimationUI library implements user interface functionality that supports animations in ArcMap, ArcGlobe, and ArcScene. | |
The Editor library implements ArcMap’s object editor, including in this is topological display and editing, and the editing feature geometry and attributes. The library supports both a user interface and a programming API to allow developers to extend the core functionality of the editor with their own editing commands and tasks. | |
The GeoReferenceUI library provides objects to rectify spatial data into a known coordinate system. | |
The EditorExt library contains extension to the ArcMap Editor and components dependant on the Editor. | |
The LocationUI library provides user interfaces including property pages to support objects contained in the Location library. | |
The GeoDatabaseDistributedUI library provides user interfaces including property pages to support objects contained in the GeoDatabaseDistributed library. | |
GeoprocessingUI | |
The OutputExtensions library extends the core output functionality with more advanced output capabilities. Depending on the components used from the library an extension license may be required (see the individual objects for more information). | |
The OutputExtensionsUI library provides user interfaces including property pages to support objects contained in the OutputExtensions library. | |
|
|
The ArcScan library supports the ArcScan raster to vector conversion extension to ArcMap. | Requires an ArcScan for ArcGIS license if running with the ArcView license level. An ArcScan for ArcGIS license is not required if running with the ArcEditor or ArcInfo license levels. |
The NetworkAnalystUI library provides objects for working with the Network Analyst extension from within ArcMap. The library supports a number of objects that you, as a developer, can use; NetworkAnalystExtension, NAWindow, and a few geoprocessing objects are defined in the library. | Requires an ArcGIS Network Analyst extension. |
The SpatialAnalystUI library provides user interfaces including property pages to support objects contained in the SpatialAnalyst library. | Requires an ArcGIS Spatial Analyst extension. |
The SchematicUI library provides user interfaces to support objects contained in the Schematic library. The ArcMap and ArcCatalog Schematic Extension object is implemented by this library. | Requires an ArcGIS Schematic extension. |
The 3DAnalystUI library provides user interfaces including property pages to support objects contained in the 3DAnalyst library. These UI components normally run in both ArcMap and ArcScene. | Requires an ArcGIS 3D Analyst extension. |
The ArcScene library contains the ArcScene application, including the SxApplication, and SxDocument objects. | Requires an ArcGIS 3D Analyst extension. |
The GlobeCoreUI library provides user interfaces components specific to the ArcGlobe application; in addition it provides UI support for objects contained in the GlobeCore library. | Requires an ArcGIS 3D Analyst extension. |
The ArcGlobe library contains the ArcGlobe application, including the GMxApplication, and GMxDocument objects. | Requires an ArcGIS 3D Analyst extension. |
The DataInteropUI assembly implements the user interface functionality of the Data Interoperability extension. The Data Interoperability extension enables ArcGIS users to directly read and import more than 75 spatial data formats and export more than 50.
|
Requires an ArcGIS Data Interoperability extension.
|
The GeoStatisticalAnalyst assembly implements the non-user interface functionality of the Geostatistical Analyst extension. The Geostatistical Analyst extension enables ArcGIS users to apply many different interpolation techniques (both deterministic and geostastical) to their data.
|
Requires the ArcGIS Geostatistical Analyst extension.
|
The GeoStatisticalAnalystUI assembly implements the user interface functionality of the Geostatistical Analyst extension. The Geostatistical Analyst extension enables ArcGIS users to apply many different interpolation techniques (both deterministic and geostastical) to their data.
|
Requires the ArcGIS Geostatistical Analyst extension. |
The Publisher assembly implements the non-user interface (UI) functionality of the ArcGIS Publisher extension. It can be used for the creation and packaging of Published Map Files (PMFs) and the creation of customized ArcReader applications.
|
|
The PublisherControls library contains two ActiveX controls (the ArcReaderControl and ArcReaderGlobeControl) that aid the creation of customized ArcReader applications. | Requires an ArcGIS Publisher extension. |
The PublisherUI library provides user interfaces including; property pages and extensions to the ArcMap and ArcCatalog application to support objects contained in the Publisher library. | Requires an ArcGIS Publisher extension. |
The MaplexUI library provides user interfaces including property pages to support objects contained in the Maplex library. | Requires a Maplex for ArcGIS license if running with the ArcView or ArcEditor license levels. A Maplex for ArcGIS license is not required if running with the ArcInfo license level. |
TrackingAnalystUI | Requires an ArcGIS Tracking Analyst extension. |