Zoomable Maps

For the 2018 One.MIT mosaic, the SQL-based name search implementation uses precomputed images at different magnifications. Inspired by the way visitors interacted with the large 2018 mosaic wall print, MIT alum Georgios Varnavides wanted to create a more intuitive user-experience, for the 2020 and 2024 mosaics, similar to how we navigate web maps.

While at small magnifications a map of the entire world can be displayed as an image, using an appropriate map projection, as we increase magnification and require finer detail, a map of the entire world is too big to be displayed on the screen. Instead, the clever mechanism web map providers use to enable this efficiently is called map tiles.

Essentially, the world is divided into tiles – each representing a fixed area at increasing magnification. At zoom level 0, there is a single tile of the whole Earth, while at zoom level 1 the Earth is split into a 2x2 grid for a total of four squares.

This creates a so-called quadtree data stucture, which is remarkably efficient to query. The data efficiency of raster tiles can be further improved by serving vector representations of the map features, clipped at the appropriate tile boundaries.

(Image: A map divided into hierarchical tiles, source: maptiler.com.)

Custom Vector Tiles

In order to utilize existing open-source map software for convenient navigation, Varnavides had to generate custom vector tiles from the postscript characters produced by Carter’s algorithm.

The process involved a number of steps:

  • Convert the postscript characters to GeoJSON features
  • Generate compressed vector tiles at the appropriate zoom levels
  • Serve the vector tiles using a dedicated server
  • Render custom map layers with client-side interactivity

(Image: Perspective view of the One.MIT 2020 vector tiles implementation)