The New York & Erie Railroad

In 1855, Daniel McCallum and George Holt Henshaw drew a railroad as a tree. Directors form the roots, operating divisions branch into tracks, and workers gather around stations. Explore the reconstruction to see how that image joins a chain of authority with the places and people doing the work.

5
operating divisions
136
navigable offices & crews
0
hand-authored x/y positions
Diagram Representing a Plan of Organization
New York & Erie Railroad · an interactive reconstruction after McCallum and Henshaw, 1855
Trace the line of authorityHover any office, station, or crew.
Read the diagram as
Hover to trace · click to hold · click again to release
Skip to data table
The chart contains five representative operating divisions, twenty-five stations, and 4,418 representative employees grouped into station, train, track, and shop crews. Positions come from hierarchy and station order. The illustrative values do not transcribe the original plate's statistical table.
Switch to Workforce to color the leaves
One drawn leaf represents up to four employees.

Two diagrams occupy the same tree

Choose Authority and the page reads like McCallum's management system: power begins with the directors, concentrates in the president and general superintendent, then follows five operating lines to local stations. ChooseWorkforce and the same geometry becomes a distribution display. Leaf color identifies work and leaf quantity reflects the representative crew count. The diagram does not rebuild the railroad—it restyles and reweights the same tree.

How the branches are arranged

Each division forms a trunk, with stations placed along it in route order. Crew branches grow beside their stations, and dots show representative employee counts. Changing a station or headcount updates the drawing from the data.

JSX
import { NetworkCustomChart } from "semiotic" import { networkHitTarget } from "semiotic/recipes" function railroadOrganizationLayout(ctx) { const { plot } = ctx.dimensions const root = { x: plot.width / 2, y: plot.height - 185 } const positions = new Map() divisions.forEach((division, i) => { // Five cubic trunks radiate from the general superintendent. const end = divisionEndpoint(i, plot) const trunk = cubicFrom(root, end) division.stations.forEach((station, j) => { const p = cubicPoint(trunk, 0.23 + j * 0.15) positions.set(station.id, p) // Workforce boughs grow normal to the trunk. Their leaf count and // color come from the crew datum, never from hand-authored x/y. station.crews.forEach((crew, k) => { positions.set(crew.id, growBough(p, cubicTangent(trunk, j), k)) }) }) }) return { sceneNodes: ctx.nodes.map((wrapped) => { const d = wrapped.data ?? wrapped const p = positions.get(d.id) return networkHitTarget({ x: p.x, y: p.y, r: hitRadius(d), datum: d, id: d.id }) }), overlays: <RailroadPlate positions={positions} config={ctx.config} /> } } <NetworkCustomChart nodes={nodes} edges={edges} layout={railroadOrganizationLayout} layoutConfig={{ view, employeeFilter }} // geometry-changing config only selection={{ name: "erie-active" }} // hover/lock restyles, no relayout annotations={editorialNotes} // anchored to computed node positions enableHover onObservation={handleObservation} // hover, click, keyboard focus accessibleTable />

Why this still behaves like a chart

The plate is art-directed, but every office and crew still has an invisible hit target behind it. Hover, keyboard focus, tooltips, click-to-hold, the accessible data table, and export all keep working. The custom drawing owns the railroad geometry; the chart frame still owns the interaction.

Historical structure and wording are based on Daniel C. McCallum and G. H. Henshaw's1855 diagram in the Library of Congress. The Library describes the straight branches as railroad trackage radiating from the general superintendent and the botanical branches as named functional offices. Station names follow the historical route; crew counts on this page are deterministic, representative values and are not a transcription of the plate's statistical table.