Mapping Roman Britain: an AI-built viewer for Digital Britannia
Description and use
A single‑page MapLibre GL JS viewer was built for Digital Britannia v1, preserving full data fidelity and providing interactive exploration with LiDAR, historic OS maps, and optional overlays. An errata document accompanies the release.
Problem
Create a web map viewer for the RRRA’s Digital Britannia v1 GeoPackage that allows exploration against LiDAR, historic OS maps, and other datasets while preserving data fidelity and providing user-friendly interactions.
Outcome
The project delivered a fully functional, single‑page web map that preserves the full fidelity of the Digital Britannia GeoPackage, provides interactive exploration features, and includes a comprehensive errata document for future data releases.
Workflow
- 1. Draft brief in Claude session and paste into Claude Code.
- 2. Generate Python pipeline to reproject layers to WGS84, keep all vertices, round to 7 dp.
- 3. Produce GeoJSON (~4.19 MiB) and decide no PMTiles needed.
- 4. Clean categories (garbled values, capitalization, NULLs, whitespace, road numbers) and record fixes in errata.
- 5. Build MapLibre GL JS viewer: style roads by confidence, add halo, enable route highlighting, search, period slider, popups, bottom‑sheet layout.
- 6. Add LiDAR hillshade underlays for England, Wales, Scotland; verify URLs and licences.
- 7. Add optional overlays (NLS historic maps, aerial imagery, heritage sites, geology, 3D terrain, DARE, etc.) after licence verification.
- 8. Generate ADRs for each decision and an errata document for RRRA.
- 9. Test in browser, fix issues (CARTO tiles, NLS coverage, label fonts).
- 10. Deploy to GitHub Pages and publish links.
Evidence
The pipeline (scripts/process.py) reprojects each layer from British National Grid to WGS84. It keeps every vertex and only rounds coordinates to 7 dp (about 1 cm).
The result is 4.19 MiB of GeoJSON, under the 5 MB line. So there's no PMTiles and no tippecanoe, just one index.html on GitHub Pages fetching seven files.
MapLibre GL JS, with no build step and no API keys. Roads follow the author's own QGIS style: solid for certain, dashed for probable, dotted for conjectured, each with a white halo so it stays readable over the underlays.
Several services looked right from a quick check and weren't. Each was only caught by looking at the actual output.
- Record date: 2026-11-02T05:43:47.524Z