Kartotherian & Wikipedia Maps Yuri Astrakhan yuri@wikimedia.org
What is Kartotherian? Open source vector/raster tile server Designed for high volume sites Supports logstash, grafana Flexible processing pipeline Based on Mapnik 3 & Mapbox components Distributed vector tile generation (Tilerator)
Tilerator GL Style tm2 Style for PNG tm2source SQL PBF OSM Tables WebGL PNG Varnish Caching tm2 Style for PNG Kartotherian Invalidated Tiles List Redis Que tm2source SQL Tilerator OSM DB PostgreSQL OSM Tables Tile Storage Cassandra or SQL or Files PBF vector tile
Source Pipeline Components getTile(z,x,y) putTile(z,x,y, tile) Batch PUT Batch GET (iterate) Source new(uri) bridge – generates tiles (e.g. from SQL) vector – renders vector tiles into raster tiles cassandra/postgres/file/... – tile storage overzoom – extracts portion of low zoom tile autogen – get from src2 if not in src1 and save layermixer/demultiplexer – tile manipulation
Kartography is Hard Decide what is needed? Generate vector tiles (SQL!) Fast to generate Include only what is needed Optimize geometries Clipping issues, road merging issues, ... Draw the tiles (style)
Wikipedia Maps Info Overlays: <map lat=… lon=…>{geojson data}</map> Historical Old raster map overlays, timeline sliders Mobile App – articles as POIs Discover – fun to read more
Questions? Yuri Astrakhan yuri@wikimedia.org @nyuriks github.com/nyurik