Australian Contour Tiles

Free contour-line vector tiles for the whole of Australia — 10 m intervals derived from Geoscience Australia's 1-second DEM, smoothed so they look like a printed topo map rather than a pixel lattice. One PMTiles file, no API key, no server required.

11.9 GB single archive zoom 9–15 10 m interval, 50 m index ~8.5 M tiles CC-BY 4.0

Live demo — contours are range-read straight out of the 11.9 GB archive in your browser; basemap by OpenFreeMap. Zoom in for full 10 m detail.

Quick start (MapLibre GL JS)

The archive is served with CORS enabled and HTTP range support, so MapLibre can read tiles directly from it using the pmtiles protocol — no tile server involved:

<!-- maplibre-gl v5 is the last major with a script-tag (UMD) build; v6+ is ESM-only -->
<script src="https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js"></script>
<script src="https://cdn.jsdelivr.net/npm/pmtiles@4.5.0/dist/pmtiles.js"></script>
<script>
  const protocol = new pmtiles.Protocol();
  maplibregl.addProtocol("pmtiles", protocol.tile);

  const map = new maplibregl.Map({ container: "map", /* your base style */ });
  map.on("load", () => {
    map.addSource("contours", {
      type: "vector",
      url: "pmtiles://ARCHIVE_URL",
      attribution: "Contours © Geoscience Australia, CC-BY 4.0",
    });
    map.addLayer({
      id: "contour-regular", type: "line",
      source: "contours", "source-layer": "contour",
      filter: ["!=", ["get", "is_index"], 1],
      paint: { "line-color": "rgb(179,134,89)", "line-width": 0.5, "line-opacity": 0.5 },
    });
    map.addLayer({
      id: "contour-index", type: "line",
      source: "contours", "source-layer": "contour",
      filter: ["==", ["get", "is_index"], 1],
      paint: { "line-color": "rgb(166,116,66)", "line-width": 1.1, "line-opacity": 0.65 },
    });
  });
</script>

The same file works anywhere PMTiles is supported: MapLibre (web and native), QGIS 3.32+, Felt, and the pmtiles CLI.

Plain z/x/y endpoint

If your client can't speak PMTiles, a conventional tile endpoint fronts the same archive:

https://contour-tiles.aus-map-data.workers.dev/contours/{z}/{x}/{y}.pbf

Prefer the pmtiles:// URL where you can — it's served by dumb storage and will always be the more reliable of the two.

Download or extract a region

Grab the whole continent (11.9 GB):

curl -O ARCHIVE_URL

Or pull just your area of interest with the pmtiles CLI — this range-reads only the tiles inside your bounding box, so it's fast and small (Tasmania is ~350 MB, a single national park usually a few MB):

# bbox = minLon,minLat,maxLon,maxLat  (this one is Tasmania)
pmtiles extract ARCHIVE_URL \
  tasmania-contours.pmtiles \
  --bbox=144.5,-43.9,148.5,-39.5

Need MBTiles for an offline mobile app? pmtiles convert does the conversion.

What's in the tiles

LayerOne vector layer, contour (MVT/pbf, gzip)
Attributeselevation — integer metres · is_index1 on 50 m multiples (bold "index" lines), else 0
Interval10 m contours, 50 m index contours
Zoom rangez9–z15 (overzooms cleanly beyond 15)
Density by zoomz9: 100 m contours · z10–11: 50 m · z12: 20 m · z13+: full 10 m
CoverageMainland Australia + Tasmania (112.92°E–154°E, 43.86°S–10°S)
Source DEMGeoscience Australia 1-second SRTM DEM-S (smoothed variant, ~30 m resolution)
Size11.9 GB, ~8.5 million tiles
Built withGDAL (cubic-spline oversampled warp + gdal_contour) and tippecanoe

The DEM is warped to 2× its native density with cubic-spline resampling before contouring, which traces smooth curves between the 30 m elevation samples instead of polygonal lines along the pixel lattice. Australia is processed as 2°×2° cells with buffered edges, so contours join seamlessly across cell boundaries.

How it was built

This tileset is a by-product of building offline topo maps for a hiking-trail guide app. The full pipeline — chunked, resumable, one continent on one machine — is open source in that repo: scripts/build-contours-australia.ts. A write-up of the build (and the failures along the way) is coming soon.

Licence & attribution

Elevation data © Commonwealth of Australia (Geoscience Australia), licensed under CC-BY 4.0. The derived contour tiles are likewise CC-BY 4.0 — free for any use, including commercial, with attribution.

Suggested map attribution:

Contours © Geoscience Australia, CC-BY 4.0

The tiles are provided as-is, with no uptime guarantee — for production use, please pmtiles extract your region and host it yourself (any static bucket works).