Busy Streets is the working repository for Trafic routier à Biarritz, a French-language web application for exploring how road traffic has changed in Biarritz when the available evidence supports a comparison.
A defensible historical comparison of Avenue de Verdun and Avenue de la Gare is mandatory for the eventual product. Current open evidence does not provide that comparison. The project is now also investigating archived public studies and commercial street-level data, with a strict sample-before-purchase gate. The total external data and service budget for the POC is EUR 100 including VAT.
The evidence programme remains in Phase 1: data discovery. A limited shareable
Next.js and MapLibre POC now visualizes the evidence already available
over an attributed OpenFreeMap Positron OSM-derived contextual basemap;
it is not a production road network or a claim that the two
mandatory streets have comparable history. There is no database. The current
code defines the traffic-data contracts,
catalogues five DREAL Nouvelle-Aquitaine sources and one open-licensed CD64
source, acquires official WFS samples and stable GeoJSON resources,
and acquires DescribeFeatureType schemas or manual artifacts. It produces deterministic
schema inspections, and normalizes the inspected 2019-2023 and 2024
point-counter schemas plus the CD64 latest-count schema. It also acquires and
validates the official Biarritz boundary, derives the separate 2 km buffer, and
provides tested point geographic classification. A
derived reconciliation view and station-continuity scorer implement the
accepted evidence precedence, conflict, distance, and match-threshold rules. A
dated, non-production OpenStreetMap probe assesses current in-scope point
stations without creating permanent road IDs; the present audit snapshot yields
only ambiguous matches. A deterministic audit runner now produces a local
machine summary. Its current recommendation is a limited corridor or station
explorer, but the mandatory Avenue de Verdun and Avenue de la Gare comparison
is still unsupported.
The local prototype opens in a French overview, exposes the complete named IGN
BD TOPO street network for Biarritz and its 2 km buffer, and lets the operator
inspect station histories, provenance, quality, and valid same-location year
comparisons. A fuzzy autocomplete selects up to ten grouped street names and
updates an automatic year matrix. Avenue de Verdun, Avenue de la Marne, and
Avenue de la Gare are selected initially. Streets without accepted assignments
remain visible as Aucune donnée; independent counters stay in separate rows.
Avenue de Verdun and Avenue de la Gare remain priority corridors whose required
historical comparison is not yet supported by current evidence.
Sparse coverage is an acceptable result. The project will not fill gaps or present estimates as measurements to make the map look complete.
- Vision describes the intended product and its limits.
- Current status records dated implementation and verification evidence.
- Decisions records accepted and superseded project choices.
- Traffic source research records dated public and commercial source findings, including Google Maps.
- Context defines the domain vocabulary and Phase 1 invariants.
The final data audit will be generated at
docs/biarritz-traffic-data-audit.md only after the current machine summary has
been reviewed and the remaining source blockers have been assessed. That human
report does not exist yet.
Requirements:
- Node.js 24
- pnpm 10
Install dependencies under operator control:
pnpm installRun the checks that are currently available:
pnpm typecheck
pnpm testpnpm check runs both commands. traffic:inspect and traffic:audit are
operational. traffic:visualize produces the local web bundle. The register and
verify commands remain unimplemented.
Generate the deterministic, gitignored visualization bundle:
pnpm traffic:visualize --as-of 2026-08-29Refresh the tracked production snapshot from that validated bundle:
pnpm traffic:visualize:publicThen, under operator control, verify and run the local application:
pnpm build
pnpm devDevelopment reads artifacts/traffic/visualization/biarritz.json. Production
reads the complete tracked snapshot at
data/traffic/biarritz.public.json. The snapshot is suitable for the current
limited POC showcase, but it contains DREAL-derived evidence whose catalogue
licence remains unspecified. Complete licence review and any required
permissions remain mandatory before broad public promotion.
The local POC uses OpenFreeMap's Positron vector style for a quiet map context and displays the provider, OpenMapTiles, OpenStreetMap, and IGN attribution. A neutral local style keeps the evidence canvas usable if the remote style cannot load. The POC does not prefetch or package tiles for offline use. OpenFreeMap's public instance has no SLA. It is accepted for the current low-traffic POC showcase, not as a guaranteed production tile service.
Run the dated Biarritz audit:
pnpm traffic:audit --as-of 2026-08-29The command fixes the Phase 1 scope to Biarritz INSEE 64122 plus the separate
2 km buffer. It writes artifacts/traffic/audit/audit-summary.json; that local
output and its source cache are gitignored.
Inspect a source with official WFS access:
pnpm traffic:inspect --source dreal-2024-point --sample-size 100Inspect the stable official CD64 GeoJSON export:
pnpm traffic:inspect --source cd64-latest-road-counts-pointInspect a manually downloaded Shapefile ZIP:
pnpm traffic:inspect \
--source dreal-2011-2015-point \
--artifact /absolute/path/to/download.zipA Shapefile ZIP must include matching .shp, .shx, .dbf, and .prj
components. It must also include a .cpg encoding declaration, or the operator
must provide the known encoding explicitly, for example --encoding utf-8.
Inspection never guesses a DBF text encoding.
The command stores downloads under .cache/traffic/ and writes inspection JSON
under artifacts/traffic/inspections/. Both locations are gitignored. WFS field
coverage comes from DescribeFeatureType; record counts, null counts, and sample
values describe the requested feature sample, not the complete regional dataset.
Do not commit downloaded source files. The acquisition layer stores raw artifacts and provenance in gitignored local cache paths.
Code, data contracts, and repository documentation use English. The eventual application interface will use French, with a translation boundary that can support another locale later. Official names and acronyms such as DREAL, TMJA, INSEE, and OpenStreetMap remain unchanged where that is clearer.
Project code is licensed under the Apache License 2.0.
That licence does not grant rights to third-party source artifacts, normalized sample data, or OpenStreetMap-derived data. Each dataset keeps its own licence and attribution requirements. OpenStreetMap-derived outputs must retain the required OpenStreetMap attribution and comply with the Open Database License.