Why use ArcGIS Engine


Summary 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 may 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 (ArcView, ArcEditor, and ArcInfo) 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:
  • Display a map with multiple map layers, such as roads, streams, and boundaries
  • Pan and zoom throughout a map
  • Identify features on a map
  • Search for and find features on a map
  • Display labels with text from field values
  • 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 by geocoding addresses or street intersections
  • Transform the coordinate system of your map data
  • Perform geometric operations on shapes to create buffers (calculate differences) and find intersections, unions, or inverse intersections of shapes
  • Manipulate the shape or rotation of a map
  • Create and update geographic features and associated attributes
  • Execute a geoprocessing tool
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 below:  

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:
  • Convert features (points, lines, or polygons) to raster
  • Create raster buffers based on distance or proximity from features or rasters
  • Generate density maps from point features
  • Derive contours, slope, viewshed, aspect, and hillshades
  • Perform grid classification and display
  • Use data from standard formats including the following, and so on:
    • Tagged image file format (TIFF)
    • Band interleaved by line (BIL)
    • Image file (IMG)
    • United States Geological Survey (USGS)
    • Digital elevation model (DEM)
    • Spatial Data Transfer Standard (SDTS)
    • Digital Terrain Elevation Data (DTED)
The following screen shot shows an application that was developed using the MapControl, which utilizes the spatial extension for the 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:
  • Display ArcScene and ArcGlobe documents
  • Perform interactive perspective viewing, including pan and zoom, rotate, tilt, and fly-through simulations for presentation and analysis
  • Display real-world surface features, such as buildings
  • Perform viewshed and line-of-sight analysis, spot height interpolation, profiling, and steepest-path determination
The following screen shot shows C# code for the inset GlobeControl-based application:
The following screen shot shows a display of the SceneControl-based application:
 

Network analysis

The 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:
  • Path—Finds a path through a set of network locations that minimizes some impedance (cost) attribute
  • Tour—Determines the minimum cost path to reach a series of stops; also determines the order in which the stops are visited
  • Directions—Generates a series of directions for the user
  • Closest facility—Given a network location (an incident), finds the closest facilities
  • Service areas—Finds all network elements in a given distance from a network location
The following screen shot shows network data that was created using the network extension: