This repository documents a university seminar project on the use of Floating Car Data (FCD) to assess traffic performance along a selected road corridor. The analysis explores whether the density of FCD measurements along a route can be used as an indicator for the traffic situation, especially travel time and speed patterns.
The project was developed as part of a seminar on Floating Car Data. It uses GPS-based vehicle measurements, OpenStreetMap (OSM) road geometries, and a corridor-based analysis workflow.
Research question
What does the density of Floating Car Data measurements tell us about the traffic situation along a road segment, and how can this relationship be quantified?

The analysis was inspired by the work of Graser et al., "Assessing Traffic Performance using Position Density of Sparce FCD".
Floating Car Data consists of timestamped vehicle position measurements, usually including coordinates, speed, heading, and trip identifiers. Instead of only using the recorded speed values directly, this project investigates whether the spatial and temporal density of measurements can provide information about traffic performance.
The basic assumption is intuitive: if vehicles move slowly or spend more time on a road section, more measurements may accumulate in that section. Higher measurement density can therefore indicate lower traffic performance, while lower density may indicate smoother traffic flow. The analysis tests this idea by converting trips along a selected road corridor into a one-dimensional representation and comparing density-based indicators with speed and travel-time measures.
The analysis focuses on a selected section of the Südtangente in Karlsruhe, Germany, using FCD provided by INRIX for the city of Karslruhe in a for the time period 30-12-2020 to 01-01-2022.
The selected corridor was represented using OpenStreetMap road geometries. FCD points were then filtered and matched to this corridor before deriving traffic performance indicators.

OSM map of selected Südtangente corridor in Karlsruhe.
The analysis follows six main steps.
The first step was to define the road section to be analysed. The selected corridor is a section of the Südtangente in Karlsruhe. The corridor was identified through OSM road geometries and used as the spatial reference for the rest of the workflow.
The purpose of this step was to reduce the original FCD dataset to a clearly defined traffic corridor, making the later analysis of density, speed, and travel time comparable across trips.

OSM road segment of the selected Südtangente corridor in Karlsruhe.
The FCD points were assigned to OSM road segments. This step is commonly referred to as map matching. In this project, the goal was not to reconstruct the full route of every trip, but to identify which GPS measurements belong to the selected road corridor.
The matching procedure links individual GPS measurements to nearby OSM road geometries. Points that could not be assigned to the selected corridor were excluded from the corridor-level analysis.

FCD points for a single trip, matched to selected road corridor segments.
After assigning points to OSM road segments, the next step was to identify trips that actually travelled along the selected corridor.
This involved filtering by:
- trip identifiers,
- matched OSM road segments,
- direction of travel,
- and consistency of the measurement sequence.
Filtering by direction was important because the same road corridor may contain traffic in both directions. Trips in the opposite direction were removed so that all remaining trips could be analysed consistently along one route direction.

Example of accepted and rejected trips along the corridor.
To compare trips, the road corridor was transformed from a two-dimensional geometry into a one-dimensional route axis. Each point was assigned a position along the route, measured as distance from the start of the corridor.
This step made it possible to compare different vehicle trips even if the original GPS points were not recorded at identical locations. Instead of comparing latitude and longitude directly, the analysis compares the progress of each trip along the corridor.
This allows to visualise different variables along the trajectory, such as travel time or speed.
Road geometry projected onto a one-dimensional distance axis. Analysis of travel time and speed.
FCD measurements are often irregular. Different vehicles may report positions at different time intervals, and even one trip may contain uneven gaps between observations. To make trips comparable, the trajectories were resampled.
The resampling step interpolates or standardizes measurements so that the position of each vehicle along the route can be compared on a common analytical basis.
This step also revealed data quality issues. The original project notes inconsistencies such as:
- duplicate measurements at the same timestamp with different speeds,
- positive speed values without corresponding movement,
- and interpolation problems when distance values do not increase as expected.

Irregular FCD measurements resampled and transformed into a comparable trajectory representation.

Comparison of travel trajectories along unified time stamps.
The final step was to calculate measurement density and derive traffic performance indicators from it.
The core idea is that the number and distribution of FCD measurements along the route can provide information about vehicle movement. If vehicles spend more time in a section, more measurements are likely to appear there. This can indicate congestion or slower travel speeds.
The analysis compared density-based measures with more conventional traffic indicators such as:
- travel time,
- average speed,
- local speed patterns,
- and changes along the selected corridor.

Density curve along the corridor for different kernel sizes (bandwidths).
The analysis showed that FCD measurement density can be used as a meaningful proxy for traffic performance, but only with careful preprocessing and interpretation.
-
Measurement density contains traffic information
Sections where vehicles spend more time tend to produce denser measurement patterns. These denser areas can indicate lower speeds or increased travel times. -
Indicators derived from FCD data can approximate real measures
Estimated travel speed from density calculation can be a suitable proxy.
-
Corridor projection makes trips comparable
Projecting the road geometry onto a one-dimensional distance axis allows different trips to be compared along the same route, independent of their exact GPS coordinates. -
Resampling is necessary but sensitive
Because raw FCD is irregular, resampling is needed to compare trajectories. However, interpolation can introduce problems when the underlying data contains inconsistencies. -
Data quality strongly affects the results
The analysis identified several inconsistencies, including duplicate timestamps with different speeds and cases where positive speed was recorded without measurable movement. These issues need to be handled before density-based indicators can be interpreted reliably.

Average speed as infered from density calculation compared with average speed data as provided in the data.
This project was exploratory and should be interpreted as a methodological prototype rather than a production-ready traffic monitoring system.
Important limitations include:
- The analysis depends on the quality and sampling rate of the FCD source.
- Sparse data can distort density-based indicators.
- Map matching errors can affect corridor assignment.
- Interpolation may become unreliable if trips contain inconsistent timestamps, speeds, or distance progressions.
- Density-based measures require calibration before they can be compared across different periods, routes, or datasets.
The original project identified several directions for further work:
- integrate absolute measurement frequencies to improve comparability between scenarios,
- calibrate transition or “settling” effects in the density calculations,
- identify typical density patterns for normal traffic conditions,
- use deviations from typical patterns to detect anomalies,
- and improve handling of inconsistent FCD observations before interpolation.

Density projection along the corridor (bw=50).
floating-car-data-traffic-performance/
│
├── README.md
├── docs/
│ ├── Preprocessing_Kriegsstrasse_FCD.html
│ └── Assessing_Traffic_Performance.html
├── notebooks/
│ ├── Preprocessing_Kriegsstrasse_FCD.ipynb
│ └── Assessing_Traffic_Performance.ipynb
├── outputs/
│ └── figures/
├── src/
│ └── utils/
├── Literatur/
├── requirements.txt
└── LICENSE
Detailed descriptions of analysis steps and results are available in the jupyter notebooks.
The data was not uploaded due to licensing restrictions.