Artificial Wasteland artwaste.land

Every year-on-year movement in the condition ratings of every US bridge, 1992-2025

7 of 7 conditions 614,614 rows · 15.6 MB · 6 files

Two tables, built from all 34 annual snapshots of the National Bridge Inventory that the Federal Highway Administration publishes in delimited form, 1992 through 2025: 1,782 state-year files, 20,652,117 primary records, 1,039,109 distinct bridges.

The files

FileRowsBytessha256
reversals.csv 220,613 7,531,593 aee61a0331cf0ad017a0fb53eb8d19f0de2b83b54a241a54c4f036f61e95759e
transitions.csv 394,001 8,100,097 0adc66839f269f130b885afe8f623cd56f5570ac31be9e3b0049d5167ec97ee5
README.md n/a 2,344 87d884dcc4c0c2258ec3182887aabd5802e870ed9959d50193e6d1294346586a
schema.json n/a 5,149 049aa481c792fd77425bc13941ee6925279a942c3f6a043ee2b80aea9e523ebd
sources.json n/a 3,503 0b6ccf89de77b96af4005eb9bead10dc3dd92bc7c93088c401cdaac444205663
validate.mjs n/a 15,198 67aceadfaea1f0b4611fa24f550c1b648437f25fbf20f19bf864292700aa69a2

Take the folder and check it yourself: node validate.mjs in the downloaded directory re-runs every row against the schema and every file against the digest above, with no dependencies and no network. The dataset's own full account is README.md.

A row, field by field

Origin is the column that decides whether we may give a field away at all. built is ours; redistributed is a source's own content, and it may only ship where that source's licence permits it.

FieldTypeOriginWhat it is
unit string redistributed The filing unit: a two-letter postal code for a state, the District of Columbia, Puerto Rico, Guam or the US Virgin Islands. It is the file the record came from, not a field inside it, because the file is the thing that guarantees it.
component string redistributed Which rating moved: d = deck (item 58), s = superstructure (item 59), b = substructure (item 60), c = culvert (item 62). The culvert scale has its own verbal descriptions in the Coding Guide, so a step of one on c does not mean the same thing as a step of one on d.
year_from string or null redistributed transitions.csv only. The earlier of the two annual snapshots. The later one is this plus one.
rating_from string or null redistributed transitions.csv only. The rating in the earlier snapshot, 0 to 9. Ratings coded N, and any other non-digit, are excluded from the table entirely rather than mapped to a number.
rating_to string or null redistributed transitions.csv only. The rating in the later snapshot.
reconstruction_recorded string or null built transitions.csv only. 1 if item 106 (year reconstructed) changed between the two snapshots, or names a year within one year of the pair; 0 otherwise. This is NOT a record of whether work happened: the Coding Guide excludes from item 106 a long list of real work including emergency structural repair, retrofitting, added girders, deck overlays under a surfacing project and steel painting.
inspection_date_advanced string or null built transitions.csv only. 1 if item 90 (date of last routine inspection) differs between the two snapshots, 0 if it is identical, 2 if either snapshot has no usable date. Under a 24-month inspection cycle reported into an annual file, 0 is an ordinary state and not an anomaly.
count string or null built transitions.csv only. How many bridges made exactly this movement. The table is complete: summed over every row it is 49,764,872.
structure_number string or null redistributed reversals.csv only. Item 8, the state-assigned structure number, outer whitespace trimmed. Unique within a filing unit within a year, and not guaranteed stable across years: states renumber.
year_up string or null redistributed reversals.csv only. The earlier snapshot of the pair in which the rating rose.
rating_before string or null redistributed reversals.csv only. The rating before the rise.
rating_peak string or null redistributed reversals.csv only. The highest value reached during the excursion.
year_back string or null redistributed reversals.csv only. The snapshot in which the rating had returned to rating_before or lower.
rating_after string or null redistributed reversals.csv only. The value it returned to.

Where it came from, and how we know we may pass it on

National Bridge Inventory, annual delimited snapshots, 1992-2025

Federal Highway Administration, United States Department of Transportation · https://www.fhwa.dot.gov/bridge/nbi/ascii.cfm

Licence
Work of the United States Government, not subject to copyright in the United States (17 U.S.C. section 105)
How we know
statute
Accessed
2026-09-13

No licence notice is published with these files, and none is needed: they are prepared by an agency of the United States Government in the course of its official duties, so 17 U.S.C. section 105 puts them outside copyright in the United States. The basis recorded here is the statute rather than a notice, which is what that field is for. 1,782 state-year files were fetched; each one's byte length and sha256 as received is recorded in research/no-field-for-the-repair/data/raw-manifest.json.

The transition census

Artificial Wasteland · https://artwaste.land/strata/no-field-for-the-repair/

Licence
CC0 1.0 Universal (public domain dedication)
How we know
publisher statement
Accessed
2026-09-13

Ours, dedicated to the public domain. The exclusions and seven predictions were fixed in research/no-field-for-the-repair/PREREGISTRATION.md and committed before analyse.mjs was written; five held and two broke, and the page says which.

Required attributionThe underlying records are the National Bridge Inventory, published by the Federal Highway Administration, United States Department of Transportation. The panel, the classification of each transition and every count are by the Artificial Wasteland.

The seven conditions, and what was measured

  1. Bytes 2 data file(s), 15,631,690 bytes, largest 7.7 MiB
  2. Shape 614,614 rows checked, 0 violation(s)
  3. Count 614,614 rows across 2 file(s), all counts agree
  4. Fixity 6 file(s) verified by sha256
  5. Provenance 2 source(s), each with a licence from the table
  6. Origin 14 field(s): 3 built here, 11 redistributed under a licence that permits it
  7. Rebuild research/data-room/emit/bridge-rating-transitions.mjs (byte-equality proved by: node research/data-room/publish.mjs --check)

← every dataset, and the three we could not publish