Skip to content

Repository files navigation

Gapwise Data deer logo

Gapwise Data

Canada's largest free and open multi-university campus navigation dataset.

A free and open multi-university campus navigation dataset: auditable building identity, footprints, source-classified entrances, pedestrian routes, provenance, schemas, and open contribution tooling across Canadian universities.

Data Docs

React · Vite · GeoJSON · JSON Schema · SHA-256 · Vercel


Gapwise · Android · iOS · API · AI · Data · Docs · Status


What Gapwise Data is

data is the canonical repository for campus facts and geometry used by Gapwise. It contains campus-scoped building registries, source-classified entrances, and source-backed map geometry across 14 universities and 16 campus models:

  1. University of Toronto: Mississauga, St. George, and Scarborough
  2. Carleton University: Main Campus
  3. Toronto Metropolitan University: Downtown Campus
  4. Queen's University: Kingston Campus
  5. Wilfrid Laurier University: Waterloo Campus
  6. York University: Keele Campus
  7. McMaster University: Hamilton Campus
  8. Western University: London Campus
  9. University of Guelph: Guelph Campus
  10. University of Ottawa: Downtown Campus
  11. Brock University: St. Catharines Campus
  12. University of British Columbia: Vancouver Campus
  13. University of Waterloo: Main Campus
  14. McGill University: Downtown Campus

The validated snapshots under universities/ and data/ include source registers, schemas, footprints, and validation tests. Each campus model represents pedestrian networks, building geometries, entrance coordinates, and routing topologies tailored to that campus, with explicit representation of route uncertainty and entrance verification state.

The main gapwise repository remains authoritative for deterministic product behavior: timetable semantics, route calculation, gap planning, public API orchestration, SDK contracts, and map/product presentation. It vendors a checked-in snapshot of this repository's campus data so production routing never depends on data.gapwise.ca or GitHub being reachable at request time.

data owns campus facts. gapwise owns product behavior.


What the data layer covers

  • campus-scoped building and facility identities across all 14 modeled universities;
  • campus geometry and building footprints;
  • mapped, inferred, and evidence-only entrances;
  • outdoor routing nodes and edges;
  • available indoor graph data;
  • routing coverage and route-evidence states;
  • accessibility evidence and explicit uncertainty;
  • provenance and source identifiers;
  • generated routing/access audits;
  • validation and dataset-integrity checks;
  • attribution and reuse requirements;
  • versioned privacy-safe public data.

The canonical campus models cover 14 universities and 16 campuses. A canonical data model does not by itself declare a university edition fully supported; product support is released only after its timetable, UI, API, documentation, monitoring, and deployment checks pass.


Data principles

  1. One canonical source. Public campus facts and geometry are changed here first; downstream repositories consume snapshots or contracts.
  2. Explain transformations. Published data should make clear where it came from and how it changed.
  3. Separate fact from inference. Derived navigation data must not masquerade as direct observation.
  4. Prefer stable identifiers. Codes and source IDs make downstream integrations more durable.
  5. Preserve uncertainty. Unknown or unverified facts stay visible as unknown or unverified.
  6. Preserve provenance. Source information belongs with the dataset, not in somebody's memory.
  7. No runtime coupling. Consumer applications vendor or build against a pinned snapshot; a data-site or GitHub outage must not break campus routing.

First-party distribution

Production builds publish the complete validated data/utm tree from a first-party Gapwise domain:

https://data.gapwise.ca/datasets/utm/latest/

Machine-readable integrity manifest:

https://data.gapwise.ca/datasets/utm/latest/manifest.json

Each manifest entry records the artifact path, byte size, SHA-256 digest, canonical first-party URL, and canonical organization-owned repository. The manifest schema is published at:

https://data.gapwise.ca/schemas/dataset-manifest.schema.json

latest is a current channel. Reproducibility-sensitive consumers should pin checksums or an immutable versioned release when one is available.

Applications that want stable Gapwise semantics should normally prefer the API/SDK. Raw distribution is appropriate for provenance inspection, research, visualization, validation, or custom derivation pipelines.


Consumer model

The core application intentionally keeps a compatibility mirror at gapwise/src/data/utm because the web app, public API, routing engine, tests, and build tooling already import those paths. That mirror is not an independent source of truth.

The core repository provides synchronization commands:

bun run campus-data:check
bun run campus-data:sync
bun run campus-data:publish

