Einen unbekannten Kartennetzentwurf einpassen

Mit einem Passpunktgitter entzerren

Wie geht man vor, wenn eine Karte in einem unbekannten Netzentwurf vorliegt und auf eine andere Geometrie eingepasst werden soll?

Dann ist die Entzerrung mit Passpunkten eine mögliche Lösung. Vimage stellt hier die multiquadratische Passpunkttransformation nach Hardy zur Verfügung. Diese kann bis zu 200 Passpunkte (u. U. sogar bis 1200) zur Deckung bringen.

Dieses Tutorial zeigt das Setzen von Passpunkten in einem zu entzerrenden Quellbild. Die Sollpositionen werden mit Excel bzw. dem Editor „zu Fuß“ eingegeben. Anschließend erfolgt die Entzerrung.

Gegeben sei folgende Europakarte (Etwa 1,2 MByte)

Wir kennen weder den Maßstab, noch den Netzentwurf. Diese Karte soll in eine andere Projektion eingepasst werden. Hier z. B. in geographische Koordinaten, d. h. auf eine quadratische Plattkarte im Gradmaß.

Natürlich sind aber auch beliebige andere Netze denkbar. Wird es überhaupt möglich sein, völlig unterschiedliche Gitternetze in Übereinstimmung zu bringen? - Mit etwas Überlegung und Sorgfalt kann eine fast pixelgenaue Einpassung gelingen ...

Die Arbeit gliedert sich in 4 Schritte:

Eine Besonderheit dieses Tutorials ist, dass die Basispunkteingabe nicht in Vimage erfolgt, sondern über eine externe Passpunktdatei (mit Excel oder einem Texteditor.) Das ist in der Praxis oftmals hilfreich.


1. Schritt: Passpunkteingabe

Bild öffnen und am besten Vergrößerung 200 % einstellen. Dann wird die Passpunktdialogfenster wird über das Menü Geometrie/Passpunktdialog erreicht.

Es ist auch Anklicken der Schaltfläche möglich. Bei aktivem Passpunktdialogfenster können die Passpunkte einfach durch Mausklick eingegeben werden.

Im Menüfenster Bearbeiten (und auch bei Rechtsklick in das Bild) öffnet sich ein Kontextmenü, das weitere Operationen bereithält, u. a. das Löschen evtl. falsch eingegebener Passpunkte.

Für eine präzise Entzerrung ist eine gewisse Menge an Passpunkten erforderlich. Wir geben insgesamt 55 Passpunkte in 5 Reihen ein. Diese stehen pixelgenau auf den Netzschnittpunkten. Der Europakenner bemerkt: Die Punkte stehen in 5°-Abständen auf den geographischen Längen -10° ... 40° und den geographischen Breite 55° ... 35°.

Die Passpunkte sollen das gesamte zu entzerrende Kartenblatt gut überdecken und auch noch in Randbereiche hineinragen.


2. Schritt: Basispunkteingabe

Basispunkte - was ist das?

Die Passpunkte allein nützen wenig, denn sie geben zwar an, wo die Punkte im verzerrten Bild stehen, aber noch nicht – wo sie hinsollen. Eigentlich benötigt man nämlich Passpunktpaare, die zwei Seiten haben: Eine verzerrten Position im zu entzerrenden Bild. Das sind die Passpunkte oder Ist-Positionen, die wir gerade eingegeben haben. Hizukommen müssen noch die Basispunkte oder Soll-Positionen. Das sind die Positionen, auf welche die Passpunkte hintransformiert werden sollen.

Basispunkte können prinzipiell wie Passpunkte per Mausklick eingegeben werden. Man erkennt die beiden Seiten im Passpunktdialogfenster. Mit den Menü-Unterfunktionen unter Bearbeiten (oder Rechtklick ins Bild) lassen sich Passpunktseite und Basispunktseite hin- und herkopieren.

Zunächst bitte Passpunkte in Basispunkte kopieren.

Anmerkung: Die Basispunkte haben zunächst noch die Ist-Koordinaten - dies zunächst nicht weiter beachten.

Passpunkte in Textdatei *.pas speichern

Wenn wir die Basispunkte per Maus eingeben, können sich Ungenauigkeiten einschleichen. In unserem Fall ist es besser, die bekannten Sollkoordinten alle 5° manuell einzugeben. Hierfür bitte den Passpunktsatz speichern. Passpunktdateien haben immer den Dateityp .pas. Wir wählen den Dateinamen rd_demo_pp1.pas.

