Skip to content

Coverage

unmap is a Canadian maps platform. Coverage is national where the source is national, and explicitly partial where it is not. Quote /layers/{id} for licence, attribution, and known_gaps. This page is the honest summary.

Terrain

National MRDEM-30 (v4), already live. Hillshade and terrarium DEM at /terrain/4/…, vector contours at /contours/4/… (z9–13). NRCan blended HRDEM into MRDEM where it exists. That is not national high-resolution LiDAR. Do not claim HRDEM-only coverage. The source follows watersheds, so a little shading spills across the US border. That spill is not US coverage.

GET /elevation samples the same MRDEM-30 archive for a point height in metres above CGVD2013, national coverage reaching 85°N. Within roughly one tile of the coverage edge (coasts, the US border, fjord mouths) values are extrapolated rather than measured. See Elevation API.

Names

Civic search uses OSM, OpenAddresses (CA), the National Address Register, and NRCan CGNDB. English and French are first-class on the same record. Official Indigenous names (including syllabics) are returned where CGNDB carries them. The corpus has an Inuktitut name for relatively few communities: that is a sourcing gap, not an engine gap. Community-stewarded names are out. OCAP® applies to Indigenous community data; open government name imports are not a partnership.

Boundaries

LayerOverlay tilesIdentify
municipalitiesLive on R2 (StatCan census subdivisions, OGL-Canada)Default /identify. Needs municipalities baked into the Land image.
parksLive on R2Not identify-capable
aboriginal-landsLive on R2 (OGL-Canada)Not identify-capable. Legislative/admin extents, not traditional territories.
survey.dls / survey.ntsLive on R2 (legal-land add-on)Ask for the layer; 403 without the add-on
survey.parcelsLive on R2 (agriculture add-on). Paints from z10.Ask for the layer. PID search resolves too. BC only.

GET /identify?at=lng,lat defaults to municipalities. GET /data/query uses the same PostGIS tables for a bbox. Overlay tiles and identify/query are different paths: tiles can paint while the Land table is still empty.

Parks: the register, not the polygon

parks is the ECCC Canadian Protected and Conserved Areas Database (CPCAD, December 2025 edition, OGL-Canada). It is national and it is deliberately not the same thing as the green park polygon the basemap already draws: 22,438 protected areas, conserved areas and OECMs in every governance category Canada reports to the IUCN, terrestrial and marine, each carrying its designation type.

Features carry name (English), name_fr, name_ind (ECCC's Indigenous-language name, present on 95 areas), class (185 designation types), biome (T terrestrial/freshwater, M marine) and region. Marine areas that belong to no province have region: CA-MARINE.

Two honest limits. Areas appear when their reporting authority reports them, not when they are proclaimed, so a very recent designation can be missing. And ECCC's Indigenous Protected and Conserved Area flag is not ingested, so this layer will not tell you whether an area is an IPCA.

This replaced a 2,486-polygon archive covering Alberta, British Columbia, Manitoba and Saskatchewan only.

Water and railways: retired, use the basemap

water and rail were retired on 2026-09-15. The basemap already carries water at z0-15 and railways as kind: rail inside its roads layer at z3-15, both with name:fr and the name2/script fields that carry Indigenous names. The overlays were capped at z12 and carried fewer attributes, so they were a coarser copy of something every style already draws.

GET /layers/water and /layers/rail answer 410 with the replacement named. A style URL that still says ?overlays=water keeps working: the retired overlay is dropped and the rest of the map renders, rather than the request failing.

For an authoritative hydrographic product rather than cartography, CanVec Hydro and the Canadian Hydrospatial Network are the sources to ask about.

Remote / northern

profile: "remote" composes existing core overlays plus remote.airports (Transport Canada ANS points, 93 NAV CANADA towered and flight-service airports, remote add-on). remote.roads was retired on 2026-09-15: the NRN all-season network was not winter or ice status, which is what this profile wants, and the basemap already draws roads to z15. Winter / ice / seasonal geometries are held: no licensed extract, and the Salles & Mullan compilation is OCAP®. Place names already search through OSM / CGNDB. Community-stewarded Indigenous data stays out (OCAP®). See Remote profile.

Mining

profile: "mining" composes AGS Alberta occurrences and prospectivity, Saskatchewan resource potential, and reused energy.mineral-tenure. Identify those mining ids via Land extra tables (mining add-on). Claim numbers identify as energy.mineral-tenure. This is not a national mine map. See Mining profile.

Routing

The Canada Valhalla graph is OSM plus NRN-class public roads already in that extract. auto, car, bicycle, pedestrian, and truck run on that graph. use_highways (0 avoid motorways/trunks, 1 prefer) is the one preference those road classes support. Terrain is the other axis: cycling and walking times account for grade from our own 30 m elevation model, and use_hills (0 avoid climbs, 1 indifferent) tunes it. Driving times do not vary with grade, because Valhalla's driving costing has no grade term. Industry profile presets do not change routing.

There is no winter-road graph, no resource-road costing, and no field-access network. avoid: ["winter"] is not offered because the graph does not model the restriction. See Routing API.

DLS (AB/SK/MB) and NTS parse in the geocoder. Lookup needs the Land image. FPS, Ontario concession/lot, and river lots parse only. Quebec and Atlantic cadastre are not sourced. See Geocoding.

Public transit

Static data is live. TTC routing is live. /transit/* serves release 20260917-6579561c31c3: Calgary Transit, TTC, OC Transpo, GO Transit and UP Express. /route?mode=transit answers TTC trips from a dedicated Canada graph. Other static feeds stay schedule-only. The routing registry now includes every active Canadian GTFS feed the Mobility Database lists; those extra feeds are not on /transit/* and are not routing:ready until a golden ride on the baked image.

Of the registered pilots:

  • TTC is in the static release and is the only feed Valhalla routes today.
  • Calgary Transit, OC Transpo, GO Transit, UP Express, TransLink, STM and BC Ferries are ingestible after normalization and still need a golden ride.
  • National feeds record Mobility Database terms, not a per-agency legal review. Three catalog downloads stay watch.
  • GO Transit and UP Express publish no calendar.txt, putting all service in calendar_dates.txt. GTFS permits this. The static API compiler supports it, and the normalizer synthesizes calendar.txt before Valhalla ingest so valhalla#5703 does not drop them in silence.

Every departure is schedule-based only and says schedule_type: "scheduled". Valhalla has no GTFS-Realtime support and none planned, so delays and cancellations would be invisible. arrive_by is unimplemented upstream, so the route contract accepts departure time only. There is no transit matrix. See Transit API for the static contract.

GET /coverage.json lists every assessed feed with its terms and its gap.

What we will not say

  • Complete Indigenous-language coverage.
  • National high-resolution terrain.
  • That aboriginal-lands maps nations or traditional territories.
  • That /identify returns municipalities before the Land bake includes municipalities.copy.
  • That routing follows resource, winter, ice, or field roads.

Next steps