- Engine with Tracking Analyst
- ArcGIS for Desktop Basic with Tracking Analyst
- ArcGIS for Desktop Standard with Tracking Analyst
- ArcGIS for Desktop Advanced with Tracking Analyst
- Server with Tracking Analyst
Additional library information: Contents, Object Model Diagram
To use the code in this topic, reference the following assemblies in your Visual Studio project. In the code files, you will need using (C#) or Imports (VB .NET) directives for the corresponding namespaces (given in parenthesis below if different from the assembly name):
The TrackingAnalyst library implements the non-user interface functionality of the Tracking Analyst extension to ArcMap. The Tracking Analyst extension supports the display, analysis, and manipulation of temporal data in ArcGIS.
Developers do not extend this library.
See the following sections for more information about this namespace:
- Tracking Analyst extension
- Temporal presentation
- Tracking data catalog
- Action processor
- Tracking utility
- Tracking messages
- Tracking data
Tracking Analyst extension
The Tracking Analyst extension binds the temporal and tracking components of Tracking Analyst into a cohesive set of objects that collectively allows for the display and analysis of temporal data. Tracking Analyst considers temporal data as a series of observations over time that have attribute and spatial importance. The extension provides the framework from which the temporal-based objects are attached to provide synchronized time across many tracking layers. This framework also provides the dynamic display management required to keep the display synchronized with the user-defined temporal perspective. A temporal perspective is either the current system time or a point in time of your choosing.
This subsystem manages the following functional aspects of Tracking Analyst:
- Common temporal reference - Provides a single temporal perspective for all display objects in Tracking Analyst. When analyzing data from different sources, it's important to synchronize the data's temporal reference so the state of the data shares common references, such as a common spatial extent and a common temporal perspective in time. This feature provides the mechanism to allow the temporal objects to efficiently archive this common reference.
- Dynamic display manager - Provides a mechanism to automatically update the display at a configured interval and provides methods to allow other software components to request animation updates to the display in a synchronized manner.
- Tracking label engine - The display of dynamic labels on top of temporal-based objects requires the introduction of a special label engine. This label engine provides the capability to efficiently label features on the screen that change dynamically over time.
Temporal presentation
The temporal presentation subsystem contains objects that display time series data in a map.
This subsystem is composed of the following:
- Temporal feature layer - Based on the feature layer with extensions that enable the display of time series data. This layer temporally indexes standard ESRI feature classes that contain date and time data as one of their attributes and displays this time series feature class data in temporal order. This layer introduces capabilities to query such data for a given temporal extent and to temporally offset such data.
- Temporal legend objects - Provides capabilities to symbolize data based on temporal offsets from the current temporal perspective. These objects are based on ESRI's legend objects and can be extended to provide storage and temporal analysis of time data to determine what temporal symbology to use.
- Temporal renderer - Provides a container that allows you to configure the temporal layer to symbolize time series data using temporal modifications to standard ESRI event-based rendering. Temporal symbolization options include filter data, symbolize data, size a symbol, or color a symbol based on time from a reference time.
Tracking data catalog
The tracking data catalog support subsystem implements a light-weight cataloging set of objects that are dependent on the ArcGIS Engine component libraries. This enables data catalog capabilities without using the ArcGIS application component libraries.
Action processor
The action processor subsystem provides a processing engine and action objects that allow for the dynamic analysis of streaming or display data. This subsystem is consumed by the tracking presentation and tracking data source. Each consumer of the action processing subsystem utilizes its capabilities for a specific purpose. The tracking presentation subsystem uses this subsystem while rendering symbology. See the following:
- Highlight specific features
- Temporal legend objects
- Temporal renderer
Tracking utility
The tracking utility subsystem is a general purpose area for components that serve utility functions. The most notable utility is the GML (Geography Markup Language) Converter Utility object. This object converts simple point, line, or polygon geometries to Extensible Markup Language (XML) format using the GML specification. This object also reconstitutes geometry from a GML XML document.
The following code example shows the use of the GMLConverter component to convert point geometry to a GML string:
[C#] private string ConvertGeomToGML()
{
IGMLConversion gmlConversion=new GMLConverterClass();
IPoint point=new PointClass();
point.PutCoords(55, 99);
gmlConversion.ESRIGeometry=point;
string strGML=gmlConversion.GML;
return strGML;
}
[VB.NET] Private Function ConvertGeomToGML() As String
Dim gmlConversion As IGMLConversion=New GMLConverterClass()
Dim point As IPoint=New PointClass()
point.PutCoords(55, 99)
gmlConversion.ESRIGeometry=point
Dim strGML As String=gmlConversion.GML
Return strGML
End Function
Tracking messages
The message system is the common framework by which messages are transmitted and received in the tracking data source. The message system is composed of the following message components referred to as message types:
- Command
- Command responses
- Data
- Status
Each message type shares or implements the IMessage interface. This interface provides a base set of functionality that enables the tracking data source to handle, route, or broadcast any of the message types without regard to their type.
Tracking data
The tracking data source subsystem contains a geodatabase implementation for real-time data. This subsystem is composed of the traditional geodatabase constructs, such as workspace factory, workspace, and feature class. It also introduces the construct of a data source connection. This connection provides a list of tracking services and tracking data definitions.
A tracking service can be either simple or complex. The simple data service provides one data event that describes the time series events containing the time, attribute, and spatial information. The complex data service provides two data events that describe the time series as a composite of two events containing the time, attribute, and spatial information. The current implementation of this data source does not provide editing capability through the application programming interface (API).