Vorschlag zur Verwendung polygonaler Gültigkeitsbereiche in NTv2-Gitterdateien

Das Mitte der 90ger Jahre in Kanada entwickelte NTv2 bedeutet „National Transformation Version 2“. Inzwischen wird die recht genaue NTv2-Methode zur Realisierung von Bezugssystemwechseln in vielen Ländern benutzt. NTv2 verwendet in Dateien abgelegte Koordinatengitter, um genaue Transformationen von einem geodätischen Bezugssystem in ein anderes durchzuführen. Die Koordinatengitter der NTv2-Datei enthalten die dafür notwendigen Verschiebungen zwischen den beiden Bezugssystemen. Mittels bilinearer Interpolation werden die exakten Koordinaten für Punkte des Quellbezugssystems im Zielbezugssystem berechnet.

Die NTv2-Datei ist aus einem oder mehreren Parent- und Child-Koordinatengittern in einer hierarchischen Struktur aufgebaut. Die optional enthaltenen Child-Koordinatengitter verfeinern mit verdichteten Gittermaschen Teilbereiche des darunter liegenden Parent-Koordinatengitters. Die Child-Gitter können dabei wiederum hierarchisch als Parent-Gitter weiterer, darüber liegender Child-Gitter auftreten (siehe Abbildung 3). Die meisten Gitterdateien, wie z.B. das Deutsche Beta2007, enthalten aber nur ein einzelnes Parent-Koordinatengitter.

Die NTv2-Datei beginnt mit einem Main-Header (links), in dem allgemeine Informationen, die Bezeichnungen der verwendeten Bezugssysteme und die jeweiligen Ellipsoidparameter abgelegt sind. Es folgen die Parent- und Child-Koordinatengitter, die ihrerseits mit einem Sub-Header (rechts) beginnen. Darin sind die Gültigkeitsbereiche der Koordinatengitter durch südliche und nördliche Breitengrade und westliche und östliche Längengrade festgelegt.

Jeweils hinter einem Sub-Header folgen die Gittermaschen mit zwei Werten für die Längen- und Breitenverschiebung und zwei Werten für die Genauigkeit. Die Verschiebungen zwischen den Bezugssystemen sind meist in Sekunden angegeben, können aber auch als Minuten oder Grad abgelegt sein. Optional kann die Genauigkeit als mittlerer Fehler der Längen- und Breitenverschiebung in Meter angegeben sein.

Der rechteckige Gültigkeitsbereich einer NTv2-Datei ist also durch ein oder mehrere quasi rechteckige Koordinatengitter festgelegt. Die Beschränkung auf den tatsächlich benötigten polygonalen Bereich, wie er z.B. durch Landesgrenzen vorgegeben ist, ist deshalb nicht möglich. Als Folge sind alle außerhalb des polygonalen Gültigkeitsbereichs durchgeführten Koordinatentransformationen fehlerhaft. Zur Lösung dieses Problems könnte man außerhalb der gewünschten polygonalen Bereiche liegende Gittermaschen mit bestimmten Werten füllen. Diese Werte werden im folgenden Text als „exopolygonale Einträge“ bezeichnet.

Abbildung 1: NTv2-Gitter mit rechteckigem Gültigkeitsbereich.
Dieses rechteckige Koordinatengitter einer herkömmlichen NTv2-Datei umfasst das Staatsgebiet der Bundesrepublik Deutschland. Außerhalb des für den Bezugssystemwechsel vorgesehenen Staatsgebiets führen Koordinatentransformationen zwangsläufig zu Fehlern.

Die erste Möglichkeit, polygonale Strukturen zu realisieren, ist die Verwendung exopolygonaler Einträge für die Genauigkeitswerte der Gittermaschen. In den meisten NTv2-Dateien sind die Genauigkeitswerte auf 0 oder -1 gesetzt, um anzuzeigen, dass keine Informationen zur Genauigkeit zur Verfügung stehen. Erfahrungsgemäß gibt es keine NTv2-Dateien, in denen die Genauigkeitswerte mit plausiblen Zahlen belegt sind. Es ist keine GIS-Software bekannt, die Genauigkeitswerte in die Berechnungen mit einbezieht.

Wenn man nun beide Genauigkeitswerte der auszuschließenden Gittermaschen mit dem exopolygonalen Eintrag -99 belegt, können diese damit als ungültig markiert werden. Die so markierten Gittermaschen sind von den Berechnungen der Bezugssystemwechsel ausgeschlossen. Die Zahl -99 ist für die Markierung geeignet, da sie als Wertepaar für plausible Genauigkeitsangaben nicht vorkommen kann.

Abbildung 2: NTv2-Gitter mit polygonalem Gültigkeitsbereich.
In diesem Beispiel soll der Bereich der Bundesrepublik Deutschland als polygonaler Gültigkeitsbereich behandelt werden. Die roten Gittermaschen sind mit exopolygonalen Einträgen markiert und dadurch von Bezugssystemwechseln ausgeschlossen. Die weißen Gittermaschen sind Randbereiche, in denen Bezugssystemwechsel stattfinden müssen.

