- Document ID
census- Version
- 1.1.0 · Revision: 2
- Provider
- United States Census Bureau
- Services
- Geocoding Services — batch address geocoder, and the one-line address geocoder used as a runtime fallback; Cartographic Boundary Files — generalised state boundaries
- LastWagon components
- offline coordinate enrichment of the bundled directory; the keyless address-lookup fallback when the primary geocoder cannot place an address; the bundled state-boundary asset behind the ledger's route mileage estimate
- Status
- Final record for the geocoding services — counsel reviewed 2026-08-21. The state-boundary section added 2026-08-23 and not yet reviewed.
What LastWagon uses
Offline, one-off: geocoding.geo.census.gov/geocoder/locations/addressbatch, benchmark Public_AR_Current, in batches of 2,000 with a pause between them — well under the documented 10,000-per-request ceiling and deliberately gentle on a free public service. It runs on a maintainer's machine and writes an enrichment file that the asset generator reads. It never runs on a driver's device.
At runtime: the Census geocoder is the fallback when the primary address lookup cannot resolve an address or is unavailable. Address text only — no key, no account, no device identifier, no coordinates.
Bundled, one-off: the state boundary asset (core/model/src/main/assets/us-state-boundaries.json) — generalised polygons for the 50 states and the District of Columbia, derived from the Census Bureau's cartographic boundary files by way of the us-atlas packaging of them, and regenerated by scripts/generate-state-boundaries.mjs. It ships inside the APK, is read only from local storage, and is never fetched. It is the reference the ledger's route mileage estimate measures a planned route against, entirely on the device.
Licence and provenance
Census geocoding output is a work of the U.S. federal government and is in the public domain. The cartographic boundary files are the same: a U.S. federal government work, freely usable and redistributable, which is why generalised boundaries could be embedded in the app when a licensed boundary set could not.
The packaging is a separate question from the data. The boundary asset is generated from us-atlas, a TopoJSON build of those same Census files at 1:10m scale; the us-atlas project is ISC-licensed, and what ships in the app is the public-domain geometry rather than any of its code. The generator (scripts/generate-state-boundaries.mjs) installs it ad hoc and it is not a project dependency, so it does not appear in the open-source notices — the notices are generated from the build's own dependency graph. Coordinates from it can be embedded in the app and redistributed with no licence attached, which is why the enrichment pipeline tries Census first and keeps the OpenStreetMap-derived geocoder for what Census cannot place.
The benchmark is named explicitly rather than left to default, so a future change of the Census default cannot silently alter the coordinates a rerun produces.
Obligations
Attribution / non-endorsement. The Census Bureau's developer terms require a statement in the form *"This product uses the Census Bureau Data API but is not endorsed or certified by the Census Bureau"*, prohibit using the Census Bureau's name to imply endorsement, and prohibit misrepresenting content while still claiming the Census Bureau as the source.
LastWagon implementation: Legal & Attribution carries:
This product uses the U.S. Census Bureau Geocoding Services but is not endorsed or certified
by the Census Bureau.
No warranty. The service is provided "as is" and "as available", with all warranties disclaimed.
Generalised boundaries are not survey lines. The bundled state boundaries are the Census Bureau's *generalised* cartographic product, simplified for drawing maps. They are close enough to tell which state a point on a highway is in and they are not a legal description of a state line. LastWagon uses them for exactly one thing — splitting a planned route into an estimate of per-state mileage that the driver reviews and corrects — and every figure they produce is labelled an estimate until the driver says otherwise. Nothing derived from them is filed, and nothing derived from them is written without the driver. See docs/ledger-metrics.md.
Not authoritative for trucks. A Census coordinate is an address match against address ranges. It is not a verified truck entrance, not a confirmation that a truck stop exists, and not a statement about truck access, clearance or legality. LastWagon does not present it as any of those. Match quality is recorded per row (Census_Exact / Census_Non_Exact) so a future pass can revisit the weaker matches, and a measured benchmark of the pipeline against known-good coordinates is recorded in the enrichment script's own header.
Sources
- Geocoding Services: https://geocoding.geo.census.gov/
- Census Bureau API terms of service: https://www.census.gov/data/developers/about/terms-of-service.html
- Retrieved: 2026-08-20
- Cartographic boundary files: https://www.census.gov/geographies/mapping-files/time-series/geo/cartographic-boundary.html
- us-atlas (the packaging the boundary asset is generated from): https://github.com/topojson/us-atlas
- Boundary sources retrieved: CENSUS-BOUNDARY-RETRIEVAL-DATE — to be supplied