SigTDD Documentation

The user guide for the time-distance (time-space) diagram tool for traffic signal coordination

What is a time-distance diagram?

A time-distance diagram (TDD), called a time-space diagram in North American practice, is the drawing traffic engineers use to analyse and optimise signal coordination along a corridor of intersections: distance on one axis, time on the other, the signal phases at each intersection drawn as bars, and vehicle progression as sloped lines. The longer explanation, with a worked diagram, is on the time-distance diagram page.

Y-Axis: Distance

Intersections are plotted vertically based on their cumulative distance along the corridor, measured in metres from the first intersection.

X-Axis: Time

Time progresses horizontally in seconds, showing the signal cycle repeating across the diagram width.

Phase Bars

Colored horizontal bars at each intersection show when each signal phase is active (green, yellow, red periods).

Travel Paths

Diagonal lines represent vehicle progression. The slope indicates speed - steeper lines mean slower travel.

The Goal: By adjusting signal offsets, engineers can create a "green wave" - allowing vehicles travelling at the design speed to pass through consecutive green lights without stopping.

Getting Started

A plan is built from an intersection table; the diagram is drawn from that table as you type. Start from a new plan, an imported file or one of the six example corridors.

Creating a new plan

  1. Click New in the toolbar to start a fresh plan
  2. Click Add Intersection (+ button) in the data grid
  3. Enter intersection parameters: name, distance, speeds, offset, and phase durations
  4. Repeat for each intersection in your corridor
  5. The TD Diagram updates automatically as you enter data

Tip: New intersections are added with default values (400m distance, 60 km/h speed, 36s phases). Modify these to match your corridor design.

Importing existing data

SigTDD supports importing data from multiple file formats:

  • CSV: Spreadsheet export with intersection data
  • JSON: SigTDD plan or corridor export
  • UTDF: Synchro Universal Traffic Data Format export
  1. Click Import in the toolbar
  2. Select your file (format is auto-detected)
  3. The plan will be loaded and displayed immediately

CSV Format

No.,Name,Dist N,V N,V S,OS,A,B,C,D,E,Dir
1,Intersection - 1,400,60,60,0,36,36,36,36,36,"NS,N,S,NA,NS"
2,Intersection - 2,400,60,60,24,36,36,36,36,36,"NS,N,S,NA,NS"
3,Intersection - 3,400,60,60,48,36,36,36,36,36,"NS,N,S,NA,NS"
ColumnDescriptionUnit
No.Intersection sequence number-
NameIntersection identifier-
Dist NDistance to next intersectionmetres
V NDesign speed northboundkm/h
V SDesign speed southboundkm/h
OSSignal offsetseconds
A-FPhase durationsseconds
DirPhase directions (NS, N, S, NA)-

Exporting your plan

Save your work in multiple formats:

  • CSV (Active Plan): Spreadsheet-compatible format for data analysis or sharing with other tools. Exports only the current timing plan.
  • JSON (Active Plan): Single plan data in legacy format for compatibility with older workflows.
  • Corridor JSON (All Plans): Complete corridor with all timing plans in a single file. Best for backups and project sharing.
  • PDF: Printable document with diagram and data table for the active plan.
  1. Click Export in the toolbar
  2. Select your preferred format from the dropdown
  3. The file will download automatically

Auto-save and drafts

SigTDD automatically saves your work to your browser's local storage:

  • Changes are saved automatically after 1 second of inactivity
  • Your draft is restored when you return to the application
  • No login required - data is stored locally in your browser

Important: Local storage is browser-specific. Use Export to create permanent backups or to transfer work between devices.

Timing Plans

A corridor can contain multiple timing plans - different signal timing variations for the same set of intersections. This allows you to model different scenarios such as AM peak, PM peak, off-peak, or weekend timing plans.

What are timing plans?

Each timing plan represents a complete set of signal timings for your corridor. All plans share the same intersection geometry (names, distances, speeds) but can have different:

  • Offsets - Different coordination patterns for each plan
  • Phase durations - Adjusted green times for different demand patterns
  • Phase directions - Different sequencing assignments
Example: A corridor might have:
  • AM Peak - Optimized for inbound (southbound) commuters
  • PM Peak - Optimized for outbound (northbound) commuters
  • Off-Peak - Balanced progression in both directions

Using the Plan Selector

The Plan Selector appears in the center of the toolbar when a corridor is loaded. It shows the current plan name and position (e.g., "AM Peak - 1 of 3").

