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.
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
- Click New in the toolbar to start a fresh plan
- Click Add Intersection (+ button) in the data grid
- Enter intersection parameters: name, distance, speeds, offset, and phase durations
- Repeat for each intersection in your corridor
- 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
- Click Import in the toolbar
- Select your file (format is auto-detected)
- 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"
| Column | Description | Unit |
|---|---|---|
| No. | Intersection sequence number | - |
| Name | Intersection identifier | - |
| Dist N | Distance to next intersection | metres |
| V N | Design speed northbound | km/h |
| V S | Design speed southbound | km/h |
| OS | Signal offset | seconds |
| A-F | Phase durations | seconds |
| Dir | Phase 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.
- Click Export in the toolbar
- Select your preferred format from the dropdown
- 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
- 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
- Click the plan name in the toolbar to open the dropdown
- Click + New Plan
- A new plan is created with default phase timings
- Double-click the plan name to rename it
Duplicating an Existing Plan
- Navigate to the plan you want to copy
- Open the dropdown and click ⧉ Duplicate
- The new plan copies all timings from the current plan
- 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.
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:
| Direction | Color | Meaning |
|---|---|---|
| NB & SB | Cyan | Phase allows both northbound and southbound movements |
| NB only | Purple | Phase allows northbound movements only |
| SB only | Green | Phase allows southbound movements only |
| NA | Grey | Phase 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.
| Toggle | Description |
|---|---|
| NB/SB Sequence | Green wave band through ALL intersections at design speed |
| NB/SB Next Green | Band showing departures that arrive on green at the next intersection |
| NB/SB Next | Travel path lines at design speed (regardless of signal state) |
| NB/SB Phase Extents | Dashed lines projecting phase start (green) and end (red) boundaries |
| Phase Letter | Show 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:
| Field | Description | Range |
|---|---|---|
| No. | Sequence number (auto-assigned) | 1, 2, 3... |
| Name | Intersection identifier | Text |
| Dist N | Distance to next intersection north | 50-5000m |
| V N | Design speed northbound | 1-110 km/h |
| V S | Design speed southbound | 1-110 km/h |
| OS | Offset (signal timing shift) | 0 to cycle length |
| A-F | Phase durations | 1-300s per phase |
Editing cell values
- Click on any cell to select it
- Type the new value
- Press Enter to confirm, or Escape to cancel
- 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
plansarray - Each plan has its own
timingsarray with offsets and phases
Importing from Synchro (UTDF)
SigTDD can import timing plans from Synchro using the Universal Traffic Data Format (UTDF):
- In Synchro, select File → Export → UTDF
- Save the
.txtor.utdffile - In SigTDD, click Import and select the file
- 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:
- In legacy TDD, export your plan using File → Export Table
- This creates a CSV file compatible with SigTDD
- 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:
| Parameter | Default | Min | Max |
|---|---|---|---|
| Distance to next | 400m | 50m | 5000m |
| Speed North | 60 km/h | 1 km/h | 110 km/h |
| Speed South | 60 km/h | 1 km/h | 110 km/h |
| Offset | 0s | 0s | cycle length |
| Phase duration | 36s | 1s | 300s |
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.
- What is a time-distance diagram? — Definition, axes, phase bars, trajectories and bandwidth, with a worked diagram from a real corridor.
- How to set signal offsets for a green wave — The offset formula, cumulative offsets along a corridor, and what limits two-way progression.
- Worked example: a six-intersection corridor — Every number for the shipped NB-Green-Wave.csv corridor, from spacing and speed to offsets and bandwidth.
- Importing Synchro UTDF timing — UTDF sections read, field mapping to corridor distance, offsets and phases, and the post-import checklist.
Ready to start?
Open the tool with an example corridor loaded and draw your first time-distance diagram.
Open the tool