Zum Hauptinhalt springen

WMTS Tilestore von PNG nach JPEG konvertieren

·158 Wörter·1 min

Die Karten bei snowhow-maps basieren auf den Daten von Openstreetmap und werden um Geländeinformationen ergänzt. Das Ergebnis sind über 7 Millionen Karten-Kacheln im PNG-Format für den Alpenraum, die mit Carto-CSS und Mapnik (Kosmtik) erzeugt werden.

Da wir unter anderem Felszeichnung und Schummerung in der Karte verwenden, kann mit dem JPEG-Format bei relativ geringem Qualitätsverlust einiges an Platz gespart werden. Um die mächtige Dateistruktur mit einem Einzeiler von PNG in JPEG zu konvertieren und dabei noch ansprechende Dateinamen zu erhalten, kann man folgendes Kommando im Wurzelverzeichnis des Tilestore verwenden:

find . -type f -name '*.png' -exec bash -c \
  'echo "convert $1" && convert -format jpg \
  -quality 90% -sharpen 0.1 "$1" "${1/\.png/.jpg}"'\
  -- {} \;

Kartenkachel Hochalterkar als PNG
Original PNG (256x256px 107 KB)
Kartenkachel Hochalterkar als geschärftes JPG
Geschärftes JPG (256x256px 40 KB)

Der Unterschied liegt ca. bei einem Faktor von 2.8, was bei grob 7 Millionen (wenn auch kleinen) Dateien schon einen gehörigen Unterschied macht. Der Trick mit dem Schärfen (-sharpen 0.1) kommt von Mapbox.