Skip to content

Mining profile

profile is a composition preset. It is not a thirteenth style, a third mode, or a theme. It names default overlays and hides buildings so customer data stays visually dominant.

import { Unmap } from "@unmap/sdk";
 
const unmap = new Unmap({
  key: "um_live_...",
  container: "map",
  style: "muted",
  profile: "mining",
  center: [-114.5, 56],
  zoom: 6,
});
live result
the code that produced it
import { Unmap } from "@unmap/sdk";

const unmap = new Unmap({
  key: "um_live_...",
  container: "map",
  style: "muted",
  profile: "mining",
  center: [-114.5, 56],
  zoom: 6,
});

?profile=mining on /styles/{style}.json expands to the same overlay set. Prefer muted. Unknown profile values are a 400. When both profile and overlays= are set, explicit overlays win: the profile list is replaced, not merged.

A key without the mining add-on still gets the basemap. Overlay tiles are 403 addon_required. Crown mineral tenure in the preset is energy.mineral-tenure and still needs the energy add-on. NRN access roads need remote. NTS needs legal-land. profile does not change geocode or search routing.

Catalog

Mining 0.1 overlay ids, all under the mining add-on. Tenure is reused from Energy 0.1, not duplicated. Mining 0.2 identify uses Land extra tables.

idCoverageLicence
mining.occurrencesAlberta AGS producers and selected exploration pointsOGL-AB
mining.prospectivityAlberta prospective-area polygonsOGL-AB
mining.sk-potentialSaskatchewan helium / lithium / uranium / REE / gold / potashGoS Unrestricted v2 (TC record)
mining.lithiumPan-Canadian pegmatite lithium prospectivity (GSC)OGL-Canada
mining.rare-earthsPan-Canadian carbonatite-hosted REE and Nb prospectivity (GSC)OGL-Canada
mining.graphitePan-Canadian flake graphite prospectivity (GSC)OGL-Canada

The profile also composes energy.mineral-tenure, survey.nts, and survey.geographic-township. Those ids already exist.

Ontario mining claims are recorded as units within a geographic township, so survey.geographic-township is the survey grid an Ontario explorer actually works in. survey.nts is British Columbia only, which left this profile with a survey grid that drew nothing across the Canadian Shield: Sudbury, Timmins, the Ring of Fire. Both are legal-land layers, and profile expansion drops a layer your key cannot use rather than returning a 403, so a mining-only key simply does not see them.

The three national layers are prospectivity models. mining.lithium, mining.rare-earths and mining.graphite come from the Geological Survey of Canada's critical minerals work published through geo.ca. They are probability surfaces: high probability says where to look, not what is there, and neither replaces mining.occurrences or stands in for a claims search. All three are uploaded and serving, national extent, z4 to z12.

Three more GSC models are not catalogued: magmatic nickel, Mississippi Valley-type zinc, and clastic-dominated zinc. All three are Open Government Licence – Canada, verified 2026-09-15, and all three publish only HTML, WMS and ESRI REST with no vector download, so there is nothing for the tiler to consume. The split is release vintage rather than subject: the 2025 models carry a GeoPackage and the 2023 ones do not. If you need those three today, their WMS endpoints are on the Open Government Portal and can go straight into MapLibre as a raster source.

mining.rare-earths covers carbonatite-hosted REE only. Ion-adsorption clay and placer rare earths are different deposit types and are not in this model, so a blank area is not an absence of rare earths.

GET /layers is the machine-readable source. Incomplete coverage is never hidden.

Identify

GET /identify?layers=mining.occurrences,mining.prospectivity,mining.sk-potential runs in the Land container (extra tables, not a fourth container). Polygons use ST_Contains. Occurrence points use a 250 m ST_DWithin. Empty until mining_*.copy is baked. Needs the mining add-on. Claim / disposition numbers stay energy.mineral-tenure (Energy identify). There is no mining search grammar.

await unmap.identify({
  at: [-114.5, 56],
  layers: ["mining.occurrences", "mining.prospectivity", "energy.mineral-tenure"],
});

profile: "mining" does not change identify or search routing.

Not in this slice

HeldWhy
National producing-mine inventoryNo TC national mine tile. AGS points are Alberta only
Dedicated claim fabricClaims already sit inside energy.mineral-tenure
Geothermal favourability gridEnergy-adjacent; energy.geothermal already exists
Mining searchNo distinct identifier grammar (UWI / LSD already parse). Claim numbers identify as tenure
Petrinex / MB PetroleumHeld
Resource / winter routingSame Canada OSM graph. use_highways is public-road preference only. See Routing API

This is not a national mining map. Alberta and Saskatchewan tiles plus reused Crown tenure.

What is still stubbed

  • Archives are copied and branded locally via pipeline/layers. They are not on R2 until make upload. Until then tile requests 404 and the basemap still renders.

See Layers for the catalog contract and Mining map for a live example.