Why use ArcGIS Engine

Many users require focused, lightweight access to a geographic information system (GIS) embedded in an application or as a stand-alone application. For example, users might need much less than ArcView and yet require access to sophisticated GIS logic in applications. In cases where customers need focused, customized access to GIS, ArcGIS Engine provides a lower cost, lightweight option. ArcEngine also provides distinct programming capabilities to the developers by its extensions.

In this topic

ArcGIS Engine capabilities

ArcGIS Engine offers extensive application programming interfaces (APIs) for building cross platform, multiuser GIS solutions. These APIs not only include detailed documentation for the developer to understand the capabilities of ArcGIS Engine, but also include a series of high-level visual components that make it easy for even the casual programmer to build an ArcGIS application.

Key features of ArcGIS Engine

The following are the key features of ArcGIS Engine.

Standard GIS framework

ArcGIS Engine provides a standard framework for developing GIS applications. The world's most popular GIS software (ArcGIS for Desktop Basic, Standard, and Advanced) is built from this same set of software objects. ArcGIS Engine is robust and extensible, and its rich functionality allows developers to concentrate on solving organizational problems, not building GIS functionality from scratch. ArcGIS Engine is suitable for building basic mapping, up through comprehensive and dynamic GIS applications. The following are some of the simple GIS solutions that can be implemented using ArcGIS Engine:
If deployed, the aforementioned capabilities of ArcGIS Engine are included in the standard ArcGIS Engine Runtime functionality and do not require any other extensions.

Cost effective deployment

ArcGIS Engine runtime is licensed per computer. This allows multiple ArcGIS applications to run on the same computer incurring the cost of only a single runtime license.

Developer controls

ArcGIS Engine provides a common set of developer controls that allow developers to deploy well-crafted applications with a common user experience. A common user experience has a short learning curve, so that returns on the applications, are quickly realized.

Cross platform functionality

ArcGIS Engine and its associated objects and controls are available on a wide variety of platforms including Windows, Solaris, and Linux. Your custom GIS applications fit within standard computing environments. There is no need to change or add operating environments to your current computing infrastructure.

Cross developer languages

ArcGIS Engine supports a variety of developer languages to use including, Component Object Model (COM), .NET, Java, and C++. This allows the objects to be programmed against using a wide range of tools and should not require your programming staff to learn a new or proprietary language.

Developer resources

The ArcObjects Software Development Kit (SDK) for the Java Platform provides a Help system with object model diagrams (OMDs) and sample code to help developers get started. Several developer tools and utilities are also included in the developer kit to facilitate development with the ArcGIS Engine.

ArcGIS extension functionality

The ArcObjects SDK for the Java Platform includes the extended functionality to update and create a geodatabase, and the functionality of 3D Analyst, Network Analyst, and Spatial Analyst. Some of the capabilities of the extensions are listed as follows.  

Editing features

The ArcObjects SDK for the Java Platform enables you to build applications that create, modify, and remove vector-shaped features in a geodatabase or shapefile. The ArcGIS Engine Runtime is used to run applications that edit shapefiles or the simple features of a personal geodatabase. However, to leverage the full function of the multiuser or file geodatabase, the Geodatabase Update extension of the ArcGIS Engine Runtime is required.

Spatial modeling and analysis

ArcGIS Engine Runtime Spatial extension provides a broad range of powerful spatial modeling and analysis functions. You can create, query, map, and analyze cell-based raster data; perform integrated raster or vector analysis; derive new information from existing data; query information across multiple data layers; and fully integrate cell-based raster data with vector data in a custom ArcGIS Engine application. For example, the following are some of the capabilities of ArcGIS Engine Runtime Spatial extension:
The following screen shot shows an application that was developed using the MapControl, which utilizes the spatial extension for ArcGIS Engine Runtime:

3D visualization and more

The ArcGIS Engine Runtime 3D extension further extends the capabilities of ArcGIS Engine to create applications that can effectively visualize and analyze surface and globe data using SceneControl and GlobeControl. You can create applications that view a surface from multiple viewpoints, query a surface, determine what is visible from a chosen location on a surface, and display a realistic perspective image by draping raster and vector data over a surface. The following are some of the other exceptional capabilities of 3D extensions:
The following screen shot shows the GlobeControl-based application developed using ArcObjects Java SDK:
The following screen shot shows a display of the SceneControl-based application:

Network analysis

ArcGIS Engine Runtime Network extension to ArcGIS Engine provides developers the capabilities to create applications that utilize network data in a variety of formats, as well as create and edit network datasets. The following network functions are available to developers as part of network extension:
The following screen shot shows the application performing networking analysis using the network extension: