KoordTrans3D JAVA ist ein Transformationsprogramm, mit dem ein gegebener Datensatz mittels Passpunkte in ein anderes System überführt werden kann.
Das Programm kann neben den klassischen 2D- und 3D-Transformation auch ausgewählte Misch- und Sonderformen berechnen. Dabei werden die Transformationsparameter bei den Standardtransformationen:
bzw. die Koeffizienten der Sonderformen durch eine Ausgleichung nach der Methode der Quadratsummenminimierung nach C. F. Gauß (auch L2-Norm) geschätzt.
Für die Berechnung benötigt KoordTrans3D JAVA eine bzw. zwei CSV Dateien, wobei eine exakte Vorgabe des Dateiformates nicht existiert! KoordTrans3D JAVA liefert neben den Transformationsparametern, die aus dem Startsystem transformierten Punkte im Zielsystem.
Die Anzahl der Passpunkte ist nach oben nicht begrenzt. Restriktionen ergeben sich jedoch durch den zur Verfügung stehenden Speicher.
Die Mindestanzahl ist abhängig von der Anzahl der gesuchten Parameter. Mit 3 Vollpasspunkten ist jede Transformation durchführbar.
Vor der Berechnung kann die Option Regewichtung gewählt werden. Hierbei werden die Gewichte von Punkten mit einer großen Verbesserung verringert und haben somit weniger Einfluß an der Gesamtlösung, vgl. [Kampmann, 1986].
Konvergiert das Gleichungssystem zu einer Lösung, so entspricht dies der L1-Norm. Anhand der Abweichungen lässt sich erkennen, auf welchen Punkten
die gefundene Lösung aufbaut. Diese haben sehr kleine Abweichungen (nahe Null).
Bei den Sonderformen konvergiert das Gleichungssystem nicht immer! Wie auch bei den anderen Transformationen ist eine Bestimmung von guten Näherungswerten das maßgebliche Kriterium.
Bei der polynomialen Transformation ist zB laut [Niemeier, 2002] auf einen kleinen Polynomgrad zurückzugreifen.
Auch bei den anderen Formen (5P-BW, bilinear oder projektive Transformation) konnten Singularitäten festgestellt werden, die auch mit der angegebenen Literatur nicht gelöst werden konnte. So schlägt [Baumann, 1993]
Pseudobeobachtungen für die 5P-BW vor, jedoch führten diese bei einigen Versuchen zu fehlerhaften Lösungen, sodass diese nicht implementiert wurden. Liegen bei dieser Transformation alle Passpunkte auf einer Geraden, ist das System nicht lösbar.
Für Hinweise zur Verhinderung einer singulären Normalgleichungsmatrix bei den Transformationen bin ich daher dankbar!
KoordTrans3D JAVA läuft - Dank der Plattformunabhängigkeit der freien Sprache JAVA - auf allen Systemen, auf denen die JAVA Laufzeitumgebung (kostenloser Download unter java.com) installiert ist. Kompiliert wurde der KoordTrans3D JAVA mit der JAVA SDK 1.6.x. Es ist somit empfehlenswert eine JRE gleicher oder höherer Versionen zu installieren!