Navigation

  • ‹ / › arrows - Navigate to previous/next plan
  • Click the plan name - Opens dropdown to select any plan
  • Double-click the plan name - Rename the current plan

Dropdown Menu

Click the plan name to open the dropdown menu with these options:

  • Plan list - Click any plan to switch to it
  • + New Plan - Create a blank timing plan
  • ⧉ Duplicate - Copy the current plan (useful for creating variations)
  • × Delete - Remove the current plan (requires confirmation)

Tip: Drag plans in the dropdown to reorder them. Use the ⠿ handle to drag.

Creating and duplicating plans

Creating a New Plan

  1. Click the plan name in the toolbar to open the dropdown
  2. Click + New Plan
  3. A new plan is created with default phase timings
  4. Double-click the plan name to rename it

Duplicating an Existing Plan

  1. Navigate to the plan you want to copy
  2. Open the dropdown and click ⧉ Duplicate
  3. The new plan copies all timings from the current plan
  4. Modify the duplicate as needed

Tip: Duplicating is faster than creating from scratch when you want to make small adjustments to an existing timing pattern.

Shared vs plan-specific data

Understanding what's shared and what's plan-specific:

Data TypeShared?Description
Corridor nameYesSame name for all plans
Intersection namesYesLocation identifiers
DistancesYesPhysical spacing between intersections
Design speedsYesTarget progression speeds
OffsetsNoDifferent per plan
Phase durationsNoDifferent per plan
Phase directionsNoDifferent per plan

When you edit intersection geometry (name, distance, speed), the change applies to all timing plans. When you edit signal timing (offset, phases), the change only affects the current plan.

Exporting with multiple plans

SigTDD provides different export options depending on your needs:

Single Plan Export

  • CSV (Active Plan) - Exports only the currently selected plan
  • JSON (Active Plan) - Exports the current plan in legacy format

Full Corridor Export

  • Corridor JSON (All Plans) - Exports the complete corridor with all timing plans in a single file

Tip: Use Corridor JSON for backups or sharing complete projects. The file preserves all plans and can be imported back into SigTDD with everything intact.

PDF Export

PDF export includes the diagram and data table for the active plan only. To document multiple plans, export each plan as a separate PDF.

TD Diagram

The diagram plots cumulative distance up the page and time across it. Phase bars show each intersection's signal sequence shifted by its offset; projection lines and bands show where vehicles at the design speed meet green.

Phase bars

Phase bars are colored horizontal segments at each intersection showing the signal phases in sequence. Each phase ends with an amber (yellow) transition and a 1-second all-red clearance.

Phase bar colors indicate the sequence direction assigned to each phase:

DirectionColorMeaning
NB & SBCyanPhase allows both northbound and southbound movements
NB onlyPurplePhase allows northbound movements only
SB onlyGreenPhase allows southbound movements only
NAGreyPhase not sequenced (e.g. pedestrian or turn phase)

The offset value shifts the entire phase pattern horizontally for each intersection. This is the key parameter for creating green wave progression.

Tip: Right-click any phase cell in the data grid to change its direction. The default directions for new intersections are: A = NB & SB, B = NB, C = SB, D = NA.

Travel paths (projection lines)

Projection lines show vehicle progression through the corridor. The slope of each line represents speed:

  • Steeper line = slower speed (more time to cover distance)
  • Shallower line = faster speed (less time to cover distance)

There are four types of projection lines (see Display Options):

  • Sequence band: Filled band showing the green wave through all intersections
  • Next Green band: Filled band for adjacent-pair coordination
  • Next lines: Grey travel path lines at design speed (one per second)
  • Phase Extents: Dashed start/end boundary projections

Goal: Adjust offsets so the Sequence band widens - this is the coordinated "green wave" where vehicles pass all intersections without stopping.

Display options

Use the Display Options panel (below the data grid) to control what appears on the diagram. Hover over any toggle for a description.

ToggleDescription
NB/SB SequenceGreen wave band through ALL intersections at design speed
NB/SB Next GreenBand showing departures that arrive on green at the next intersection
NB/SB NextTravel path lines at design speed (regardless of signal state)
NB/SB Phase ExtentsDashed lines projecting phase start (green) and end (red) boundaries
Phase LetterShow phase letter labels (A, B, C...) on phase bars

Projection lines (Sequence, Next Green, Next, Phase Extents) only draw for phases that match the direction. For example, NB lines only appear during NB or NB & SB phases.

Copying the diagram

Copy the diagram to your clipboard for pasting into Word, PowerPoint, or any other application:

  • Copy Dark: Copies the diagram with a dark background
  • Copy Light: Copies the diagram with a white background (ideal for printing and reports)

