What is ArcGIS Engine?


ArcGIS Engine is a complete library of embeddable GIS components for developers to build custom applications. Using ArcGIS Engine, you can embed GIS functions into existing applications and build focused custom applications that deliver advanced GIS systems to many users. ArcGIS Engine consists of the ArcObjects Software Development Kit (SDK) and a redistributable runtime providing the platform for all ArcGIS applications. Since ArcGIS Engine is supported on Windows, Solaris, and Linux (Intel), developers can create cross-platform custom solutions for a wide range of users.
ArcGIS Engine Runtime and the ArcObjects SDK used to build and deploy a custom solution to many users.
The five parts of ArcGIS Engine are outlined below and illustrated in the diagram at right:
  1. Base Services—The core GIS ArcObjects required for almost any GIS application, such as feature geometry and display.
  2. Data Access—ArcGIS Engine provides access to a wide variety of raster and vector formats including the power and flexibility of the geodatabase.
  3. Map Presentation—ArcObjects for map creation and display with symbology, labeling, and thematic mapping capabilities including custom applications.
  4. Developer Components—High-level user interface controls for rapid application development and a comprehensive help system for effective development.
  5. Extensions—ArcGIS Engine Runtime is deployable with the standard functionality or with additional extensions for advanced functionality.
Each of these parts, including the extension functionality, is made available through your EDN subscription or the ArcGIS Engine Developer Kit. The ArcGIS Engine Runtime and its extensions, although integral factors in the development of a custom GIS application, specifically involve application deployment and are, therefore, considered separately.
Use the links below to jump ahead if desired:

ArcGIS Engine developer kits

The ArcGIS Engine Developer Kit license provides access to a component-based software development product for building and deploying custom GIS and mapping applications. The ArcGIS Engine Developer Kit is not an end user product, but rather a toolkit for application developers. It can be used to build basic map viewers or comprehensive and dynamic GIS editing tools. With the ArcGIS Engine Developer Kit license, you, as a developer, have an unprecedented flexibility for creating customized interfaces for maps. You can use one of several supported APIs to create unique applications or combine ArcGIS Engine components with other software components to realize a synergistic relationship between maps and the information that users manage.
Using ArcGIS Engine, the map itself can be either an incidental element within or the central component of an application. If, for example, the focus of your application is a database with information about businesses, ArcGIS Engine can enable the application to display a form with a map highlighting the business location of interest when your user performs a query on the database.
The ArcGIS Engine Developer Kit provides access to a large collection of GIS components, or ArcObjects, that fall into the categories discussed earlier—base services, data access, and map presentation. Another part of ArcGIS Engine that was discussed, developer components, is also included in the SDK. These are value-added developer controls for creating a high-quality map user interface. The ArcGIS developer controls are available with each supported API and platform. The following ArcGIS controls, or visual components, are provided to assist with application development:
  • MapControl
  • PageLayoutControl
  • SceneControl
  • GlobeControl
  • ToolbarControl
  • TOCControl
  • LicenseControl
  • SymbologyControl
  • Collection of commands, tools, and menus for use with the ToolbarControl
An ArcGIS controls-based application

ArcGIS Engine Runtime

The final component of ArcGIS Engine is the ArcGIS Engine Runtime license and its extensions. All applications built with the ArcGIS Engine Developer Kit require ArcGIS Engine Runtime, with the appropriate license, to execute successfully. ArcGIS Engine Runtime is the platform on which ArcGIS Desktop is built; this allows users of ArcGIS Desktop applications to execute custom applications based on ArcGIS Engine, if permitted by the ArcGIS Engine application developer. There are several ArcGIS Engine extensions ranging from standard to enterprise extensions.
ArcGIS Engine Runtime deployment options

Standard ArcGIS Engine functionality

The standard ArcGIS Engine Runtime provides the core functionality of all ArcGIS applications. This level of ArcGIS Engine Runtime provides the ability to work with several different raster and vector formats, map presentation and data creation, along with the ability to explore features by performing a wide range of spatial or attribute searches. This level also allows basic data creation, editing of shapefiles and simple personal geodatabases, and GIS analysis.

Geodatabase Update extension

The Geodatabase Update extension for ArcGIS Engine Runtime adds the ability to create and update a multiuser enterprise geodatabase managed with ArcSDE. This includes the ability to work with schemas and versioned geodatabases. The Geodatabase Update extension unlocks ArcGIS Engine Runtime with the necessary ArcObjects to run custom editing and advanced geodatabase solutions. These solutions include applications that deal with GIS data automation and compilation and the construction and maintenance of geodatabase features. The Geodatabase Update extension provides the ability to programmatically create geodatabase behaviors, such as topologies, subtypes, and geometric networks.
ArcGIS Engine developers with access to an RDBMS via ArcSDE are able to build and deploy multiuser editing applications to end users that have the ArcGIS Engine Runtime with the Geodatabase Update extension installed and configured.
The availability of the different levels of functionality is controlled by a software authorization file that can be configured by the end user or the developer of the application. For more details on deploying and configuring the ArcGIS Engine Runtime, refer to the Licensing and deployment section.

Other ArcGIS Engine extensions

Seven additional extensions are available for the ArcGIS Engine Runtime:
  1. Spatial extension—The ArcGIS Engine Runtime Spatial extension provides a powerful set of functions that allow applications to create, query, and analyze cell-based raster data. This type of analysis allows your users to derive information about their data, identify spatial relationships, find suitable locations, and calculate the accumulated cost of traveling from one point to another. Other advanced applications that this extension supports include the calculation of slope, aspect, and contours against digital elevation models (DEMs).
  2. 3D extension—The 3D extension for ArcGIS Engine Runtime enables the visualization of data in 3D. This extension supplements standard ArcGIS Engine with the components for viewing a surface from multiple viewpoints and determining what is visible from a chosen location. SceneControl and GlobeControl provide the interface for viewing multiple layers of 3D and global data for visualizing data, creating surfaces, and analyzing surfaces.
  3. Network Analyst extension—The Network Analyst extension is new at version 9.1 and enhances the standard ArcGIS Engine Runtime by adding the capability of routing, service area analysis, and creating and managing network datasets. The Network extension allows developers to create and deploy powerful custom applications for transportation, emergency response, fire, military, and a host of other purposes.
  4. Maplex extension (New at 9.2) - Allows developers to leverage the Maplex label placement engine for high quality text and label placement. Allowing for maps authored with ArcGIS Desktop and Maplex to look the same with a custom Engine solution.
  5. Tracking extension (New at 9.2) - The Tracking extension supports the display, analysis and manipulation of temporal data within a ArcGIS Engine solution.
  6. Schematics (New at 9.2) - The Schematic extension provides the developer components and ArcObjects to manage schematic data and processes. The Schematics extension to ArcGIS Engine supports the analysis, display and manipulation of schematic data.
  7. Data Interoperability extension (New at 9.2) - This extension eliminates barriers for data sharing by providing direct data access, transformation, and export capabilities via Geoprocessing tools. This extension enables ArcGIS Engine applications to easily use and distribute data in many formats.
The StreetMap USA extension functionality is no longer a separate extension for ArcGIS Engine but is included as part of the standard ArcGIS Engine Runtime. The StreetMap USA functions provide street-level mapping, address matching, and basic routing for the USA. StreetMap layers automatically manage, label, and draw features, such as local landmarks, streets, parks, water bodies, and other features, resulting in a rich cartographic street network for the USA.