Die zweite Möglichkeit ist der exopolygonale Eintrag -99 in die beiden Verschiebungen für die Länge und die Breite der Gittermaschen. Auch hier gilt, dass dieses Wertepaar für plausible Längen- oder Breitenverschiebungen nicht vorkommen kann.

Im Beispiel links sind beide Methoden zur Realisierung polygonaler Gültigkeitsbereiche dargestellt. Die gelb hinterlegten Verschiebungen zweier Gittermaschen und die blau hinterlegten Genauigkeitswerte zwei weiterer Gittermaschen sind mit exopolygonalen Einträgen gekennzeichnet. Damit liegen diese vier Gittermaschen außerhalb des polygonalen Gültigkeitsbereichs.

Zur Realisierung polygonaler Gültigkeitsbereiche kann eine GIS-Software exopolygonale Einträge in den vier Werten für die Verschiebungen und Genauigkeiten der Gittermaschen abfragen. Während der Berechnung von Bezugssystemwechseln werden die zu transformierenden Koordinaten auf ihre Zugehörigkeit zu solchen Gittermaschen untersucht. Dabei muss unterschieden werden, ob die Gittermasche in einem Parent-Koordinatengitter oder in einem darin enthaltenen Child-Koordinatengitter liegt. Liegt sie in einem Child-Gitter, wird versucht die Berechnung im darunter liegenden Parent-Gitter fortzuführen. Wenn die zu einer Koordinate passenden Gittermaschen in allen hierarchisch übereinander liegenden Child- und Parent-Gittern mit exopolygonalen Einträgen gekennzeichnet sind, liegt die Koordinate außerhalb des Bereichs polygonaler Gültigkeit. Sie wird von der Berechnung des Bezugssystemwechsels ausgeschlossen und es wird ein Hinweis generiert.

Abbildung 3: Test von Koordinaten auf Polygonale Gültigkeit.
In diesem Beispiel sind drei Koordinatengitter übereinander angeordnet. Nur wenn eine Koordinate durch alle darin enthaltenen exopolygonalen Gittermaschen fällt, liegt sie außerhalb der polygonalen Gültigkeit und wird vom Bezugssystemwechsel ausgeschlossen.

Durch die Verwendung exopolygonaler Einträge in den Verschiebungswerten oder in den Genauigkeitswerten ergeben sich zwei Methoden zur Realisierung polygonaler Gültigkeitsbereiche. Die beiden Methoden unterscheiden sich in den Auswirkungen erheblich.

Abbildung 4: Verwendung der Genauigkeitswerte zum Ausschluss einer einzelnen Gittermasche.

Methode 1: Exopolygonaler Eintrag in die Genauigkeitswerte einer Gittermasche.

Es wird genau eine Gittermasche angesprochen, die sich einen Gitterabstand LAT_INC in nördlicher und einen Gitterabstand LON_INC in westlicher Richtung vom Gitterpunkt erstreckt. Das ist genau die Gittermasche, die durch den Gitterpunkt definiert ist und die bei der Interpolation einer darin befindlichen Koordinate angesprochen wird. Diese Gittermasche wird aus dem polygonalen Gültigkeitsbereich des NTv2-Gitters ausgeschlossen.

Abbildung 5: Verwendung der Verschiebungswerte zum Ausschluss von vier benachbarten Gittermaschen.

Methode 2: Exopolygonaler Eintrag in die Längen- und Breitenverschiebungen einer Gittermasche.

Bei der bilinearen Interpolation werden die vier benachbarten Gitterpunkte einer Koordinate verwendet, in denen jeweils exopolygonaler Einträge enthalten sein können. Daher werden insgesamt vier Gittermaschen angesprochen, die sich je einen Gitterabstand LAT_INC in nördlicher und südlicher und je einen Gitterabstand LON_INC in westlicher und östlicher Richtung vom Gitterpunkt erstrecken. Das sind die vier Gittermaschen, die um den Gitterpunkt herum angeordnet sind. Genau diese vier Gittermaschen werden aus dem polygonalen Gültigkeitsbereich des NTv2-Gitters ausgeschlossen. Dabei dürfen die Gittermaschen auch überlappend von der polygonalen Gültigkeit ausgeschlossen werden.

Die Methode 1 ist zu bevorzugen, da jeder einzelnen Gittermasche in der NTv2-Datei die polygonale Gültigkeit entzogen werden kann. Methode 2 sollte angewendet werden, wenn die zum Erzeugen einer NTv2-Gitterdatei verwendete GIS-Software keinen Zugriff auf die Genauigkeitswerte zulässt. Bei Methode 2 muss wegen der flächenhaft vierfachen Größe des angesprochenen Bereichs eine Überlappungszone zum polygonalen Gültigkeitsbereich berücksichtigt werden. Beide Methoden dürfen ohne besondere Vorkehrungen einzeln oder gemeinsam angewendet werden.