Die Koordinaten der Basispunkte manuell eingeben: Variante 1 - Excel

Die Datei rd_demo_pp1.pas ist nun eine gewöhnliche Textdatei im aktuellen Verzeichnis. Am besten geht die Bearbeitung mit einem komfortablen Programm, z. B. Excel. Datei rd_demo_pp1.pas als „Text (Tabstopps getrennt) (*.txt)“ importieren. Dann zeigt das Tabellenblatt die Dateistruktur. Die erste Zeile ist hier uninteressant, ebenso die Zahlen in der 2. Zeile. Die 2. Zeile bitte keinesfalls verändern.

Ab der 3. Zeile folgen die Passpunktpaare. In der 2. und 3. Spalte stehen die Passpunktkoordinaten. Diese nicht ändern. In der 4. und 5. Spalte stehen die Basispunktkoordinaten. Diese haben zunächst noch dieselben Werte wie die Passpunkte (graue Schrift). Das ist auf die Kopie der Passpunkte in die Basispunkte zurückzuführen. Nun müssen die Basispunkte, so wie braun/rot dargestellt, geändert werden. Anschließend wieder als „Text (Tabstopps getrennt) (*.txt)“ als .pas-Datei speichern.

Die Koordinaten der Basispunkte manuell eingeben: Variante 2 - Texteditor

Wer mit Excel nicht klarkommt - es geht natürlich auch - etwas primitiver - mit einem gewöhnlichen Texteditor:

Gleich wie - jetzt stehen jedenfalls die geographischen Koordinaten der Passpunkte exakt auf der Basispunktseite der Passpunktdatei. Die Datei als rd_demo_pp2.pas speichern.

Passpunktpaare aus Textdatei *.pas wieder in Vimage einlesen

Die *.pas-Datei ist eine gewöhnliche Textdatei. Wichtig ist, dass die erste Zeile eine Kommentarzeile ist und auf der 2. Zeile die 4 Zahlenwerte [Passpunktanzahl], 5, 1 und 1 stehen. Ab Zeile 3 folgen die Koordinaten der Passpunktpaare. Die Datei lässt sich problemlos mit der Vimage-Funktion Passpunktsatz laden in den Vimage-Passpunktsatz übernehmen:

Jetzt stehen die richtigen Koordinaten unserer 55 Passpunktpaare exakt im Passpunktdialogfenster:

Das Fenster bitte schließen. Vimage merkt sich den aktuellen Passpunktsatz im Hintergrund.


3. Schritt: Definition der Zielgeometrie

Wozu Zielgeometrie definieren?

Viele geometrische Transformationen scheitern daran, dass einfach „drauflos“ entzerrt wird. Das Ergebnisbild steht dann schlimmstenfalls „irgenwie“ in einem Rasterbild. Es ist dann keinesfalls selbstverständlich, dass dieses Bild „passt“.

Im Fall einer geometrischen Transformation werden Pixel aus einem Quellbild in ein Zielbild übertragen. Aber wie groß ist dieses Zielbild, wie groß sind die Pixel in diesem Zielbild und wie liegt das Koordinatensystem in dem Zielbild? Diese Informationen sind notwendig, damit Vimage vor Beginn der Transformation überhaupt erst einmal ein leeres Zielbild errichten kann.

Das Zielbild kann eine vorhandene Karte sein. Im vorliegenden Fall erfolgt aber die Entzerrung in eine „synthetische“ Bildgeometrie in einem leeren Bild.

Ein leeres Zielbild erzeugen

Das in unserem Fall erforderliche Leerbild kann mit folgenden Überlegungen und Arbeitsschritten angelegt werden:

  1. Zunächst bitte das aktuelle Bild (Datei/Speichern[unter]) speichern.
  2. Wir wollen eine Europakarte in einer Größe von 30°×60° herstellen.
  3. Ein 5-Grad-Feld soll 60×60 Pixel messen - ein Pixel soll also 1/12 Grad groß sein.
  4. Folglich wird die Zieldatei eine Größe von 720×360 Pixeln haben müssen.
  5. Kleines Detail: Weil die Gradlinien pixelmittig verlaufen sollen, wird es ein Bild mit je einem Pixel mehr, also mit 721×361 Pixeln. Die Menüfunktion Datei/Neu/Neues Pixelbild im Pixelmaß legt nun das Bild im aktuellen Bildspeicher an. Bildbreite und Bildhöhe bitte mit 721 bzw. 361 angeben ...
  6. Nun bitte mit dem Menü Bildverwaltung/Geometrieparameter (oder der Schaltfläche ) das Georeferenzierungfenster rufen und die folgende Georeferenzierung einstellen:

