ArcGIS Engine 9.2 increases developer productivity by providing out of the box
coarse grained components in the form of new extensions, API's, controls, commands
and tools, together with focused software developer kits and IDE integration.
Existing ArcGIS Engine developers will find the following technical documents helpful
in migrating existing code and applications to 9.2.
The following sections provide an overview of additions, enhancements, and modifications
in ArcGIS Engine 9.2 that impact developers and their work with ArcObjects.
New extensions
The new ArcGIS Engine Runtime 9.2 extensions follow the existing ArcGIS Engine
Runtime extension pricing and licensing model.
- Data Interoperability-
provides real data interoperability that works with all the major formats.
The extension includes direct data access, transformation, and export capabilities and enables custom
ArcGIS Engine applications to dynamically fuse together various data sources. The extension license is
only needed when a custom application requires the functionality exposed via the extension. This functionality is exposed to developers through geoprocessing tools, new in ArcGIS Engine at 9.2.
- Maplex-
provides automatic high quality cartographic text placement and labeling. This powerful and
flexible extension allows features from many layers to be prioritized equally and independently.
- Schematics-
provides the ability to manage and view network data in a wide variety of
geo-schematic and schematic representations.
- Tracking-
provides tracking of temporal data from GPS and other tracking and monitoring devices in
real time. The extension includes the playback and analysis of the time series data.
New libraries
- Animation-
provides objects to work with animations in a Globe, Scene or Map.
An animation is composed of animation tracks which are further composed of keyframes. When an animation
is played, keyframes are interpolated and the interpolated properties are then applied to the animated
objects (camera, layer) to create the dynamic visual effect.
- ArcWeb-
provides objects to access a Simple Object Access Protocol (SOAP) based collection of ArcWeb Services.
ArcWeb Services communicate with any local application that can connect to the Web and understand
Extensible Markup Language (XML). ArcWeb Services use a SOAP wrapper to transfer information back and
forth to a local client application using hypertext transfer protocol (HTTP).
- Controls-
provides access to all ArcGIS Engine Controls (LicenseControl, MapControl,
PageLayoutControl, GlobeControl, SceneControl, ToolbarControl, TOCControl, SymbologyControl) and
all out of the box ArcGIS Engine commands, menus, palettes and multi-items. All controls, commands
and HookHelper objects have been removed from the ControlsCommands, 3DAnlayst and GlobeCore libraries into
the Controls library.
- DataSourcesNetCDF-
provides objects to access a netCDF file as a workspace and to create a raster
layer, feature layer or table view from a netCDF.
- GeodatabaseExtensionscontains 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.
- Geoprocessing-
the geoprocessing framework enables custom ArcGIS Engine applications to run existing
GP tools (models, scripts, custom tools). The GP tools available to custom ArcGIS Engine applications
depend upon the license the application is using. Custom ArcGIS Engine applications can run 'ArcView' level
GP tools and edit shapefiles and personal GDB using an engine runtime or ArcView license. Custom ArcGIS
Engine applications can run 'ArcEditor' level GP tools and edit enterprise GDB's using an engine runtime
with GDB update or ArcEditor license. In order to run an 'ArcInfo' level tool an ArcInfo license is
required.
Enhancements to existing libraries
- Carto-
provides new carto representations. Custom ArcGIS Engine applications can view and work
with carto representations using an engine runtime or ArcView license, but in order to create
or edit a carto representation an engine runtime with GDB update or ArcEditor license is required.
Additionally, the Carto and Display libraries both include objects needed to support the new display system available in ArcGIS 9.2, Dynamic Display. Dynamic Display is a core map rendering engine based on OpenGL technology, designed to support the requirements for a very active display environment. This includes the capability to move a large number of display objects at sub-second refresh rate and the manipulation of the entire display to support smooth panning, zooming, and rotation.
In addition, the following layer factories have been added to the Carto library:
- CadastralFabricLayerFactory
- EngineCadAnnotationLayerFactory
- EngineCadFeatureLayerFactory
- EngineCadLayerFactory
- EngineCoverageAnnotationLayerFactory
- EngineIMSLayerFactory
- EngineNetworkLayerFactory
- EngineTopologyLayerFactory
- EngineWMSMapLayerFactory
- FeatureLayerFactory
- NetCDFLayerFactory
- RasterCatalogLayerFactory
- RasterLayerFactory
- TerrainLayerFactory
- TinLayerFactory
- DataSourcesRasterincludes a new set of components that perform raster transformations such as polynomial transformation, RPC transformation, Coordinate transformation, and Spline transformation. In addition, APIs to build and retrieve raster attribute tables for all raster data sources are now available and the SaveAs capability has been extended to enable saving to raster formats such as PNG, JP2, BMP, JPG, PCRaster, X11 PixelMap, and file geodatabase.
- Displayprovides new components for editing feature class representations so that cartographic editing and finishing maps is a more convenient process. Representation is symbology stored in the geodatabase for each feature. Representation rules define how a set of features in a feature class will be drawn, using representation symbology rather than standard ArcGIS symbols. New symbols called Basic symbols (BasicMarkerSymbol, BasicLineSymbol, BasicFillSymbol) are provided with ArcGIS 9.2. In addition, methods are provided to convert standard ArcGIS symbols to Basic symbols. Basic symbols are then used along with GeometricEffects to define RepresentationRules. GeometricEffects are special processes that allow you to dynamically alter the geometry of features as they are drawn on your map, without affecting their underlying shape or spatial relationships. GraphicAttributes enable you to define attributes for GeometricEffects (width, dash style, simplify options, etc), MarkerPlacements (X, Y offsets), Basic symbols (patterns, strokes, etc), and feature class representation properties (visibility). Features can be displayed using the feature geometry or shape overrides from the representation or as a free representation graphic.
Additionally, the Display and Carto libraries both include objects needed to support the new display system available in ArcGIS 9.2, Dynamic Display. Dynamic Display is a core map rendering engine based on OpenGL technology, designed to support the requirements for a very active display environment. This includes the capability to move a large number of display objects at sub-second refresh rate and the manipulation of the entire display to support smooth panning, zooming, and rotation.
- GeoAnalyst-
two new interfaces IInterpolationOp3 and IRasterNeighborhood2 have been
added to this library.
- Geodatabasenew components have been added that create and manage feature class representations. Representation is symbology stored in the geodatabase for each feature. Creating new representations for a feature class results in the addition of two new fields (RuleID and Override) to the feature class. A new workspace extension called RepresentationWorkspaceExtension maintains information about representations present in a workspace. RepresentationClass, RepresentationClassName, RepresentationClassNames, and Representation are some of the new classes added to this library.
- GeodatabaseDistributednow provides components for geodatabase replication and a high level object model for using this functionality with ArcGIS Server.
- Geometrynow enables the creation of high precision spatial references and supports vertical coordinate systems to vector data, including shapefiles and feature classes.
A spatial reference is composed of two parts. The first includes the horizontal and vertical coordinate systems. The second includes storage and processing parameters for a dataset. Prior to this release storage parameters for a dataset were defined by the domains or area of interest (xy, z, and m) and the precision or scale values. The maximum precision value was 2147483647 if a domain had an extent of 1. This type of spatial reference is now called low precision. A high precision spatial reference, new at 9.2, has a maximum precision value of over 9000 trillion (9E15). The spatial reference concept of precision is difficult to understand so a new concept of 'resolution' is now in use. The resolution is the inverse of the precision and directly reflects the data's accuracy. Tolerances values are also supported. They are used with all geometric and relational operators.
The spatial reference coclass now supports ISpatialReferenceResolution and ISpatialReferenceTolerance interfaces. With the ISpatialReferenceResolution.ConstructFromHorizon method, you can automatically set the xy domain to the valid area of interest for a projected or geographic coordinate system. Use ISpatialReferenceFactory.ConstructHighPrecisionSpatialReference to create a high precision version of an existing low precision spatial reference.
Vertical coordinate system metadata is now supported for vector data including shapefiles and feature classes. A vertical coordinate system includes information on the origin and linear unit of z coordinates of a dataset. The ISpatialReferenceFactory3.CreateVerticalCoordinateSystem method to instantiate a predefined vertical coordinate system. Use IVerticalCoordinateSystemEdit.Define to create a custom vertical coordinate system. Set or retrieve the vertical coordinate system on a spatial reference with ISpatialReference3.VerticalCoordinateSystem.
- SpatialAnalyst-
two new interfaces, IHydrologyOp2 and ILogicalOperatorOp2 have been
added to this library. All GPValue, GPDataType, GPValueTableType and GPDomain
objects have been moved into the SpatialAnalyst library from the SpatialAnalystUI library.
New Controls
- SymbologyControl-
provides members to display the contents of server style files, style files, and
custom symbology. The control displays the contents on one symbology style class at any one time (for example,
marker symbols or color ramps) and provides members to select, remove and preview individual symbols.
Selected symbols can be used to update part of an application, such as a layer's renderer, an element's
symbol, or cartographic marginalia such as scalebars and north arrows.
Deprecated Controls
- ReaderControl-
Instead, use either the ArcGIS Desktop Publisher ArcReaderControl ot the ArcGIS Engine Controls, such as the MapControl, PageLayoutControl, TOCControl, and ToolbarControl.
Enhancements to existing controls
- ToolbarControl-
enhanced with the following:
- Appearance properties for vertical orientation, transparency, background color and shading
- Support for XP themes
- Hidden items menu when ToolbarControl is not large enough to display all items
- Support for multi-item objects on ToolbarMenu's
- ToolbarPalette object providing a popup palette of tools
- Right to left ToolbarMenu's and ToolbarPalette's
- Customizable ToolbarMenu's and ToolbarPalette's
- Support for buddy swapping
- Persisting and loading ToolbarControl items
- Context sensitive help
- TOCControl (Table of Contents Control)-
enhanced with the following:
- Getting and setting the selected layer
- Layer drag and drop from ArcMap
- Layer re-ordering by drag and drop
- Copying layers
- MapControl-enhanced with mouse wheel and keyboard display navigation.
- PageLayoutControl-enhanced with mouse wheel and keyboard display navigation.
- LicenseControl-enhanced with new ArcGIS Engine Runtime extensions and licensing levels.
New commands, tools, menus and palettes
To view a full list of all the out of the box items supported by the ToolbarControl, see
the ArcGIS Engine commands, menus,
palettes and multi-items topic.
- Add Data Command-provides support for file data sources (coverage, VPF, CAD, Data Interoperability),
personal GDB, file GDB, server data (SDE, IMS, ArcGIS, ArcWeb), raster data (known file extensions) and
schematics data.
- Full Screen Command-toggles between full screen and windows mode.
- Map and Globe Inquiry Commands- provides find, identify, measure, hyperlink, swipe and
transparency commands.
- Ink Commands-provides ink markup pens, highlighters and erasers, together with a find ink command.
In addition the EngineInkEnvironment object manages the ink environment used by these commands
and any custom commands you create.
- ArcWeb Services Commands-provides commands for signing in to and managing an ArcWeb services
account, and performing ArcWeb routing and place finding.
- Editing Commands-provides commands for managing an edit session (starting, stopping, saving), managing
selected graphics or features (cut, delete, copy, paste, move), managing the snapping environment, editing
attributes, sketching and displaying sketch properties and a context menu for managing the current sketch
(direction, deflection, length, endpoint, midpoint, vertex, streaming, absolute xy, delta xy). In
addition the EngineEditor object manages the editing environment used by these commands
and any custom commands you create. Custom ArcGIS Engine applications can edit shapefiles and personal
GDB with these commands using an engine runtime or ArcView license, or enterprise GDB data using and
engine runtime with GDB update or ArcEditor license.
- Network Commands-provides commands for managing network locations (creating, selecting, moving),
solving networks (route, closest facility, service area, OD cost matrix) and displaying directions.
In addition the EngineNetworkAnalystEnvironment object manages the network environment used
by these commands and any custom commands you create. Custom ArcGIS Engine applications must have a
Network extension checked out in order to use these commands.
- Schematics Commands-provides commands for managing schematics diagrams (create, update, save),
managing schematics elements (edit, move, select) and managing label and symbol size. Custom ArcGIS
Engine applications must have a Schematic extension checked out in order to use these commands.
Licensing modifications
All custom ArcGIS Engine applications must perform license initialization at application start time
using the LicenseControl or the AoInitialize object. Any existing 9.0 or 9.1 custom ArcGIS Engine
applications not containing license initialization will fail when run on the 9.2 platform.
Deployment modifications
ArcGIS Desktop 9.2 has been enhanced to install the .Net and Java interops if the
.Net Framework 2.0 and the JRE are installed respectively. When deploying a custom
ArcGIS Engine application to such a machine, there is no need to install the ArcGIS
Engine Runtime.