JOSM und Georeferenzierte Bilder
Posted by Robhubi (inaktiv) on 26 September 2022 in German (Deutsch).
Fersenlutzel und Pudelmutter am Südostrand der Alpen ist eine sehr spannende Sagenlandschaft, unbedingt Wert georeferenziert zu werden, aber in JOSM muss ich es nicht haben. In JOSM landen primär die georeferenzierten Papierkarten mit Rad- oder Wanderwegen, die ich zur Qualitätssicherung meiner Daten verwende.
Nativ unterstützt JOSM keine georeferenzierten Einzelbilder, dazu sind Plugins erforderlich.
Mit JOSM georeferenzieren
Für kleine Bereiche geht das recht gut mit dem Plugin PicLayer [1]. Die optische Vergleichsmethode eignet sich gut für Kartenausschnitte mit wenigen km². Für größere Bereiche wird es zunehmend schwierig. Da ist es besser externe Programme zu verwenden. Welche spielt keine so große Rolle, das Prinzip ist überall ähnlich.
Eine Ausnahme ist das QMapTool Gitterwerkzeug in QMS [2], das ein viel schnelleres Referenzieren von Karten mit Koordinatengittern erlaubt.
Für den problemlosen Austausch der georeferenzierten Bilder sollte man bei einem Koordinaten-Referenzsystem bleiben. Z.B.:
JOSM Default CRS: EPSG:3857 (WGS 84 / Web-Mercator)
GeoTIFF-Bilder in JOSM verwenden
Mit dem GeoTIFF-Format liegt man auf der sicheren Seite. Es gibt kein Format das breiter von GIS-Herstellern unterstützt wird. In JOSM importiert das Plugin ImportImage [4] problemlos alle GeoTIFF-Bilder.
Sollte das Source Reference System unbekannt sein, so kann man raten und viele, viele CRS durchprobieren, bis man das Passende gefunden hat (nach dem Import: Rechtsklick auf TIFF-Layer/Layer Properties/SRS).
Der einzige Nachteil von GeoTIFF ist die Dateigröße. Der Speicherbedarf von großen Scans kann JOSM zum Straucheln bringen. Die LZW-Komprimierung hilft, aber nicht immer genug.
JPG-Bilder in JOSM verwenden
Das Plugin ImportImage unterstützt neben GeoTIFF auch TIFF, JPG, BMP, PNG und GIF. JPG-Bilder haben den Vorteil nur etwa 1/10 der Größe der komprimierten TIFF-Datei aufzuweisen. Diesem Vorteil steht der Nachteil mangelnder Kompatibilität gegenüber. Der Import von georeferenzierten JPG-Bilder scheitert gar nicht so selten. Dazu später mehr.
Das georeferenzierte JPG-Bild besteht aus drei Dateien:
- <name>.jpg notwendig, Bilddatei
- <name>.wld notwendig, Geo-Kalibration
- <name>.prj optional (aber sinnvoll) proj4-Datei
Die World-Datei enthält die Einfügekoordinaten, die Skalierungsfaktoren und die Drehung des Bildes. Statt <name>.wld ist auch <name>.jgw gebräuchlich (analog *.tfw, *.bpw, *.pgw, *.gfw)
Der PRJ-File enthält die Parameter des CRS. Ihn wegzulassen macht nur Sinn, wenn immer derselbe Default-CRS verwendet wird. Fehlt er, wird der CRS von Plugin ImportImage erfragt.
GeoTIFF mit QGIS bauen
Schnell und einfach mit Menü Raster/Projektions/Warp (Reproject):
- Input Layer auswählen
- Target CRS = EPSG:3857
- Advanced Parameters Profile = High Compression
- Reprojected / Save to File = <FileName>.tif
- Run
Oder OSGEO4W Shell starten und GDAL Kommando aufgeben:
gdalwarp -t_srs EPSG:3857 -r near -of GTiff -co https://wiki.openstreetmap.org/wiki/Tag:COMPRESS=DEFLATE -co https://wiki.openstreetmap.org/wiki/Tag:PREDICTOR=2 -co https://wiki.openstreetmap.org/wiki/Tag:ZLEVEL=9 <InputFile> <OutputFileName>.tif
Geo-JPG mit QGIS bauen
Der einfachste Weg ist ident zum GeoTIFF, beim Output-File wird nur die Endung in JPG geändert. Leider kann der so erzeugte JPG_File nicht immer vom JOSM Plugin gelesen werden. Datenformat und Transparenzkanal sind Stolperfallen.
Der sichere Weg geht über Translate:
- QGIS starten und OSM Karte als Layer hinzufügen
- Referenzierte Karte als Layer hinzufügen
- Im Menü Raster/Conversion/Translate auswählen
- Einstellungen: Input Layer = <auswählen> Override the Projection for the output file = EPSG:3857 Additional command-line parameters = -scale –b 1 –b 2 –b 3 Output data type = Byte Converted = <outputFileName>.jpg
Oder OSGEO4W Shell starten und GDAL Kommando aufgeben:
gdal_translate -a_srs EPSG:3857 -ot Byte -of JPEG -scale -b 1 -b 2 -b 3 <InputFile> <OutputFileName>.jpg
WLD-File erstellen
Das JPG-Bild benötigt die Begleitdateien für die Geodaten:
- Im Menü Raster/Projections/Extract Projection wählen
- “Create prj-File” anhaken
Alternativ kann beim Bauen der GeoTIFF bzw. Geo-JPG die Creation Option:
- -co “TFW=YES“ (für GeoTiff)
- -co “WORLDFILE=YES” (für JPG u.a.)
hinzugefügt werden.
Geo-PNG mit Mapc2Mapc bauen
In Mapc2Mapc [3] braucht man nichts einstellen, GeoTIFF laden, konvertieren und fertig.
- Menü File/Load Calibrated Map auswählen
- Menü File/Write Calibrations auswählen
Es wird das PNG-Bild und ein Satz an Kalibrationsdateien geschrieben. Für JOSM relevant sind die PGW- und TFW-Files. Eine Konvertierung zu JPG ist in Mapc2Mapc nicht möglich, extern geht es natürlich.
Größenvergleich einer Karte mit 5700x5300 px:
| Typ | Größe [MB] | Größe [%] |
|---|---|---|
| GeoTIFF unkompr. | 108 MB | 100% |
| GeoTIFF LZW kompr. | 67 MB | 62 % |
| PNG | 16 MB | 15 % |
| JPG | 7 MB | 6 % |
Referenzen
[1] JOSM Plugin Piclayer: https://josm.openstreetmap.de/wiki/Help/Plugin/PicLayer
[2} QMapTool in QMS: https://www.naviboard.de/thread/61671-neu-qmaptool/
[3] Mapc2Mapc: https://www.the-thorns.org.uk/mapping/
[4] JOSM Plugin ImportImage: osm.wiki/JOSM/Plugins/ImportImagePlugin
Discussion