Both buttons appear in the top-left area of the diagram canvas. The copy renders the full diagram at the current view size regardless of the export palette.

Tip: Use Copy Light when inserting into documents that will be printed, and Copy Dark for presentations with dark slide backgrounds.

Navigation (pan and zoom)

Navigate the diagram using standard controls:

  • Scroll wheel: Zoom in/out
  • Click and drag: Pan the view
  • Pinch gesture: Zoom on touch devices

The diagram automatically scales based on your corridor length and cycle time.

Data Entry

Every value the diagram needs lives in the intersection table: spacing, design speeds, offset and phase durations. Edits apply immediately and are clamped to valid ranges.

Intersection table

The data grid on the left displays all intersection parameters in an editable table:

FieldDescriptionRange
No.Sequence number (auto-assigned)1, 2, 3...
NameIntersection identifierText
Dist NDistance to next intersection north50-5000m
V NDesign speed northbound1-110 km/h
V SDesign speed southbound1-110 km/h
OSOffset (signal timing shift)0 to cycle length
A-FPhase durations1-300s per phase

Editing cell values

  1. Click on any cell to select it
  2. Type the new value
  3. Press Enter to confirm, or Escape to cancel
  4. The diagram updates immediately

Validation: Values are automatically clamped to valid ranges. If you enter a value outside the allowed range, it will be adjusted to the nearest valid value.

Offset slider

The offset slider below the diagram provides quick adjustment of the selected intersection's offset value:

  • Click on an intersection row to select it
  • Drag the slider to adjust the offset
  • Watch the travel paths shift in real-time

This is the fastest way to fine-tune signal coordination and visualize the effect on green band width.

Adding and removing intersections

Adding Intersections

  • Click the + button in the data grid header
  • A new row is added with default values
  • Edit the values to match your intersection

Removing Intersections

  • Click the × button on the row you want to remove
  • The intersection is deleted immediately

Note: There is no undo for deletion. Export your plan first if you want to preserve the current state.

Import & Export

Corridors come in as CSV, SigTDD JSON, Corridor JSON or Synchro UTDF and go out as CSV, JSON, Corridor JSON or PDF. The formats below are the exact shapes the parsers read and write. Synchro users: the UTDF import guide explains the field mapping.

CSV format specification

CSV files should follow this format:

No.,Name,Dist N,V N,V S,OS,A,B,C,D,E,Dir
1,Main St & 1st Ave,400,60,60,0,36,36,36,36,36,"NS,N,S,NA,NS"
2,Main St & 2nd Ave,350,55,55,22,30,30,40,30,30,"NS,N,S,NA,NS"

Column Requirements

  • First row must be headers
  • Values can be quoted or unquoted
  • Phase columns (A-F) are optional - missing phases default to 0
  • Dir column stores phase directions as comma-separated codes: NS (both), N (northbound), S (southbound), NA (not sequenced)
  • Dir column is optional - if missing, positional defaults are applied (1st=NS, 2nd=N, 3rd=S, 4th=NA)
  • Column names are flexible (e.g., "DistN", "Dist_N", "Distance" all work)

JSON format specification (legacy)

Legacy JSON export includes a single plan structure:

{
  "id": "plan-uuid",
  "name": "Corridor Plan",
  "createdAt": "2026-02-21T10:00:00Z",
  "updatedAt": "2026-02-21T12:30:00Z",
  "intersections": [
    {
      "id": "int-uuid",
      "sequenceNo": 1,
      "name": "Main St & 1st Ave",
      "distanceToNext": 400,
      "speedNorth": 60,
      "speedSouth": 60,
      "offset": 0,
      "phases": [
        { "id": "A", "duration": 36, "direction": "NBSB" },
        { "id": "B", "duration": 36, "direction": "NB" }
      ]
    }
  ],
  "settings": { ... }
}

This format only supports a single timing plan. For multiple plans, use Corridor JSON.

Corridor JSON format specification

Corridor JSON includes all timing plans in a single file:

{
  "schemaVersion": 2,
  "format": "corridor",
  "id": "corridor-uuid",
  "name": "Main Street Corridor",
  "intersections": [
    {
      "id": "int-uuid",
      "sequenceNo": 1,
      "name": "Main St & 1st Ave",
      "distanceToNext": 400,
      "speedNorth": 60,
      "speedSouth": 60
    }
  ],
  "plans": [
    {
      "id": "plan-1-uuid",
      "name": "AM Peak",
      "timings": [
        {
          "intersectionId": "int-uuid",
          "offset": 0,
          "phases": [
            { "id": "A", "duration": 40, "direction": "NBSB" }
          ]
        }
      ]
    },
    {
      "id": "plan-2-uuid",
      "name": "PM Peak",
      "timings": [ ... ]
    }
  ],
  "activePlanIndex": 0
}

