Ahojte,
hlásim sprevádzkovanie outdoorovej mapy na novom, výrazne silnejšom serveri, ktorý mi skvelo nakonfiguroval Tibor 👍
Prebehla zásadná zmena renderovacieho stacku:
prechod z Mapniku na vlastný renderer
https://github.com/FreemapSlovakia/rustmap
serverová časť (+ orchestrácia) ostáva v Node.js
samotný rendering je napísaný v Ruste (Node N-API binding)
na renderovanie sa používa:
Cairo (podobne ako Mapnik)
Pango na texty
GDAL na tieňovanie
množstvo vecí bolo nutné implementovať ručne:
offsetovanie čiar
text po krivke
pattern po krivke
hatching
ďalšie pomocné algoritmy
prebehla aj výrazná optimalizácia pamäte pri hillshadingu
žiadne C++ 😄
https://www.youtube.com/watch?v=7fGB-hjc2Gc
plná kontrola nad kódom aj algoritmami
všetky výhody Rustu:
moderný toolchain
memory safety
fearless concurrency
Mapnik sa už prakticky nevyvíja, len udržiava
otvárajú sa nové možnosti, ktoré sa v Mapniku realizujú veľmi ťažko alebo vôbec
výrazne rýchlejší rendering
použiteľný export do SVG aj PDF
max zoom zvýšený z 19 na 20
prerendering renderuje naraz dlaždice pre 3 rozlíšenia, čím sa znižuje záťaž databázy
niekoľko menších vizuálnych vylepšení mapy
(cieľom bolo najprv dosiahnuť vizuál cca 1:1 oproti pôvodnej verzii)
vlastné kreslenie pri exporte mapy
legenda
Ak narazíte na problémy alebo máte spätnú väzbu, dajte vedieť.
Zatiaľ nefunguje
vlastné kreslenie pri exporte mapy
legenda