Source: contours

TypeVector (vector)
DataElevation contour lines
CoverageEurope, Oceania, and expanding — contact us to request a country
Billing1 unit per tile

TileJSON

https://api.mapriot.com/contours?apiKey=<key>

Tile URL

https://api.mapriot.com/contours/{z}/{x}/{y}?apiKey=<key>

Contour intervals

The interval between contour lines depends on the region and source data:

  • 10 m intervals — most countries (generated from DEM data)
  • 5 m intervals — Czech Republic (from national ČÚZK survey data)

More countries may get finer intervals as higher-quality national data becomes available.


Zoom levels

Contour visibility in the outdoor style is determined by elevation interval:

ZoomWhat’s visible
1150 m contour lines + elevation labels
1220 m contour lines
1310 m contour lines
145 m contour lines where available (Czech Republic)

Vector layers

LayerAttributeDescription
contourelevation (int)Elevation in metres
contourmain (int)1 = major contour (≥50 m interval), 0 = minor

Usage in MapLibre GL JS

The source is pre-configured in the outdoor style as contours. To add it to a custom style:

map.addSource('contours', {
  type: 'vector',
  url: 'https://api.mapriot.com/contours?apiKey=<key>',
});

map.addLayer({
  id: 'contour-lines',
  type: 'line',
  source: 'contours',
  'source-layer': 'contour',
  paint: {
    'line-color': '#8c6e3b',
    'line-width': ['match', ['get', 'main'], 1, 1.5, 0.6],
  },
});

map.addLayer({
  id: 'contour-labels',
  type: 'symbol',
  source: 'contours',
  'source-layer': 'contour',
  filter: ['==', ['get', 'main'], 1],
  layout: {
    'symbol-placement': 'line',
    'text-field': ['concat', ['get', 'elevation'], ' m'],
    'text-size': 11,
  },
  paint: {
    'text-color': '#8c6e3b',
    'text-halo-color': '#fff',
    'text-halo-width': 1,
  },
});

Data sources

See Copyright and sources for full attribution.