experimental openstreetmap renderer - work in progress
status: I can read PBF/MVT and make some debug images using styles hardcoded in Nim.
see demo server
- use tilemaker (or planetiler) to make vector tiles
- use this tool (lunarender3) to render map
- profit! (or at least have map with nice colors)
I am far away from point 3, but I have some ideas:
- instead of JSON stylesheet use Lua (hence lunarender name)
- make app capable working both as localhost server and backend for public map (behind some Nginx)
- original lunarender
- 2018 proof of concept in Go
- mapstyles which will be ported to this version
- Vector tile specification (as we are implementing our own parser)
- Vector tiles test suite
- OpenMapTiles schema
- current test data (Luxembourg from OpenMapTiles)
- MAKI icons
- https://www.axismaps.com/guide
- on linux it needs to be build with
-d:useStdLib
because of httpbeast not included or something like this - be able to write rules in lua
- unreverse reversed y coordinate
- handle broken tiles gracefully
- bind other interfaces to be able to host demo on server
- host pbf content for javascript clients
- mark occupied areas to not collide text labels and icons
- draw text labels from neighbor tiles to not crop labels crossing tile borders (not needed on all sources)
- make "average lines" from paths to put street names on
- derive zoom levels above 14 from zoom 14
- optimize a lot
- translate lua rules via fengari for use in Leaflet.VectorGrid
- https://docs.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system
- https://github.com/paulmach/orb/blob/master/maptile/tile.go
- document each tile source quirks