Tracking Objects In Motion

By Mark Myers, ObjectFX Corporation

Published in GeoWorld, February 2007

Technologies such as the Global Positioning System (GPS) and Radio Frequency Identification (RFID), as well as a new generation of sensing devices, have made it possible to monitor just about any human or physical activity and pinpoint that activity in time and space. Sensor networks and ubiquitous communication infrastructure can tie such data to back-end systems for a variety of applications.

Some obvious examples are vehicle-tracking systems used by commercial shippers as well as "people-tracking" services that have emerged in the United States and elsewhere. Although commercial and consumer-oriented "location-based services" have gotten most of the attention to date, there are several not-so-obvious applications in industry, public safety, homeland security and defense that use dynamic location data.

With so much data available, the key challenge for any application is to recognize the interesting and important exceptions. As humans, we’re good at determining what conditions should be flagged for response or closer scrutiny. But we’re not good at monitoring a lot of moving objects for long periods of time. Fatigue, distractions and simple human shortcomings nearly guarantee that some things will elude our attention.

Even at our best, we’re not able to track a large number of items simultaneously. Perhaps the most valuable function that a monitoring or tracking system can perform is to reduce the overwhelming amount of data down to a manageable subset for human response or further analysis.

Beyond GIS

Traditional GISs play a supporting role in these applications by providing a visual backdrop and location information for relatively static elements such as roads, buildings and geographic features as well as by displaying the location and geographic context of tracked objects. For example, a "breadcrumb trail" can be used to show the movement of a tracked object through time and space.

In a "geofencing" application, GIS tools are typically used to draw or select boundaries that are monitored for "enter" and "exit" events. Spatial queries and other spatial operations can be applied to determine if a tracked object is inside or outside a designated area.

These tools may be adequate for the most basic geofencing applications, but they fall short of exploiting the full value of dynamic location data in two respects:

  • In applications in which the number of tracked objects, boundaries and rules being actively monitored can number in the tens of thousands or millions, there are inevitable scalability problems.
  • The prevailing concept of geofencing needs to be expanded beyond simple enter and exit events. Factors such as speed, direction, density, proximity of moving objects to fixed or moving objects, altitude, and the all-important factor of time must be accommodated.

A Spatiotemporal Rule Engine

To improve this situation, we need a specialized, "pluggable" middleware component capable of processing large amounts of spatial and temporal data in a streaming format against a set of constantly changing rules and boundaries. The concept isn’t a radical departure, but a natural evolution of a long-standing concept adapted to spatiotemporal rule processing. As a middleware component, a spatiotemporal rule engine should be easily integrated. Beyond the core engine capable of processing spatiotemporal rules, the resources required by such a system are minimal: a database of spatial and temporal boundaries that define the areas and timeframes of interest, and a set of rules defined by users.

Interfaces to such a system can be minimal and straightforward. Inputs can be "location reports" or "observations" from collection systems that contain, at minimum, a unique identifier for the tracked object, a time stamp and a location. Additional metadata may be included and used in rule processing.

The system’s output can be considered an "event" that’s produced when a rule tests true, and it typically would contain contextual information identifying the event’s subject and targets, time and position, and rule logic used to detect it.

Events produced by a spatiotemporal rule engine can trigger downstream actions that are under the control of the "host" application. For example, an event could cause a symbol or alert to appear on a map to inform a human operator, trigger an automated response from another application or generate an e-mail alert.

The Human Element

Automated rule processing isn’t a substitute for human reasoning. It’s a way to encapsulate human understanding in a set of rules so we can mine large amounts of location data and reduce them to manageable proportions, letting humans focus on what’s most important.