Georeferenzierung von OSM / OTM Rasterkacheln in GK bzw UTM

Ich möchte gerne die Rasterkacheln (Tiles) von OSM bzw. OTM als Hintergrundbild in GIS Projekten nutzen.

Die (großmasstäbigen) Projekte sollen in Gauß-Krüger oder UTM durchgeführt werden. Da bei dem Übergang in GK bzw. UTM die Kacheln trapezförmig verzerrt werden müssen, scheidet eine Georeferenzierung mithilfe von Worldfiles aus.

Kennt hier jemand eine (einfache) Lösung? Da es sich bei den Projekten immer um mehrere Kacheln handelt, wäre eine möglichst automatische Lösung durch die Nutzung von Eckpunktkoordinaten schön. Die Eckpunktkoordinaten kann ich bereitstellen.

Die von mir genutzten GIS Programme können keine Spontantransformation.

Hei,

Erste Frage: Welche GIS-Programme meinst du? Alle gängigen Programme sollten die Transformatiog GK zu ETRS/WGS etc. ( das was du als UTM geschrieben hast) beherrschen.

Zweite und letzte Frage: du willst doch nicht etwa in GK arbeiten? Dazu kann ich nur sagen: laß es…Gauss-Krüger in GIS stirbt und sollte meiner Meinung nach aktuell nicht mehr verwendet werden.

Sven

Das Problem ist nicht die Transformation zwischen GK und UTM (ETRS89). Die bekomme ich hin, damit kenne ich mich aus. Das Problem ist die Transformation zwischen Pseudo Mercator, in dem prinzipiell die Kacheln vorliegen und UTM. Das geht eben nicht mit einer einfachen Affintransformation, die die Worldfiles durchführen.

Ab und Zu gibt auch heute noch Gründe, Projekte in GK durchzuführen. Das ist in diesem Kontext aber egal. Das Problem mit der trapezförmigen Verzerrung ist bei UTM das gleiche.

Nicht wirklich eine einfache Lösung: Bau Dir das da nach (nur die linke Hälfte mit der Umschaltung GK/UTM/Mercator, die rechte ist uninteressant für dich). Bauanleitung im Wiki (kannst kurz vor “Mapserver” aufhören zu lesen, mapproxy ist Dein Stichwort) und “making of” im Forum.

Wobei es für das bayernweite Saugen der Kacheln damals freundlicherweise eine Erlaubnis seitens der OpenTopoMap gab. Falls du viele Kacheln saugst, musst vielleicht Alternativen überlegen (ggf. nach Lektüre des Einschubs “Warum das alles ein bisschen gepfuscht ist…” im Wiki ;))

Grüße und willkommen im Forum,
Max

Hallo maxbe,

vielen Dank. Das was du da gemacht hast, ist meinem Problem ja sehr ähnlich. Ich habe vor einigen Wochen auch schon mal dein making of gelesen, war auch auf deinen Seiten und habe mir schon mal testweise Messtischblätter heruntergeladen. Die Sache mit dem mapproxy ist ja sehr bequem, wenn man ihn eingerichtet hat. Da ich nicht abschätzen kann, wie aufwändig das Aufsetzen so eines wms-Dienstes ist, habe ich nach einer für mich einfacheren Lösung gesucht. Was mir vorschwebt, ist folgendes: ich habe die runtergeladenen Kacheln und die zugehörigen Eckpunktkoordinaten in GK oder UTM. Die lese ich in ein Programm ein und bekomme z.B. ein Geotiff heraus. Offenbar scheint ja GDAL hier ein Lösungsweg zu sein. Ich habe auch schon mit dem Georeferenzierungstool in QGIS herumexperimentiert. Leider hängt sich QGIS auf meinem Rechner ständig auf, wenn ich irgend etwas mit dem Tool machen will.

Und dein Projekt komplett in QGIS zu machen ist keine Option? QGIS kann ja seit 2.18 direkt die Tiles einbinden (vorher mit Plugins, z.B. “QuickMapServices”) und On-The-Fly transformieren.

Ein etwas hackischer Workaround wäre:

QGIS laden, OSM/OTM als Hintergrundkarte
Projekt auf GK3 stellen
Gewünschten Ausschnitt+Maßstab wählen, Datei->Als Bild speichern (da kommt ein TIF mit TFW raus) (für mehr Maßstäbe wiederholen)

Die TIFFs in deinem GIS nutzen

Das komplette Bearbeiten in QGIS ist inzwischen auch eine Option. Ich habe gerade in einem anderen Zusammenhang eine neue QGIS Version heruntergeladen und festgestellt, dass ich damit auch direkt GeoTiffs erzeugen kann. Ich werde das direkte Bearbeiten in QGIS und alternativ das Erstellen von GeoTiffs mal testen.

Vielen Dank

Mal schnell an einer Kachel demonstriert:

Die Kachel 7/68/44.png (=Z/X/Y.png) sieht so aus:

Die Ecken davon im Mercatorsystem sind

x_li=40075016.68/(2^Z)* X   -(40075016.68/2)=1252340
x_re=40075016.68/(2^Z)*(X+1)-(40075016.68/2)=1565426
y_ob=(40075016.68/2)-40075016.68/(2^Z)* Y=6261724
y_un=(40075016.68/2)-40075016.68/(2^Z)*(Y+1)=5948638

Das SRS (epsg:3857), die Eckdaten und das Bild verfüttert man an gdal_translate und bekommt ein GeoTIFF in epsg 3857. Sieht aus wie vorher, hat aber eben alle Geoinformationen drin:

gdal_translate -a_srs epsg:3857 -a_ullr 1252340 6261724 1565426 5948638 tile_7_68_44.png tile_7_68_44.tiff

Dieses GeoTiff kann man jetzt beliebig umwandeln, z.B. in EPSG 32631

gdalwarp -t_srs epsg:32631 tile_7_68_44.tiff tile_7_68_44_utm31.tiff

Für 4 oder 9 aneinandergestückelte Kacheln musst dir auch nur die 2 Eckpunkte ausrechnen. Die Rechnerei da oben musst auch nochmal überprüfen, ich verzähle mich gern um eine Kachel, weil ich nie weiss, ob man mit 0 oder 1 zu zählen anfängt…

Grüße
Max

Super! Vielen Dank.

Das ist genau das, was ich gesucht habe.

Und wenn’s schnell gehen muss: QGIS beherrscht auch Spontantransformation!

Ansonsten: Die vom Bund zur Verfügung gestellten Transformationsgitter kennst du, oder?