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
| Layer | Overlay tiles | Identify |
|---|---|---|
municipalities | Live on R2 (StatCan census subdivisions, OGL-Canada) | Default /identify. Needs municipalities baked into the Land image. |
parks | Live on R2 | Not identify-capable |
aboriginal-lands | Live on R2 (OGL-Canada) | Not identify-capable. Legislative/admin extents, not traditional territories. |
survey.dls / survey.nts | Live on R2 (legal-land add-on) | Ask for the layer; 403 without the add-on |
survey.parcels | Live 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.
Legal land
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 incalendar_dates.txt. GTFS permits this. The static API compiler supports it, and the normalizer synthesizescalendar.txtbefore 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-landsmaps nations or traditional territories. - That
/identifyreturns municipalities before the Land bake includesmunicipalities.copy. - That routing follows resource, winter, ice, or field roads.
Next steps
- Reporting wrong data if something here is wrong where you are.
- Geocoding API and the Routing API document what each corpus answers with.
- Plans & Limits for the add-ons some of this coverage sits behind.