GPU-Based track visualization of multivariate moving object data


Type master project
Place Internal
Supervisor Huub van de Wetering, Niels Willems
Student Roeland Scheepens
start/end date March 2010 - October 2010
Thesis GPU-Based track visualization of multivariate moving object data


Moving object data visualization and analysis is a growing field of research. In this thesis we present a continuation of previous work where paths of moving vessels are convolved with a kernel onto a den-sity map to aid operators of coastal surveillance systems and analysts. The density map is visualized as a shaded height field and reveals hotspots of vessel activity.

Our improvements are twofold: First, we increase the computation speed of the density map by roughly a factor using modern graphics hardware and second, we introduce several visualization methods to reveal spatial and temporal distributions as well as relations between subsets of the data that are otherwise not visible in the traditional density map.

We present a geographic information system that allows an operator to analyze data sets containing moving objects. While the main focus in this thesis is data sets of ocean faring vessels, we show that our method is applicable to other types of moving object data sets as well.


A moving object is defined as an entity whose position changes over time. These objects can represent anything ranging from airplanes to particles. The analysis of moving object data is performed in varying scientific fields such as meteorology, biolo-gy, sociology, transport engineering and analysis of animal movement behavior and migratory pat-terns.

In this thesis we present a visual setting in the form of a Geographic Information System (GIS) for analyzing and visualizing the movements of ocean-faring vessels. We do this by plotting a density map containing the area usage of the vessels. The area usage of the moving vessels is computed using kernel density estimation. We do this by blurring or convolving our movement data using some kernel function. We improve and extend on an existing method by Willems et al.–see additional information, designed to compute and visualize a density map of moving vessels. As our contributions, we significantly improve the computation speed by utilizing modern graphics hardware and introduce several interactive visua-lization techniques that have been made possible by the increase in computation speed.

Density Maps

The main purpose of our system is to visualize the area usage patterns of moving objects in the form of a density map. A density map is a planar representation of the data set in which each point has an associated density related to the amount of time the moving object has been near that point. We use a kernel function to define the concept of near such that moving objects contribute more to a certain point the closer they are to it.

Sliding Time Window

To see how the moving objects behave and how their movements evolve over time, we isolate certain interest points in time. In other words, we want the density of a certain moment in time instead of the density over the entire time range of the data set. A single moment in time, however, does not give any information on how the movement behavior evolves over time. To this end we introduce the sliding time window defined by an interest point in time and a window size. Only the movements of the objects within this time window are convolved onto the density map. This gives the interest point a context in the form of its immediate history.

Above: A density map visualized with a time window size of an hour and the linear weight function at the moment that some vessel is arriving at an anchor zone (Left) and a time window density map overlaid on a full density map showing vessels traveling at different speeds over the shipping lanes (Right).


A density map consists of several layers of movements at different times and with different velocities. Also, each moving object has different properties such as size or vessel type. These layers are hard, if not impossible, to distinguish on a density map containing a large amount of movements. We introduce a special type of density map within our density convolution framework to emphasize points or layers of interest. We divide the data set into several subsets which we call bins based on some criteria. A bin is a subset of the data based on some data filter function. As an example, if a dataset ranges over an entire day the dataset can be segmented uniformly in bins such that each bin contains two hours of object movements. For each bin we generate a density map. These density maps are then aggregated using some operator. Each density map may have used different convolution parameters such that some bins show up stronger or in more detail in the aggregated density map. This can be done by varying the kernel radius per bin or attaching a weight to the density per bin.

Above: An aggregation of four density maps using addition. The data set of a single day is divided into four consecutive bins of six hours each. Using decreasing kernel sizes and increasing weights we can highlight activity in the last six hours of the day and find unusual activity in the evening.


If multiple density maps have been generated they can be combined using the density combination operator. This is a generic operator with one or more density maps as input and as output a single combined density map. The density combination operator is left as a generic operator such that a large variety of functions can be plugged into the operator. This opens up possibilities for multiple density map combination techniques for different purposes. We have defined a weighted addition operator, an anomaly detection operator and an absolute difference operator.

In the image to the right we show the anomaly detection operator at work. A larger historic set of data is used as a reference and shown in white, while movements in a smaller set are visualized as anomalies using a green to red color map when the vessels move in areas where there is few to no historic traffic.


We can generate and visualize different types of density maps. We can show subsets of the data in time to visualize spatio-temporal relations or combine different density maps into a single visualization.

To visualize the densities, we apply a color map to the density map to help distinguish between different values. We model our density map as a height-map where we interpret each density in a point as a height and apply lighting to the height map to give the illusion of actual height differences. Shading reveals subtle differences in density that may otherwise not be visible.

Visualization Operator

We can generate different visualizations by using a generic visualization operator. We have implemented an operator that applies a single color map to the density and an operator that applies a different color map to each segment of the dataset, used in combination with the aggregation method. This results in a number of colored layers that can be mixed using different techniques.

Above: Four density maps colored with red, green blue and purple, each representing a different 4-hour block during a single day, combined using opacity (A), the maximum operator (B) and the pixel block operator with a pixel block size of two pixels(C).

Additional Information