ich habe nur eine Frage interessehalber… die gerechneten Karten sind ja in RGB…
Ließe sich es seitens des Renderings machen, die Karten auf 256 Farbwerte zu reduzieren? Das hätte mehrere Vorteile: die Dateigrößen würden sich (erheblich) verringern. Man könnte bestimmen, welcher Farbwert eine bestimte Inhalteebene belegt. Die Rasterdaten, die z.B. wir in Brandenburg über die Landesvermessung bekommen, haben 256 Farben und nur die Farbwerte 0-31 werden für 21 Inhalteebenen verwendet.
Mal gucken… Weisst Du wie man sowas mit GDAL erzeugt?
256 Farben wäre kein grosser Verlust… Wers ausprobieren will: http://geo.dianacht.de/tests/preview.php?format=png8&mtb=7137&res=15
(der Link hat 3 Parameter: res=3…18 Auflösung im m/px, mtb=… die Blattnummer und format=png|png8|jpeg|gif|gtiff das Ausgabeformat. gif und png8 sind 256 Farben.
Bei Gdal kannst Du mit -ot den Datentype in der Ausgabedatei ändern
z.B.
-ot int16
oder
-ot Byte
Byte sollte den 256 Farben entsprechen
Edit: Ich verwende so was um bei DEM-Geotiffs mit Float32 die Größe durch eine Umwandlung in int16 zu reduzieren. Ob eine Reduzierung auf Byte noch gut aussieht (keine Ahnung ob gdal dithering kann) kann ich nicht sagen.
Byte liefert ein Bild mit 256 Graustufen. INT16 vermutlich 65536 Graustufen, aber ich hab keine Software, die das anzeigen würde…
Mit “DISCARD_LSB=4” kann ich die unteren 4 Bit jedes Farbwertes auf 0 setzen und hätte sowas wie ein 12-bit-Bild, das hilft deutlich beim Komprimieren. Aber eine ganz normale Farbreduzierung mit “die passendsten 256 Farben suchen, Palette draus erzeugen und dann jeden Bildpunkt darauf verweisen lassen” hab ich noch nicht gefunden.
Ist PNG (ohne Reduktion auf 256 Farben) bezogen auf den Speicherplatzverbrauch günstiger als TIF mit LZW-Kompression? Habe gerade auf der Website des Gis gesehen, dass neben TIF auch PNG unterstützt wird - das müsste doch dann alternativ funktionieren?
Zum Vergleich von PNG8 und PNG: Der Farbverlauf bei 256 Farben (PNG8, RES3) ist grober gestuft und helle Abstufungen werden gleich als Weiß interpretiert (sieht nicht nach Dithering aus). Außerdem erscheinen die Höhenlinien unschärfer/etwas dünner.
Nachtrag: Vielleicht lässt sich bei den TIFs mit der Deflate-Kompression noch etwas Dateigröße einsparen - nachdem was ich recherchiert habe, wird diese verlustfreie Datenkompression bereits bei GZIP und PNG verwendet.
Habe mal ein Beispiel-MTB als PNG-Datei (COMPRESSION=9) und TIF-Datei mit Deflate-/ZIP-Kompression gespeichert. Daraus ergibt sich folgender Speicherplatzverbrauch:
Habs auch mal probiert, ein willkürlich ausgewähltes Blatt im Gebirge mit viel Farbverlauf bei 3m/px:
46MB tiff 24 Bit unkomprimiert
31MB tiff 24 Bit lzw
31MB tiff 16 Bit lzw
28M png 24 Bit
27MB tiff 24 Bit deflate
7MB png 8 Bit
Ich glaube, wir bleiben bei “24 bit deflate”…
PNG kann Tiff nicht unbedingt ersetzen. In einem geoTiff liegt nämlich nicht nur das Bild, sondern zusätzliche Infos zu Projektion, Lage und Maßstab. Einige dieser Infos (Lage, Maßstab und Drehung) kann man auch in ein world file stecken (dieses .tfw) und das world file zu jedem beliebigen Bildformat dazulegen. Die Projektion muss man sich dann woanders merken. Ob das der Hersteller unterstützt, muss man ihn fragen, er schreibt ja nur von “png als Ausgabeformat”, nichts zur Eingabe. Bringt aber auch nicht viel, png und tiff sind ungefähr gleich gross.
Ich hab die bunte Gegend 8533 “Mittenwald” und zum Vergleich das zu 1/3 blaue 8140 “Prien am Chiemsee”, das flache 7839 “Haag” und das häuser- und kontrastreiche 7835 “München” gemacht:
Klasse, Max.
Habe eine Excel-Datei mit dem zu erwartenden DVD-Datenträgervolumen erstellt.
Könntest Du mir bitte die Karten von München in den verschiedenen Auflösungen als ZIP-Archiv zur Verfügung stellen? Es würden auch Ausschnitte der MTBs mit 1000 x 1000 Pixel von der linken oberen Ecke ausgehend reichen, um die Qualität der Auflösung beurteilen zu können. Hintergrund: Zum einen hast Du noch zusätzliche Auflösungen aufgelistet, die im gestrigen ZIP-Archiv nicht enthalten waren, und zum anderen ist es Peter Karasch nicht gelungen, die große Datei herunterzuladen.
Danke für Deine Mühe. Peter Karasch schrieb mir, dass er eine Auflösung 2,3 m/px für einen guten Kompromiss hält. Frank Dämmrich antwortete mir, dass der Kartensatz zwingend auf einer DVD Platz finden muss - die sächsischen Karten (allerdings Graustufen, wenn ich mich recht entsinne) belegen zum Beispiel komplett nur 162 MB. Er schlug deshalb vor, die Farben auf 16 zu reduzieren. Das könnte ich nachträglich z.B. mit IrfanView im Batch-Modus machen lassen, sofern das Programm die Georeferenzierungsinformationen in den Zieldateien schreibt. Das hätte den Vorteil, dass ich für die Farbreduktion das Floyd-Steinberg-Dithering verwenden kann:
Persönlich denke ich, dass auch zwei Datenträger für den Kartensatz verschmerzbar wären. Aber vielleicht gibt es ja eine Lösung, die mit einem Datenträger für den ganzen Kartensatz auskommt.
Nachtrag: Bei den Münchner Karten fiel mir auf, dass noch kein Maßstab integriert wurde - oder hast Du den Vorschlag zwischenzeitlich verworfen? Die Urheber- und Lizenzinformationen befinden sich dafür außerhalb des MTBs - prima.
Tut es leider nicht. Aber die World-Files sollten ausreichen, um die Geo-Infos z.B. mit dem GeoTiffExaminer in den Header der Tif-Dateien zu schreiben.
Ich fürchte, da führt kein Weg hin. 16 Farben sind ganz deutlich zu wenig. Da hilft dann auch kein Dithern (das würde dann auch wieder die Komprimierbarkeit verschlechtern) und jedenfalls die Version vom Irfanview, die ich heute ausprobiert habe, macht die Geodaten kaputt. Die sächsische Karte ist schwarzweiss mit 1 Bit Farbtiefe, aber das ist auch ein Kartenstil der daraufhin optimiert wurde, dass er gut aussieht, wenn man nur mit Papier und Tuschestift arbeitet.
Die einzige Chance, das auf eine DVD zu bekommen sehe ich mit 265 Farben (*) und einer Auflösung um 3.5 m/px. Kannst dir ja mal ein paar png8 ansehen.
Den hab ich nur bei größeren Maßstäben eingebaut. Bei riesigen Bildern mit 7000 Pixel breite sah es komisch aus: Entweder ein 6000 Pixel langer Maßstab oder der war ganz rechts im Eck und man fragt sich was links davon vergessen wurde…
Grüße, Max
(*) Ich weiss inzwischen wie es geht…
Jup, das wars. “Byte” wird nicht nur für Graustufen verwendet, sondern auch für indizierte Farbbilder. Allerdings kann die Mapserver+Gdal nicht erzeugen. Freundlicherweise lässt Gdal aber die Bilder in Ruhe, wenn sie schon mit 256 Farben vorliegen. Der Umweg über png8 und daraus dann tiff liefert das gewünschte.
die große Anzahl der Farben kommt doch durch das Hill-Shading, durch die Geländeschattierung?? Wenn man das ohne dieses macht, würden dann die Karten kleiner werden?
Das wird knapp. Eher würde es mit 2.8 oder 3 passen, schätze ich.
Bestimmt, aber dann wäre es eine andere Karte. Was fehlt ist ein Kartenstil, der mit s/w auskommt. In urbanem Gelände gibts ganz gut aussehende, nur für Landschaft müsste das jemand entwerfen, der sowas kann und den Service anbietet, dass man seine Karten auch absaugen darf.
Hallo Max,
ich dachte eigentlich eher nur an die reine OpenTopoMap, nur ohne die SRTM-Daten (Ähnlich wie man diese Karten fürs Garmin bekommt). Diese SRTM-Daten sorgen doch dafür, daß sich Farbverläufe ergeben… wenn man dieses wegläßt, hat man z.B. beim Wald nur noch zwei Farbtöne: Hellgrün für die Fläche und Dunkelgrün für die Baumsymbole. Ähnlich verhält es sich mit den anderen verwendeten Farbwerten. Wenn ich das dann überschlage, komme ich überschlägig auf 14-15 Farben.
Genauer sind es Farbtöne (hue). Durch die Schraffierung kommen dann Farbverläufe hinein. Das führt bei verringerter Farbtiefe (bit/px) dann zum Banding (Streifenbildung).
Mit einer Aufteilung in unterschiedliche Layer in der Art von YUV (Y: Helligkeit für Kanten/Linien, UV: für Farbe) mit unterschiedlicher Auflösung ließe sich sicher ohne spürbaren Qualitätsverlust viel sparen. (Das ist übrigens ein Zwischenschritt der JPEG-Komprimierung.)
Aber das muss eine SW erst einmal verarbeiten können.