Key differences from legacy JSON:

  • Intersection geometry is separate from timing data
  • Multiple plans are stored in the plans array
  • Each plan has its own timings array with offsets and phases

Importing from Synchro (UTDF)

SigTDD can import timing plans from Synchro using the Universal Traffic Data Format (UTDF):

  1. In Synchro, select File → Export → UTDF
  2. Save the .txt or .utdf file
  3. In SigTDD, click Import and select the file
  4. SigTDD extracts intersection locations, distances, and phase timings

What's Imported

  • Signalized intersections (TYPE=1)
  • Intersection coordinates (converted to distances)
  • Cycle length and offsets from timeplan data
  • Phase durations

UTDF import works best with arterial corridors. Complex networks may require manual adjustment after import. Check the browser console for import warnings.

Importing from legacy TDD

If you have data from the legacy TDD desktop application (VB6/VB.NET), you can convert it to SigTDD format:

  1. In legacy TDD, export your plan using File → Export Table
  2. This creates a CSV file compatible with SigTDD
  3. Import the CSV into SigTDD using the Import button

The legacy .tdd project file format is not directly supported. Use the CSV export from the legacy application.

Settings & Defaults

New intersections start from the defaults below; the interface is dark throughout, with a light diagram copy available for printed reports.

Default parameter values

New intersections are created with these default values:

ParameterDefaultMinMax
Distance to next400m50m5000m
Speed North60 km/h1 km/h110 km/h
Speed South60 km/h1 km/h110 km/h
Offset0s0scycle length
Phase duration36s1s300s

Appearance

SigTDD uses a consistent dark interface for clear on-screen contrast.

For reports and printing, use Copy Light to export only the diagram with a white background; the application interface remains dark.

Frequently Asked Questions

Short answers to the questions that come up most when coordinating a corridor. The green wave offset page works the arithmetic through in full.

What is an offset and how does it work?

The offset is the time in seconds between the corridor reference point and the start of an intersection's signal cycle. The first intersection usually has offset 0. Adjusting offsets shifts when each intersection's green begins; the goal is to align the greens so that vehicles travelling at the design speed arrive at each intersection as its green starts. Example: if intersection 2 is 400 m from intersection 1 and the design speed is 60 km/h, travel time is 400 ÷ (60 × 1000 ÷ 3600) = 24 seconds, so an offset of 24 seconds at intersection 2 gives perfect northbound progression.

How do I create a green wave?

Set the first intersection's offset to 0. For each following intersection, calculate the travel time from the previous one as distance in metres divided by speed in metres per second (km/h × 1000 ÷ 3600), and set its offset to the cumulative travel time. Then fine-tune with the offset slider while watching the progression band. Auto-sequence does this calculation for northbound or southbound progression in one click.

Can I optimise for both directions?

Yes, with trade-offs. Perfect green waves in both directions at once are only possible when speeds are equal in both directions, intersection spacing is a suitable fraction of the cycle length (ideally half the distance travelled in one cycle), and the phase arrangements are symmetric. In practice engineers prioritise the higher-volume direction or accept a compromise band in each direction.

How many phases can I have?

Up to six phases per intersection, labelled A to F, and as few as two. Typical arrangements are two phases for a simple through-and-cross intersection, four with protected right or left turns, and five or six for intersections with several turn phases.

How is cycle length calculated?

Cycle length is the sum of all phase durations at an intersection: Phase A + Phase B + Phase C and so on. For coordination, every intersection in the corridor should run the same cycle length, or an integer multiple of a common cycle.

What happens if I close the browser?

Work in progress is saved automatically to the browser's local storage and restored on return. Local storage is specific to that browser and device, is cleared with browser data, and may not persist in private windows, so export your plan or save it to an account to keep it.

Is a time-distance diagram the same as a time-space diagram?

Yes. Time-distance diagram is the usual term in Australia and the United Kingdom, time-space diagram in North America. Both name the same drawing: distance along the corridor on one axis, time on the other, phase bars at each signal and sloped vehicle trajectories between them.

Learn

Longer articles on the engineering behind the tool, each ending with the example open in the workspace.

Ready to start?

Open the tool with an example corridor loaded and draw your first time-distance diagram.

Open the tool