pnorman / bolder

A new open client-side style for OpenStreetMap data
Other
16 stars 2 forks source link

Vector tile generator #2

Closed pnorman closed 6 years ago

pnorman commented 7 years ago

A vector tile generator needs to be selected. The standard reference for options is http://paulnorman.ca/blog/2016/11/serving-vector-tiles/.

The sane options are tileserver, tegola, t-rex, and tilemaker. node-mapnik is because it is a pain to deploy and we're not using Mapnik elsewhere in the style. Tilestache is out because it relies in SQL in JSON, and we know from JSON MML files that is a bad idea.

tilemaker is the most unconventional of the options because it prohibits diff support.

tileserver contains all the features needed, because Mapzen needs the features for tilezen. It's a question of how complicated is to deploy use, because it's probably the most complicated of the options, and it's possible it's tied too much into Mapzen does stuff. This needs evaluating.

t-rex and tegola are both new and may be missing some features required for vector tiles for a basemap.

pnorman commented 7 years ago

I'm going to rule out tilemaker. Doing it for a regularly updating full-planet rich basemap is just too experimental.

pnorman commented 7 years ago

tegola 0.4.0 appears to have the features required, but the experience will be the same as writing SQL for Mapnik: giant UNION ALLs, zoom conditionals, etc.

c.f. https://github.com/terranodo/tegola/issues/127

pnorman commented 6 years ago

Having tried tegola, t-rex, and Mapzen's tileserver, I'm deciding on tileserver.

I'm not confident that either tegola or t-rex have all the features we will need, but know that tileserver does. My main concern was complexity, particularly with the new RAWR tiles. It turns out that we won't need to use any of that stuff.

The main remaining drawback is a unhealthy amount of intertwining with vector-datasource, Mapzen's vector definitions, which are an upstream component.

pnorman commented 6 years ago

Re-opening this. Mapzen ending changes the landscape.

The options are

tm2source (node-mapnik) has new developments like https://github.com/rory/tileigi which remove the need for Mapnik, but they're a long way off.

Looking at development this year, tegola has plenty of commits on the v0.6.0 branch, t-rex has some development, and tileserver/tilequeue has nothing in the last month.

With tegola now having cache support, it's feature complete, and i'm leaning towards it much more.