Nun steht ein leeres Bild exakt in Zielgeometrie im aktuellen Bildspeicher.

Dieses bitte mit der Menüfunktion Bildverwaltung/Sekundäroperand/Aus Akkumulator laden aus dem aktuellen Bild in den Sekundäroperanden kopieren.

Die Option Zielgeometrie

Wir haben nun ein leeres Zielbild, Vimage weiß aber noch nicht, dass genau aus diesem Zielbild die Zielgeometrie erzeugt soll. Vimage kennt 3 verschiedene Arten, wie die Zielgeometrie vorgegeben werden kann. Wir werden die Option „Zielgeometriewahl“ auf den Wert „Zielbild-Koordinatensystem dem Sekundäroperand entnehmen“ einstellen.

Hierfür bitte die folgende Schaltfläche

(grüner Pfeil) anklicken. Nun ist Vimage bekannt, dass das Zielbild genau in der Geometrie errichtet werden muss, wir der Sekundäroperand vorgibt.


4. Schritt: Ausführung der geometrischen Transformation

Wir öffnen erneut unsere zu entzerrende Karte und lesen sui aus ihrer Datein in das aktuelle Bild ein. Nun steht alles bereit:

Die Transformation kann beginnen. Wir rufen sie mit der Menüfunktion Geometrie/Beliebige Passpunkte (multiquadratisch)

Nach einigen Sekunden ist das Bild geometrisch transformiert.


Ergebnis

Unser entzerrtes Bild ...

Und so müsste es aussehen ...

Unsere Karte wurde fast perfekt aus ihrer unbekannten Projektion in exakte geographische Koordinaten zurücktransformiert. Die Transformation hat die gekrümmten Gradlinien fast perfekt gerade Strecken ungewandelt. Nun hat jedes Pixel genau eine Größe von 1/12×1/12° auf der Erdoberfläche.

Ein paar Randareale, sind ausgespart. Es sind dies Randbereiche, die im Quellbild nicht vorhanden waren. So wird ersichtlich, dass es sich wirklich um eine transformierte Quellkarte handelt und nicht geschummelt worden ist.

Ein schönes Ergebnis.


Anhang

Anmerkungen

Sollen mehrere Bilder entzerrt werden, ist es günstig, das leere Zielbild als Datei zu speichern. Hierfür ist aus Speicherplatzgründen übrigens der Datentyp BINARY, oder, noch sparsamer, VOID sinnvoll.

Die Option „Zielgeometriewahl“ wird in der Registry gespeichert. Sie muss daher lediglich einmalig gewählt werden. Bei nachfolgenden Vimage-Rufen ist sie dann immer schon eingestellt.

Für die Option „Zielgeometriewahl“ kann auch die Einstellung „Zielbild-Koordinatensystem [statt dem Sekundäroperanden] einer abzufragenden Bilddatei entnehmen“ nützlich sein. Dies spart etwas Hauptspeicher.

Die multiquadratische Interpolation nach Hardy (1971) ist wirklich ein ganz genialisches Verfahren, um Passpunkttransformationen mit theoretisch unendlich vielen Punkten zu realisieren. Vimage ist dafür ausgelegt, bis zu 200 Passpunkte zur Deckung bringen. Eingebbar sind sogar bis 1200 Passpunkte.

Das Verfahren ist beschrieben in dem Aufsatz Bretterbauer, Kurt (2005, †2009) Zur Konstruktion von Verzerrungslinien mittels der multiquadratischen Methode von Hardy. Kartographische Nachrichten, Nr. 2, S. 83-85.

Einige Dateien zum Download

Die zu entzerrende Europakarte (Etwa 1,2 MByte)
Demo-Bild mit Leergeometrie „Europa“ 1/12°
Demo-Passpunktdatei 1 rd_demo_pp1.pas
Demo-Passpunktdatei 1 rd_demo_pp2.pas


Änderungsstand:

13.03.2012: Ab Vimage 4.1.285 sind bei der Hardy-Transformation bis zu maximal 1200 Passpunkte eingebbar. Bei mehr als 200 Passpunkten kann es aber zu sehr langen Rechenzeiten kommen, in seltenen Fällen sind numerischen Instabilitäten möglich.
30.11.2017: Durchsicht.

-TU-61-01

Zum Seitenanfang