User Tools

Site Tools


lib:tf:ntv2:ntv2

NTv2 (Gitterbasierter Transformationsansatz)


Übersicht

Dieser Ansatz ermöglicht die Transformation zweidimensionaler Koordinaten (ohne Höhe) und arbeitet auf einem regelmäßigen Passpunktgitter. Für jeden Gitterpunkt wird dir Differenz der Längen- und Breitenunterschiede zwischen dem Quell- Zielbezugssystem berechnet und in einer gespeichert.

Die Transformation erfolgt durch eine bilineare Interpolation zwischen den Koordinaten-Differenzen der umliegenden vier Gitterpunkte.

Die Genauigkeit der Transformation ist abhängig von der Maschengröße des Gitters und der Qualität der Parameter, welche zur Berechnung der NTv2-Datei benutzt werden. NTv2 ist ein open-source-Ansatz, der wegen seiner Einfachheit und Performance insbesondere zur Überführung von Daten in geographischen Informationssystemen geeignet ist und inzwischen von allen gängigen kommerziellen GIS-Programmsystemen sowie GIS-Datenbankaufsätzen unterstützt wird.

Es gib zwei Formate für NTv2-Dateien:

  • Binärformat (*.gsb)
  • ASCII-Format (*.gsa)

In der Regel werden GSB-Dateien verwendet, weil hiermit eine wesentlich höhere Performance erreicht werden kann.


NTv2-Header

Um eine performante Transformation mit einer NTv2-Datei durchzuführen, werden einige Parameter vorne in der NTv2-Datei gespeichert - der NTv2-Header. Eine NTv2-Datei (GSB) beinhaltet einen HEADER

NTv2-Header
Name Datentyp Bezeichnung
NUM_OREC number Number of overview record fields - must be 11
NUM_SREC number Number of sub-file record fields - must be 11
NUM_FILE number Number of sub-files
GS_TYPE string Grid-shift units: “SECONDS”, “MINUTES”, or “DEGREES”
VERSION string Version ID of distortion model
SYSTEM_F string From reference system
SYSTEM_T string To reference system
MAJOR_F double From semi-major axis (in meters)
MINOR_F double From semi-minor axis (in meters)
MAJOR_T double To semi-major axis (in meters)
MINOR_T double To semi-minor axis (in meters)


Gitter-Header

Eine NTv2-Datei kann midesten ein oder mehrere Gitter beinhalten, die jeweils einen Gitter-HEADER haben. Alle Gitter einer NTv2-Datei basieren auf die gleichen (beide) Ellipsoide, die im NTv2-HEADER definiert sind.

GRID-Header
Name Datentyp Bezeichnung
SUB_NAME string Sub-file name
PARENT string Parent file name or “NONE”
CREATED string Creation date
UPDATED string Last revision date (may be blank)
S_LAT double South latitude (in gs-units)
N_LAT double North latitude (in gs-units)
E_LONG double East longitude (in gs-units) Note: +west/-east
W_LONG double West longitude (in gs-units) Note: +west/-east
LAT_INC double Latitude increment (in gs-units)
LONG_INC double Longitude increment (in gs-units)
GS_COUNT number Number of grid-shift records following


Ungewöhnliche Verwendung der (von/bis) Werte

Wenn man sich die Werte für Min/Max ansieht, stellt man fest, dass sie in einem ungewöhnlichen Wertebereich liegen. So ist MIN größer MAX!

Die NTv2-Definition wurde vom „Gouvernement of Kanada“ definiert. Kanada liegt westlich von Greenwich, dementsprechend müssten die Koordinaten negativ sein, man hat sie aber positiv in die Formel eingebaut, so dass sie für Europa nun (widersinnig) negativ sind und alle Matrizen spiegelbildlich aufgebaut sind.

lib/tf/ntv2/ntv2.txt · Last modified: 2023/07/03 18:26 by 127.0.0.1