Data-writing routing/survey maintenance commands still synchronize from this repository before running and publish resulting canonical artifacts back afterward. That generator layer remains a transitional dependency while validation/routing types are decoupled from core.

Normal production requests do not perform cross-repository or data.gapwise.ca fetches.

University data contract

New universities use universities/<id>/campus.json with one institution and campus identity, source records, buildings with native codes and aliases, GeoJSON footprints, entrances with explicit access status, pedestrian graph nodes and edges, and record-level provenance. Optional academic.json stores permitted terms, courses, sections, and meeting records. The schemas in schemas/universities and npm run data:validate enforce record shape, identity, source permission, references, geometry, and graph coherence.

gapwise data osm <id> --bbox=west,south,east,north writes an unreviewed OSM candidate file. It does not silently promote buildings, door associations, or path links. Review and validate before moving any candidate into the canonical snapshot.

The repository's MIT license applies to original code and documentation. It does not relicense OSM or university source material. The Carleton dataset retains OSM contributor attribution, ODbL source terms, and native element provenance. Keep source-specific rights and attribution with any redistribution.


Maintenance documentation

Source-adjacent maintenance notes live under docs/maintenance, including source/provider boundaries, geometry and identity rules, field-survey rules, and access-audit ownership.

Public developer-facing explanations belong at https://docs.gapwise.ca/data/. The Data repository intentionally does not become a second developer-documentation site.


Validation

Run the integrity validator with:

npm run data:validate

It verifies, among other things:

  • canonical ownership metadata;
  • required building/entrance/routing graph files;
  • JSON and GeoJSON parseability;
  • the 30-building public snapshot and unique building codes;
  • SHA-256 integrity for every checked-in canonical campus file.

npm run build validates the dataset, verifies the public distribution contract, builds the portal, and publishes the raw distribution tree into the deployment output.


Gapwise ecosystem

Repository Role Primary surface
gapwise Core web/PWA, canonical timetable/gap/routing semantics, public API, OpenAPI, and SDK source gapwise.ca / api.gapwise.ca
android Native Kotlin + Jetpack Compose Android client Android app
ios Native Swift + SwiftUI iOS client iOS app
ai OAuth/MCP layer for explicitly delegated student context and bounded actions ai.gapwise.ca
data Canonical public multi-university campus data, provenance, schemas, validation, and distribution across 13 Canadian universities data.gapwise.ca
docs Canonical public developer documentation docs.gapwise.ca
status Independent service-health monitoring and incident communication status.gapwise.ca

No consumer repository should recreate or silently fork campus facts. Native clients and product surfaces may adapt presentation and platform integration, but source campus facts belong here and deterministic product calculations belong to gapwise.


For developers

npm install @gapwise/sdk@0.1.2
python -m pip install gapwise==0.1.1

Original repository code and documentation are MIT licensed, but upstream datasets retain their own terms. OpenStreetMap-derived records require appropriate OpenStreetMap attribution and ODbL compliance; the MIT license does not override upstream data obligations. Review DATA_DISTRIBUTION.md and source metadata before reusing a dataset.


Local development

git clone https://github.com/GapwiseHQ/data.git
cd data
npm ci
npm run data:preflight
npm run dev

For a production build:

npm run build
npm run preview

Use Node.js 24, matching CI. The committed lockfile pins the complete build dependency graph. data:preflight checks canonical data, entrance coherence, public distribution, and isolated pipeline regression tests. Tests never rewrite the working dataset.

For an entrance edit, change data/utm/entrances.geojson, run npm run entrances:derive, then npm run data:preflight. Derivation rejects ambiguous identities, missing graph connections, or incomplete non-OSM provenance before writing generated files. Removing an entrance that is still a graph entrance requires an explicit topology review; the tool does not invent a replacement node role or connection. Keep the visual review at https://data.gapwise.ca/review/map?pr=<PR_NUMBER> in the review workflow.

After Data merges, run bun run campus-data:sync and bun run campus-data:check in the sibling core checkout. The Data compatibility job exercises this same complete sync, including the public snapshot, before running core's campus contract tests.


Independent project

Gapwise is an independent student software project created by Andrew Muratov. It is not affiliated with, endorsed by, or an official service of the University of Toronto, Carleton University, Toronto Metropolitan University, Queen's University, Wilfrid Laurier University, York University, or McMaster University.

Open campus data is more useful when its uncertainty is visible.

Explore Gapwise Data →

About

Canada's largest free and open multi-university campus navigation dataset.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages