Vector tiles

Vector tiles are something that is still not in the mainstream, but they are more flexible than raster tiles:

We have some vector tiles with OSM data already even in production. Most common use are mobile apps (like OsmAnd, or Yanosik). Some other examples are vector tiles being internally (server side) converted into raster tiles, like the maps served by Thunderforest:

There can be however client side rendering used on the desktop, for example multilingual Belorus or India maps:

You can also play relatively easy with local vector tiles server:

There are multiple software solutions (and problems) for serving and rendering vector tiles - there’s a nice overview made by Paul Norman:

For me the biggest challenge now would be to move the standard tiles layer into vectors internally (just like in the Thunderforest case):

Vector tiles can be useful not only for map rendering. There’s a project accepted for GSoC - Vector Tiles for iD Editor:

Paul Norman has just announced new vector style called Bolder:

It is a candidate for osm-carto migration, but there are still many moving parts, so expect no immediate results.

[UPDATE:] Bolder is unrelated to osm-carto vector migration. It’s just a new, client-side vector style using the same database schema as osm-carto.

There’s a discussion on the OSM Carto issue ticket about migrating to vector tiles:

Interesting article and tool from Mapbox - “Millimeter precision HD Vector Maps”:

“New OpenStreetMap Vector Basemap Available” in Esri, based on OSM Carto style - works pretty fast despite rich dataset and client side rendering:

Probably this is the code of Esri’s style - I’m trying to get in touch with them:

More info directly from Esri about their OSM vector layer:

And two interesting articles about vector tiles in OSM in general:

Comments are welcome.

Another reading, related to BoF on SotM 2018:

This is much needed waiting for this :slight_smile:

Imagico article on vector maps in OSM:

Another person asking for localized maps and recognizing that this might need us to implement vectors first: