/lunarender3

experimental openstreetmap renderer - work in progress

Primary LanguageNimMIT LicenseMIT

lunarender3

experimental openstreetmap renderer - work in progress

status: I can read PBF/MVT and make some debug images using styles hardcoded in Nim.

Hello world!

see demo server

More nice pictures

Hello world no 2!

Kleinbettingen

Beroun

Beroun

idea

  1. use tilemaker (or planetiler) to make vector tiles
  2. use this tool (lunarender3) to render map
  3. 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)

my previous work

data & links

TODOs & ideas

  • 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