Junction Analytics

Enhanced Junction Analytics service

Important Note
Explore ready-to-use traffic reports and data visualizations immediately by signing up for a 30-day free trial on the MOVE Portal. Once registered, you’ll receive an API key to start using the Traffic Analytics APIs right away. Alternatively, you may contact our Sales team for a tailored solution.

Important Note Enhanced Junction Analytics works only if you have been granted access to enhanced features. Once access is granted, only newly created or updated junctions will provide enhanced data.

Overview

This additional Junction Analytics module enables detailed analysis of individual traces within the context of a junction by extending the approach to up to three designated locations known as Arrival Points. These points are situated along the approach and provide speed and time metrics. Moreover, users can access a variety of statistics calculated for each individual trace passing through the approach.

The Enhanced Junction Analytics API is based on REST. It is synchronous, has resource-oriented URLs, and uses standard HTTP response codes.

Coordinate system

The latitude and longitude coordinates are in EPSG4326 / WGS84 format for both input and output.

These are the only supported coordinate systems.

Glossary

Arrival points – up to three designated locations along the approach to a junction, where statistics are calculated in the Enhanced Junction Analytics module. By default, these points are located at:

  • the stop bar (0 feet)
  • 40 feet from the junction
  • 350 feet from the junction

Control statistics – set of metrics used to assess the impact of traffic signals on traffic flow. These statistics are calculated based on an additional geometric configuration referred to as “control geometry.”

Control geometry – the underlying geometry used by the application to calculate control statistics. It is constructed as follows:

  • Approach: extends backward to the nearest signalized intersection or 1000 meters (whichever is shorter).

  • Exit: extends forward to the nearest signalized intersection or 250 meters (whichever is shorter).

    These points provide critical data for analyzing vehicle behavior and performance as they approach the junction.

Junction pass identifier (junctionPassId) – a stable, opaque identifier of a single vehicle pass through a junction, returned with every trace record in the enhanced data endpoints. See Junction pass identifier below.

Control delay methodology

Control delay is a traffic performance metric that quantifies the additional time a vehicle spends traversing an intersection due to deceleration, stopping, idling, and acceleration—compared to free-flow travel conditions. It reflects the extra time lost due to traffic control devices (like signals, signs, or congestion at intersections) and is commonly used in Level of Service (LOS) assessments for intersections.

Calculation boundaries

Approach: extends backward to the nearest signalized intersection or 1000m (whichever is shorter). Exit: extends forward to the nearest signalized intersection or 250m (whichever is shorter).

Steps to calculate control delay

1. Identify points
  • Deceleration point: the point where deceleration begins from the maximum speed prior to the first stop.
    • If no stop is present, or if the stop occurs within the first segment, this point is calculated based on the entire approach.
  • Acceleration endpoint: the point where the vehicle reaches its maximum speed after passing through the intersection.
2. Calculate metrics
  • Travel distance: from the deceleration point to the acceleration endpoint.
  • Initial speed: speed prior to deceleration.
  • Actual travel time: total time taken from the deceleration point to the acceleration endpoint.
3. Control delay formula

Control Delay = (Travel Distance / Initial Speed) - Actual Travel Time

Approach delay methodology

Approach delay refers to the additional time a vehicle experiences while approaching an intersection due to deceleration and the influence of traffic signals or other factors that affect its progress. It is calculated by comparing the actual time taken to travel from the deceleration point to the end of the approach with the theoretical time it would take at free-flow speed.

Calculation boundaries

Approach: extends backward to the nearest signalized intersection or 1000m (whichever is shorter). Exit: extends forward to the nearest signalized intersection or 250m (whichever is shorter).

Steps to calculate approach delay

1. Identify points
  • Deceleration point: the point where deceleration begins from the maximum speed prior to the first stop. If no stop is present, or if the stop occurs within the first segment, this point is calculated based on the entire approach.
2. Calculate metrics
  • Travel distance: from deceleration to the end of the approach.
  • Initial speed: Pre-deceleration speed.
  • Actual travel time: Total time from deceleration to the end of the approach.
3. Approach delay formula

Approach Delay = Actual Travel Time - (Travel Distance / Initial Speed)

Junction pass identifier

Each trace record returned by the Enhanced Junction Data and Enhanced Junction Batch endpoints carries a junctionPassId — a stable identifier of one physical pass of one vehicle through the junction, intended for delta detection: when you repeatedly download overlapping time windows of the same feed, the identifier tells you which records you have already processed.

A junctionPassId identifies one complete traversal of the junction by one vehicle — the pass as a whole, not its per-approach parts. Because a single pass can touch several approaches, the same identifier can appear on trace records under different approaches of the junction: those records describe the same physical pass and complement each other; they are not duplicates. Within a single approach, no two records share an identifier.

Stability guarantees

  • Same pass, same identifier — within a feed. Re-downloading the same time window of the same feed always yields the same value for the same record, no matter how many times or when you download it.
  • Once returned, a pass does not change. A record delivered with a given junctionPassId keeps its content in all subsequent downloads.
  • Identifiers do not carry across the LIVE and HISTORICAL feeds. The two feeds are processed independently, so the same physical pass may appear in both with different identifiers. Deduplicate within a feed, not across feeds.

Missing identifier

junctionPassId may be absent on a record (the field is omitted in JSON, null in Avro). This means no delta information is available for that record — typically data processed before the feature was enabled. Do not interpret a missing identifier as a new pass; deduplicate such records by their content, as you did before this field existed.

Privacy note Identifiers are produced by a one-way transformation and carry no information about the vehicle, driver, route, or time of travel. They cannot be used to identify a vehicle or link its journeys: repeated visits, other junctions, and other organizations all yield unrelated identifiers. The identifier’s scope is strictly one pass through one junction — anonymity is preserved across passes, across junctions, and across customers.

Endpoints overview - using the API step-by-step

  1. Create a junction definition:
  2. Wait for the junction definition to be processed. Monitor the definition status on the:
  3. Pull data for the processed junction definitions as described in the: