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

DL-01 AGRAW
The corridor is 55% complete, past the river crossing Start terminal Pump station 1 River crossing Hill section Pump station 2 End terminal 55% complete Source: sample dataset v1, 2026-07-12

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

titleaction title with a number
sourcebottom-left always
unit% (of corridor length)
notecoordinates are author-supplied unit-square (0-100) geometry; the renderer scales, the author owns projection and aspect
corridor[[x,y]..] the line
done_tofraction 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"
    }
  ]
}