Wie kann man mit QGIS die Georeferenzierung umkehren?

16

Ich habe eine Karte mit einer "seltsamen" Projektion (im Grunde genommen handgemalt, keine exakte). Ich kann es in QGIS mithilfe des Georeferenzierungs-Plugins und der Thin Plate Spline-Transformation mit einer Reihe von 2000 bis 3000 Kontrollpunkten problemlos in eine einfache WGS 84 (EPSG: 4326) -Latlong-Projektion georeferenzieren und mit anderen Daten verarbeiten / weiterentwickeln. wie von Natural Earth oder OpenStreetMap.

Jetzt möchte ich die umgekehrte Operation ausführen : Transformiere eine dieser Rasterebenen (oder gerasterten Vektorebenen) zurück in die handgemalte Quasi-Projektion, idealerweise unter Verwendung derselben Kontrollpunkte, sodass die Bilder beim Überlagern übereinstimmen ein Grafikeditor. Wie mache ich es?

Martin Sojka
quelle
8
interessante Situation. Vielleicht referenzieren Sie die handgemalte Karte überhaupt nicht. Verwenden Sie die handgemalte Karte als "Grundwahrheit" und ermitteln Sie Ihre Kontrollpunkte basierend auf dem lokalen Koordinatensystem (z. B. beträgt die linke obere Ecke der handgemalten Karte 0,0 und jedes Pixel ist eine Einheit). Dann 'georeferenzieren' Sie Ihre Raster auf dieses lokale Koordinatensystem.
Spatialthoughts
1
@spatialthoughts: Dies würde bei Rastern recht gut funktionieren, allerdings würde ich auch die Genauigkeit von Vektorebenen und die Möglichkeit verlieren, Berechnungen mit ihnen durchzuführen (Bereich eines Features, Länge eines Segments usw.). Das ist natürlich kein unüberwindliches Problem. In der Lage zu sein, die Georeferenzierung umzukehren, hätte diese Einschränkungen nicht.
Martin Sojka
@Martin Möchtest du die Vektorberechnungen in WGS84 oder in den handgemalten Bildkoordinaten? Wenn das erstere so klingt, als müssten Sie Vektoren in handgemalte Koordinaten umwandeln, ist es völlig unabhängig von der Notwendigkeit, Berechnungen für den Vektor durchzuführen - und ich würde dem Vorschlag von räumlichen Gedanken folgen. Bedeutet nur, dass Sie diese Aufgaben in separaten QGIS-Projekten ausführen müssen.
Jeff G
1
Im Allgemeinen kann nicht garantiert werden, dass für alle Transformationen eine Inverse vorhanden ist. Wenn Sie bei Polynomtransformationen das Plug-in dazu bringen könnten, die verwendeten Koeffizienten zu protokollieren, könnten Sie die Inverse mathematisch berechnen. Bei dünnem Plattenspline ist möglicherweise auch eine Umkehrung möglich: Die Funktion GDALCreateTPSTransformer verwendet ein Argument "bReversed": gdal.org/gdal__alg_8h.html#a245802b88a8126c138d24febe6c9822a
Jeff G

Antworten:

1

Wenn Sie ArcGIS verwendet haben, verwenden Sie die Symbolleiste für die räumliche Anpassung. QGIS bietet jedoch eine ähnliche Funktionalität durch Plugins.

Gehe zum Plugin Manager und installiere 'Affine Transformations'

Installieren Sie auch 'Vector Bender'

Homepage: https://github.com/trenneman/qgsAffine ;

https://plugins.qgis.org/plugins/VectorBender/

Da Sie bereits über die Kontrollpunkte verfügen, sollten Sie in der Lage sein, Ihre Daten wieder in die ursprüngliche "Projektion" umzuwandeln. Laden Sie Ihre Kontrollpunkte in das Plugin und führen Sie die Transformation durch. Ich habe dies noch nicht ausprobiert, daher müssen Sie möglicherweise mit den Kontrollpunkten spielen. Das Plugin für affine Transformationen verwendet Konstanten, um die Transformation durchzuführen. Da Sie bereits Kontrollpunkte haben, sollten Sie den Vektorbieger verwenden, um eine 'Gummiplatte' zu erstellen.
Vector Bender befindet sich nicht im Plugin-Repository. Sie müssen es daher manuell installieren, indem Sie es zu C: \ Users.qgis2 \ python \ plugins \ VectorBender hinzufügen.


Zweite Option (funktioniert möglicherweise nur für Raster, wurde nicht mit Vektoren getestet) - Im Georeferenzierer können Sie Ihre Kontrollpunkte in einer Datei speichern. Sie können Kontrollpunkte auch aus einer Datei laden.

Folgendes müssen Sie tun:

Speichern Sie die cpg-Datei. Ändern Sie die Erweiterung in .csv. Öffnen Sie die Datei in Excel. Tauschen Sie die Werte in den Spalten von / nach aus. Speichern. Ändern Sie die Erweiterung wieder in .points.

Sobald Sie die Kontrollpunkte eingerichtet haben, können Sie mit den Kontrollpunkten und Ihrer bevorzugten Transformationsmethode hin und her transformieren.

jbalk
quelle
Ist die Symbolleiste für die räumliche Anpassung nicht Teil von Arcgis Desktop? Ich bin nicht sicher, ob es in QGIS etwas Ähnliches gibt.
AndreJ
@AndreJ Bitte sehen Sie meine Änderungen.
Jbalk
0

Ich musste dies selbst einmal für eine Rasterebene tun und es dauerte eine Weile, bis ich sah, dass ich das Inverse nicht brauchte. Schreiben Sie ein Skript, um ein Raster in dieser Projektion zu erstellen, das den Pixeln in Ihrem Grafikeditor entspricht, damit die Bilder in der ursprünglichen seltsamen Projektion übereinstimmen. Verwandeln vorwärts für jeden Punkt in dem Gitter , den Wert der Schicht holen Sie in WGS 84 (ähnlich zu haben spatialthoughts Kommentar )

Nick Mulgan
quelle