Practical and Impractical Uses of Terrain Data

Stamen Design

Chris Henrick

NACIS 2016

stamen logo

Open Terrain

About Open Terrain

Open Terrain Outcomes

  • Github Wiki on Open Terrain data sources
  • Terrain Classic map tiles
  • AWS Tiler

Terrain Classic

About Terrain Classic

  • Global version of Stamen's U.S. Terrain map tiles
  • Ported to CartoCSS from Cascadenik
  • NodeJS, Mapnik, Make, Postgres & PostGIS, Tessera
  • AWS Tiler creates separate tile layers: background, lines, labels, hillshade
  • Main tiles are created by compositing with Mapnik
  • Terrain data sourced from Mapzen Elevation Data API

Terrain Classic Outcomes

  • General Purpose Map Style
  • Free, Public Tile Source
  • CartoCSS IS NOT DEAD
  • Shout out to Tom Patterson's Web Shaded Relief Guide

AWS Tiler

Web Browser Request -> Tile {z}/{x}/{y} URL

AWS: Does the Tile Exist?

IF TRUE -> Grab from S3 Store

ELSE -> Create it & Write to S3 then grab

Send back to Web Browser

Link to Demo

AWS Tiler Stack

  • AWS: Lambda, S3, EC2, API Gateway
  • GDAL: Raster Overviews & Warped VRTs
  • Python's Matplotlib & Rasterio
  • NodeJS & Mapnik
  • Docker & Apex.io (Lambda helpers)
  • Data source (DEM, Aerial Imagery, PostGIS, etc.)

AWS Tiler Benefits

  • Cost Efficient
  • You Own Your Tiles
  • No Tile Server
  • Works Well with Raster Data
  • Can Use Multiple Layers on a Single AWS Setup

AWS Tiler Caveats

  • Set up & AWS configuration can be tricky
  • Initial Tile generation is slow

Impractical Uses of Terrain Data

Thank You!

Twitter: @chrislhenrick

Email: chris [at] stamen [dot] com

Web: Stamen.com

This Presentation: bit.ly/stamen-terrain-nacis-2016