Der polygonale Gültigkeitsbereich wird vom Entwickler während der Erstellung einer NTv2-Datei oder nachträglich festgelegt. Der Entwickler trägt dazu die exopolygonalen Einträge in die Verschiebungs- oder Genauigkeitswerte der außerhalb des benötigten Polygons liegenden Gittermaschen ein. Die auswertende Software muss dann so beschaffen sein, dass sie die exopolygonalen Einträge erkennt und für ungültig erklärt.

Das Geodätische Software Developer Kit GeoDLL ab Version 16.00 und das Koordinaten-Transformationsprogramm TRANSDAT ab der Version 19.00 von KilletSoft unterstützen bereits polygonale Gültigkeitsbereiche. Die beiden Tools erkennen exopolygonale Einträge in den Verschiebungen oder Genauigkeiten einer Gittermasche durch Kontrolle aller hierarchischen Child- und Parent-Koordinatengitter. Bei Treffern generiert die Software eine Nachricht, dass die Koordinate außerhalb des polygonalen Gültigkeitsbereichs der NTv2 Gitterdatei liegt. Herkömmliche NTv2-Dateien ohne polygonale Gültigkeitsbereiche funktionieren weiterhin in der gewohnten Weise.

Im August 2018 wurde das Geodetic Development Kit GeoDLL mit der Version 18.10 um eine Funktion ergänzt, die mit Hilfe von Shape-Dateien polygonale Gültigkeitsbereiche in beliebige NTv2-Dateien einträgt. Gleichzeitig wurde das eigenständige Programm NTv2Poly von KilletSoft frei gegeben, mit dem ebenfalls polygonale Gültigkeitsbereiche mit Hilfe von Shape-Dateien in beliebige NTv2-Dateien eingetragen werden können. In so einer Shape-Datei kann zum Beispiel der Grenzumriss eines Landes gespeichert sein, der den polygonalen Gültigkeitsbereich für die in dem Land verwendete NTv2-Datei darstellt. Mit der von KilletSoft angebotenen Software kann nun jeder GIS-Anwender von den Vorteilen bei der Verwendung polygonaler Gültigkeitsbereiche in seinen geodätischen Berechnungen profitieren.

Es liegt in der Hand der GIS-Entwickler und GIS-Anwender, ob polygonale Gültigkeitsbereiche in NTv2-Dateien zukünftig realisiert werden. Im Quelltext von NTv2 unterstützenden Programmen genügen einige IF-Abfragen und eine zusätzliche Schleifenstruktur, um darin polygonale Gültigkeitsbereiche zu implementieren. Gern würde KilletSoft Entwickler unterstützen, die sich für diese Idee begeistern können.

Zusammenfassung
Der Autor stellt eine einfache Methode zur Realisierung polygonaler Gültigkeitsbereiche in NTv2-Dateien vor. Die Struktur der NTv2-Datei bleibt dabei unverändert. Beim Generieren von NTv2-Dateien können die außerhalb der polygonalen Gültigkeit liegenden Gittermaschen mit exopolygonalen Einträgen markiert werden. Der Vorteil dieser Methode ist die exklusive Adressierung von Gittermaschen innerhalb des vorgesehenen administrativen Bereichs und dadurch der Ausschluss von Lokalisierungsfehlern. Software-Entwickler können die Berücksichtigung polygonaler Gültigkeitsbereiche in GIS-Software durch wenige Veränderungen im Programmcode implementieren. KilletSoft stellt bereits GIS-Software zur Verfügung, die polygonale Gültigkeitsbereiche unterstützt. KilletSoft bietet auch Software an, mit der polygonale Gültigkeitsbereiche in bereits bestehende NTv2-Dateien eingefügt werden können.

Abbildungsverzeichnis
1.Abbildung: NTv2-Gitter mit rechteckigem Gültigkeitsbereich
Urheber: Fred Killet
2.Abbildung: NTv2-Gitter mit polygonalem Gültigkeitsbereich
Urheber: Fred Killet
3.Abbildung: Test von Koordinaten auf polygonale Gültigkeit
Urheber: Fred Killet
4.Abbildung: Verwendung der Genauigkeitswerte zum Ausschluss einer einzelnen Gittermasche
Urheber: Fred Killet
5.Abbildung: Verwendung der Verschiebungswerte zum Ausschluss von vier benachbarten Gittermaschen
Urheber: Fred Killet

Die Abbildungen 1 bis 5 wurden mit Hilfe des als Freeware mit einer “GNU General Public License“ ausgestatteten Programms IncScape 0.91 generiert.

Autor / Verfasser
Dipl.-Ing. Fred Killet
Escheln 28a
D-47906 Kempen
http://www.killetsoft.de

Leave a Reply

Your email address will not be published.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.