ArcNews Online

Spring 2004
Search ArcNews

E-mail to a Friend

Developing Custom Applications With ArcGIS Engine

  click to enlarge
Developing an ArcGIS Engine Java application in Eclipse.

ArcGIS Engine is a set of embeddable cross platform ArcObjects, ArcGIS software's underlying components, used to build custom GIS and mapping desktop applications or add new functionality to existing applications. ArcGIS Engine applications can vary from simple map viewers to custom GIS editing and analysis programs. It is important to note that with ArcGIS Engine, the map displays can be either an incidental or central element in the application. This feature makes ArcGIS Engine particularly well suited to vertical market applications.

This follow-on article provides an overview of developing applications with ArcGIS Engine.

ArcGIS Engine Developer Kit

Developers build applications with the ArcGIS Engine Developer Kit and deliver those programs to end users via licensed ArcGIS Engine Runtime software. The ArcGIS Engine Developer Kit includes resources to support comprehensive development tasks. An integrated help system is provided for several application program interfaces (APIs) (common object model [COM], Java, .NET, and C++) along with object model diagrams and samples for each part of ArcGIS Engine.

The ArcGIS Engine Developer Kit provides access to a large collection of ArcObjects components and includes visual developer controls for creating high-quality mapping user interfaces. These visual components are available as ActiveX controls, JavaBeans, and .NET Windows controls. The ArcGIS Engine Developer Kit controls can be combined with other controls and components to create customized user interfaces, displays, and reports.

What Developers Can Do With ArcGIS Engine

As a developer, you can implement these and many other functions in programs built with the ArcGIS Engine Developer Kit:

  • Display a map with multiple map layers such as roads, streams, and boundaries.
  • Pan and zoom throughout a map.
  • Identify features on a map by clicking on them.
  • Search for features on a map.
  • Draw images from aerial photography or satellite imagery.
  • Draw graphic features such as points, lines, circles, and polygons.
  • Draw descriptive text.
  • Select features along lines and inside boxes, areas, polygons, and circles.
  • Select features within a specified distance of other features.
  • Find and select features with a Structured Query Language (SQL) expression.
  • Render features with thematic methods such as value map, class breaks, and dot density.
  • Dynamically display real-time or time series data.
  • Find locations on a map from street address or intersection.
  • Transform the coordinate system of map data.
  • Perform geometric operations on shapes to create buffers; calculate differences; or find intersections, union, or inverse intersections of shapes.
  • Manipulate the shape or rotation of a map.
  • Create and update geographic features and their attributes.
  • Interact with personal and enterprise geodatabases.

Developing With ArcGIS Engine

Developers build ArcGIS Engine applications in their chosen integrated development environment (IDE) such as

  • Delphi and Visual Studio for Windows developers
  • JBuilder, Eclipse, and Sun ONE Studio for Java developers
  click to enlarge
GIS clients can range from simple browser access to professional GIS desktops such as ArcView and ArcInfo.

Developers register the ArcGIS Engine Developer components with their IDE and then create a forms-based application, adding in ArcGIS Engine components and writing code to build their application logic. For example, a developer can build a focused GIS mapping application by adding a map control, a table of contents control, and selected toolbars to their application.

Although a simple application can be built with just the high-level controls, practical applications of the ArcGIS Engine require knowledge of the different object libraries that compose the ArcGIS Engine.

Developer Tools

The ArcGIS Developer Kit includes three key collections of GIS logic:

  • Controls—Controls are visual user interface components for ArcGIS that you can embed in your applications. For example, a Map control and a Table of Contents control can be added to a custom application to present interactive maps.
  • Toolbars and tools—Toolbars contain collections of GIS tools for interacting with maps and geographic information in your application. Examples of tools include Pan, Zoom, Identify, and Selection tools. Tools are presented in the application interface on a toolbar. Tools simplify the process of building custom applications by providing a rich set of commonly used functions. Developers can simply drag and drop selected tools into their application interfaces.
  • Object Libraries—Object libraries are logical collections of programmable ArcObjects components, ranging from a geometry library to mapping, GIS data source, and geodatabase libraries. Programmers use these libraries in IDEs on a variety of platforms to develop application code that ranges from simple to advanced. These same libraries form the basis of ArcGIS Desktop and ArcGIS Server and can be accessed through most commonly used development environments (for example Visual Basic, .NET, C++, Java, and COM).

Deploying ArcGIS Engine Applications

Once built, ArcGIS Engine applications can be installed on two types of ArcGIS seats:

  • ArcGIS Engine seats that are embedded to run ArcGIS Engine applications
  • Existing ArcGIS Desktop seats (that is, seats running ArcView, ArcEditor, or ArcInfo) that are equipped to run ArcGIS Engine applications

An ArcGIS Runtime installation CD-ROM is included with the ArcGIS Engine media kit and can be installed and configured on many computers. A keycode file is required to enable ArcGIS Engine capabilities on each computer. Optional extensions to ArcGIS can also be enabled by adding a line to the keycode file.

Visit for more information including a comprehensive white paper detailing more development and deployment options for ArcGIS Engine.

Contact Us | Privacy | Legal | Site Map