Charts /
CH-SPA-03
CH-SPA-03 . family SPA
ROUTE PROGRESS
a corridor polyline split done/pending, stations as milestones. Needs: corridor points + done fraction + stations at fractions along it.
progressschedule
Use when
- linear infrastructure: pipelines, roads, transmission lines
- one glance answers how far along the line are we
Do not use when
- non-linear scopes
- progress that does not map to distance
See instead
Alternatives
- CH-TIM-02 (progress without geography)
- CH-TIM-09 (task schedule)
Rules
- done length drawn in the done role over the full pending line
- the current station is the one diamond
- the completion percentage is printed at the frontier
Never do this
- progress percentages that are not length-true
- decorating with terrain
- more than ~8 stations
QA before delivering
- done fraction length-true
- one current station
- stations ordered
- source present
Data shape
| title | action title with a number |
| source | bottom-left always |
| unit | % (of corridor length) |
| note | coordinates are author-supplied unit-square (0-100) geometry; the renderer scales, the author owns projection and aspect |
| corridor | [[x,y]..] the line |
| done_to | fraction 0-1 |
| stations | [{name, at: fraction, kind: done|current|pending}] |
Sample data (golden)
{
"title": "The corridor is 55% complete, past the river crossing",
"eyebrow": "CORRIDOR PROGRESS . WEEK 28",
"source": "Source: sample dataset v1, 2026-07-12",
"unit": "%",
"corridor": [
[
5,
80
],
[
20,
60
],
[
38,
52
],
[
55,
45
],
[
70,
35
],
[
85,
20
]
],
"done_to": 0.55,
"stations": [
{
"name": "Start terminal",
"at": 0.0,
"kind": "done"
},
{
"name": "Pump station 1",
"at": 0.22,
"kind": "done"
},
{
"name": "River crossing",
"at": 0.48,
"kind": "done"
},
{
"name": "Hill section",
"at": 0.55,
"kind": "current"
},
{
"name": "Pump station 2",
"at": 0.75,
"kind": "pending"
},
{
"name": "End terminal",
"at": 1.0,
"kind": "pending"
}
]
}