Skip to content

Research: Rust OSM + WASM for interactive web visualization#146

Open
Robinlovelace wants to merge 6 commits intomainfrom
rust-osm-wasm-research-2026
Open

Research: Rust OSM + WASM for interactive web visualization#146
Robinlovelace wants to merge 6 commits intomainfrom
rust-osm-wasm-research-2026

Conversation

@Robinlovelace
Copy link
Copy Markdown
Contributor

Summary

Research into building an interactive OSM visualization web app with Rust/WASM backend.

Key Findings

  1. osm2streets (a-b-street)

    • Rust library for lane-level OSM processing
    • Has WASM support and web demo (StreetExplorer)
    • Could be base for our web app
  2. ohsome API

    • Best for historical OSM data
    • HTTP API, returns GeoJSON
    • Already used for Coventry cycle path analysis (successfully)
  3. npw template

    • Our existing project: Rust + WASM + Svelte
    • Good template to build upon

Proposed Architecture

Web (Svelte) → WASM (Rust) → ohsome API / Geofabrik

Next Steps

  1. Experiment with osm2streets WASM build
  2. Test ohsome API integration
  3. Explore npw as template
  4. Create modular Rust library

Research Document

See docs/rust-osm-wasm-research.md for detailed findings.


This PR adds research document and explores feasibility of modular Rust-based OSM web app.

Robinlovelace and others added 6 commits February 17, 2026 17:32
Research into building interactive OSM visualization web app with Rust/WASM backend.

Key findings:
- osm2streets has WASM support and web demo
- ohsome API best for historical data (already used for Coventry)
- npw provides good template (Rust+WASM+Svelte)

Proposes modular architecture: Web → WASM → ohsome API
- New vignette: vignettes/historical-cycling-infrastructure.Rmd
- Analysis using Python osmium to extract historical OSM data
- Results: 12% growth in cycle infrastructure (485.7km -> 544km)
- Key finding: Cycle lanes surged 192% in 2026 (13km -> 38km)
- Data files: cycle_infrastructure_by_year.json + way IDs for each year
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant