Icebergs in Motion - TRAJECTORY SIMPLIFICATION AND VISUAL ANALYTICS OF MASSIVE GEOSPATIAL DATA

The project starts with historical iceberg tracking data collected from public and scientific sources. These records are parsed into consistent trajectories, cleaned, ordered in time, and enriched with metadata such as dates and identifiers. Because raw paths can contain thousands of points, several simplification and smoothing methods are applied to reduce visual clutter while retaining the essential shape and behavior of the movement. The result is an interactive web-based view that makes it easier to compare methods, tune parameters, and understand how different preprocessing choices affect the final trajectory. This project focuses on trajectory simplification and smoothing techniques for geospatial movement data, exemplified to iceberg tracking.

Check out the interactive iceberg trajectory visualization: Icebergs and source on Github

This project combines trajectory simplification, smoothing, and visual analytics to turn raw movement data into clear, interactive, and meaningful representations.

Check out the tool here

Iceberg trajectories reflect the interaction between ocean currents, wind, and climate dynamics, offering a powerful lens into environmental change. At the same time, the data is complex: long, noisy paths that are difficult to visualize and interpret at scale.

Check out the tool here

Data source and parsing

Data source

The project uses historical iceberg trajectory records collected from external tracking datasets. In practical terms, the raw data consists of timestamped geographic positions for individual icebergs, often spread across many files or records. At a high level, each iceberg becomes a trajectory: an ordered sequence of longitude-latitude locations over time.

Parsing and preparation

Before the data can be visualized, it needs to be transformed into a consistent structure.

The parsing pipeline typically includes:

reading raw records from the source files

  1. grouping positions by iceberg identifier

  2. sorting each iceberg trajectory by date

  3. converting positions into a clean coordinate array

  4. extracting first and last observation dates

  5. removing invalid or incomplete records when needed

  6. preparing optional metadata for filtering, styling, and interaction

This process turns raw observational data into analysis-ready trajectories that can be rendered efficiently in the browser.

Simplification methods

Trajectory simplification reduces the number of points while preserving the overall shape of the path. This improves performance, reduces visual clutter, and makes patterns easier to interpret.

Ramer–Douglas–Peucker (RDP)

Removes intermediate points that fall within a distance threshold from the straight line between their neighbors.

UI parameter:

  1. Epsilon (km) — maximum allowed deviation from the original path

How it works: The algorithm recursively keeps only points that contribute significantly to the global shape. Points that lie close to straight segments are removed.

What to expect:

  1. small epsilon: very close to original path, minimal reduction

  2. large epsilon: aggressive simplification, only major turns remain

Use when: You want to preserve the overall structure and major direction changes with strong data reduction.

Visvalingam–Whyatt

Iteratively removes points that contribute the least local area.

UI parameter:

  1. Area threshold (km²) — minimum triangle area a point must contribute to be preserved

How it works: Each point forms a triangle with its neighbors. Points with the smallest area (least visual importance) are removed first.

What to expect:

  1. low threshold: gentle simplification

  2. high threshold: smoother, more generalized paths

Use when: You want visually smooth simplification that avoids sharp artifacts and preserves natural flow.

Smoothing methods

Smoothing adjusts point positions to reduce noise and small-scale jitter while preserving the overall trajectory trend.

Savitzky–Golay

Fits a polynomial over a sliding window to smooth the trajectory.

UI parameters:

  1. Window size — number of neighboring points used for smoothing

  2. Polynomial order — flexibility of the fitted curve

How it works: Instead of averaging points, the method fits a local polynomial, which better preserves peaks and curvature.

What to expect:

  1. larger window: smoother, less detail

  2. smaller window: retains local variation

  3. higher order: more flexible fit, but can introduce artifacts if too high

Use when: You want to reduce noise while keeping the characteristic shape of the trajectory.

Kalman Filter

Uses a motion model to estimate the most likely trajectory.

UI parameters:

  1. Measurement σ (km) — assumed noise in observed positions

  2. Acceleration σ (km/day²) — how much the trajectory is allowed to change dynamically

How it works: The filter balances observed positions with a physical motion model (constant velocity with allowed acceleration). It produces a smoothed, physically plausible path.

What to expect:

  1. higher measurement σ: smoother result, less trust in raw data

  2. higher acceleration σ: more responsive to rapid direction changes

Use when: You want physically realistic smoothing that accounts for motion dynamics, not just geometry.

Beyond icebergs

Although this project is centered on iceberg movement, the same methods are broadly useful for other trajectory datasets: ships, vehicles, aircraft, animals, storms, pedestrians, and many more. Any domain that works with long, noisy, spatiotemporal paths faces the same challenge: how to reduce complexity without losing meaning. Icebergs provide a compelling and visually rich case study, but the underlying methods are general-purpose tools for trajectory analysis and visualization.

Final thought

This project shows that trajectory preprocessing is not just a technical optimization step. It directly shapes what people can see, compare, and understand in movement data. By combining clear visual design with simplification and smoothing techniques, the site turns large raw iceberg tracks into a more interpretable analytic experience. In that sense, the work is relevant not only to climate and polar data, but to trajectory-based analytics more broadly.