Proj.4 / GDAL / QGIS Transformation zwischen CRSs, die gleich definiert sind

8

Ich trage dazu bei, dass Open Source-Software mit Australiens neuem Datum angemessen umgehen kann. Weitere Informationen zum GDA2020-Projekt finden Sie auf der ICSM-Website .

Ich verstehe, dass QGIS bereits die Definitionen von GDA2020 über GDAL enthält.

Ein Beispiel für ein GDA2020-Koordinatenreferenzsystem ist Folgendes:

+proj=utm +zone=55 +south +ellps=GRS80 +units=m +no_defs

Und wenn Sie sich ein GDA94 CRS ansehen, ist es wie folgt definiert:

+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

Wie Sie sehen können, sind diese sehr ähnlich.

Jetzt sind die beiden CRS genau gleich definiert, aber es gibt eine Verschiebung der Koordinaten in GDA94 zu GDA2020 von etwa 1,5 m nach Nordosten. (Es gibt eine Grid-Shift-Datei im NTv2-Format, die bald verfügbar sein wird und präzise Transformationen ermöglicht, aber darum geht es in dieser Frage nicht.)

Wenn Sie jetzt mit QGIS zwischen GDA94 und GDA2020 konvertieren , ändern sich die Koordinaten nicht. Es kennzeichnet es im Wesentlichen nur anders.

Sollte in Proj.4 oder anderen Open-Source-Tools eine einfache 7-Parameter-Transformation implementiert sein, die die Standardtransformation (wenn auch nicht perfekt) zwischen GDA94 und GDA2020 darstellt?

Oder ist es einfach so, dass die Werkzeuge immer keine Änderungen vornehmen?

Wie soll damit umgegangen werden?

(Und ich möchte noch einmal darauf hinweisen, dass die Transformation mithilfe eines Rasters ideal ist und auf verschiedene Arten gehandhabt wird, einschließlich dieses QGIS-Plugins .)

Alex Leith
quelle
1
Glaubst du, es könnte besser sein , zu warten , bis die NTv2 Transformation zur Verfügung steht, wie die Transformation von AGD66 zu GDA94 (aber kleiner), wenn Sie gehen zu tun , etwas , tut es richtig oder gar nicht ... sonst wirst du am Ende mit neu definierten Koordinaten an der falschen Stelle, nicht viel, aber immer noch falsch. GDA2020 Betrachtet man ist kein statisches Datum sicher sollte es ein Datum wie in dem CRS definiert werden , wenn die Koordinaten - Transformation angewandt wurde.
Michael Stimson
Haben die australischen Behörden diese Parameter angegeben? Wenn sie ein Proj4-Projekt haben, können sie diese als + towgs84-Parameter einschließen, aber die Parameter müssen einen offiziellen Status haben. Benutzer können natürlich + towgs84 verwenden, wie sie möchten.
user30184
Hey Leute, erstens sollten die + towgs84-Parameter nach meinem Verständnis 0,0,0,0,0,0,0,0 sein, da der Unterschied zwischen den beiden Bezugspunkten praktisch nichts ist. Und die NTv2-Transformationen sind nahezu verfügbar und nicht das, wonach ich frage. Vielleicht haben Sie Recht, @MichaelStimson, dass es besser ist, KEINE Transformation durchzuführen, als eine unvollkommene.
Alex Leith

Antworten:

4

Wenn Sie die EPSG-Datenbank nach GDA94CoordinateTransformation durchsuchen , erhalten Sie:

  • Transformationscode EPSG:1150GDA94 zu WGS84 (1) mit Nullwerten
  • Transformationscode EPSG:8048GDA94 bis GDA2020 (1) mit den 7 von @ user30184 angegebenen Werten

Es ist also sicher, diese für GDA2020 zu WGS84 zu bringen (auf Schilder und Einheiten achten!), Bis die neue Netzverschiebung veröffentlicht wird. Das wird eine neue Transformationscode-Nummer bekommen.

Derzeit gibt es einen Transformationscode EPSG:8049ITRF2014 zu GDA2020 (1), der besagt, dass beide vorerst gleich sind, mit jährlichen Anstiegswerten. Sie können also auch die ITRF-Zeitrahmen berücksichtigen.

AndreJ
quelle
Aha, danke @AndreJ, das ist der erste Teil meiner Frage. Und was würde es nun brauchen, um diese Transformation beispielsweise in QGIS als Standard zu verwenden?
Alex Leith
Sie müssen für jedes GDA2020-Basis-CRS ein benutzerdefiniertes CRS einrichten. Beachten Sie, dass die Verschiebungswerte in mm angegeben sind, während PROJ.4 Meter erwartet. Sie können die srs.db von QGIS auch ohne Garantie bearbeiten.
AndreJ
ITRF2014 und GDA2020 werden am 1. Januar 2020 nur vorübergehend gleich sein. So wie GDA94 1994 kurz mit ITRF92 abgeglichen wurde. Wenn Sie eine genaue Transformation für eine andere Zeit als die Epoche 2020.0 wünschen, müssen Sie eine 4D-Transformation durchführen, die dies berücksichtigt die zeitabhängigen Driftparameter. Die in EPSG: 8049 definierte Transformation ist zeitabhängig, und neuere Versionen von pro.4 können den Unterschied zwischen der Epoche der Bezugsausrichtung und dem Zeitpunkt der Datenerfassung berücksichtigen.
Rob
2

Du hast gefragt:

Sollte in Proj.4 oder anderen Open-Source-Tools eine einfache 7-Parameter-Transformation implementiert sein, die die Standardtransformation (wenn auch nicht perfekt) zwischen GDA94 und GDA2020 darstellt? Oder ist es einfach so, dass die Werkzeuge immer keine Änderungen vornehmen? Wie soll damit umgegangen werden?

Die FAQ unter http://www.icsm.gov.au/gda2020/faq.html informiert:

Folgende Produkte werden verfügbar sein:

  • 2D-Transformations- und Verzerrungsgitterdateien im weit verbreiteten Format NTv2 (Canadian National Transformations Version 2)
  • 7 Parameter Ähnlichkeit (Helm) Transformation
  • Eine 3D-Transformationsgitterdatei - Format, das noch festgelegt werden muss.

Es werden auch Werte veröffentlicht, die die Transformation von Datensätzen zwischen GDA2020 und ITRF2014 unter Verwendung eines Plattenbewegungsmodells oder einer 14-Parameter-Ähnlichkeitstransformation unterstützen.

Diese Informationen werden direkt an das EPSG Geodetic Parameter Registry weitergegeben, auf das von räumlichen Software- und Hardwareanbietern weltweit verwiesen wird, bevor Transformationsparameter in Software und Firmware integriert werden.

Sobald ICSM die 7 Parameter-Ähnlichkeits-Transformationsparameter veröffentlicht hat, können Sie sie als verwenden

+ proj = utm + zone = 55 + süd + ellps = GRS80 + towgs84 = [neue Parameter] + Einheiten = m + no_defs

Ich scheine, dass sie bereits in http://www.icsm.gov.au/gda2020/InterimReleaseNoteV1.0.pdf veröffentlicht sind .

61,55, -10,87, -40,19, -9,994, -39,4924, -32,7221, -32,8979

Sie können es mit diesen + towgs84-Parametern versuchen, aber ich erinnere mich, dass Proj.4 möglicherweise einige der Parameter mit umgekehrtem Vorzeichen haben möchte.

Das Erstellen eines Proj.4-Tickets, wenn die Parameter offiziell verfügbar sind, kann den Prozess mit Proj.4 beschleunigen. Wenn jedoch die EPSG-Datenbank aktualisiert wird und Proj.4 diese neue Datenbank verwendet, kann die Änderung automatisch erfolgen. Es hängt ein wenig davon ab, wie GDA2020 in der EPSG-Datenbank implementiert wird und ob ein neuer Algorithmus benötigt wird oder ob es nur darum geht, die Towgs84-Parameter hinzuzufügen.

user30184
quelle
Möglicherweise müssen Sie eine Weile warten, bis eine Änderung der EPSG-Datenbank in GDAL und PROJ.4 Eingang findet. GDAL basiert derzeit (2.2.2) auf der EPSG-Datenbank v9.0 vom Dezember 2016 trac.osgeo.org/gdal/ticket/6772 und wird erst in Version 2.3.0 aktualisiert. PROJ.4 ist noch älter: github.com/OSGeo/proj.4/issues/477 wird in der nächsten Version verfügbar sein.
AndreJ
Hey @ user30184, ich glaube nicht, dass der Parameter toWGS84 für diesen Zweck verwendet wird. Auf der Proj.4-Website heißt es, dass dies Parameter sind, um Koordinaten an einem Datum in das WGS84-Datum umzuwandeln, und im Fall GDA94 und GDA2020 sind die Daten dieselben wie für WGS84 (in jeder Hinsicht), siehe: proj.maptools .org / gen_parms.html . Was benötigt wird, ist eine Möglichkeit, zwischen zwei geodätischen CRSs zu transformieren, die mit demselben Referenzellipsoid definiert sind, denke ich. Und ich stelle fest, dass sich die GDA2020-Definitionen bereits in der EPSG-Registrierung und in Tools wie QGIS befinden, sodass Sie nicht warten müssen.
Alex Leith
Proj.4 verwendet WGS84 als Zwischendatum. Wenn Sie auf der einen Seite + wgS84-Parameter haben, auf der anderen jedoch nicht, erhalten Sie eine Bezugsverschiebung. Versuchen Sie es mit + towgs84 und melden Sie Ihre Ergebnisse.
user30184
Hey, ich denke, was ich damit erreichen möchte, ist sicherzustellen, dass diese Transformationsparameter (die, wie @AndreJ hervorgehoben hat, Teil der EPSG-Datenbank sind) standardmäßig in Open Source-Tools verwendet werden. Ich werde etwas lesen ...
Alex Leith
1

TLDR: Sie sind nicht gleich. Die gemeldete Gleichheit ist das Ergebnis von Annäherungen und gilt nur unter begrenzten Umständen. GDA94 / 2020-Koordinaten werden auf verschiedenen Bezugspunkten und Referenzrahmen definiert. Die geeignete Transformation zwischen ihnen hängt von der gewünschten Genauigkeit ab.

Hier geht es um die Annahme in der Frage, dass proj.4 die beiden CRS (Koordinatenreferenzsystem) korrekt als gleich meldet. Sie sind nicht. Die angegebenen proj.4-Zeichenfolgen sind nicht die CRS-Definitionen. Sie werden aus der CRS-Definition generiert , und die proj.4-Zeichenfolgen sind nicht das vollständige Bild. Die EPSG-Registrierungsdefinitionen geben uns die zusätzlichen Informationen, die wir benötigen, um zu verstehen, was wirklich vor sich geht.

Dies ergibt sich aus der Weltanschauung, dass WGS-84 'das' globale Datum ist und in der Vergangenheit proj.4 es als Vermittler bei der Konvertierung zwischen Daten verwendet hat. Die Sache ist, dass WGS-84 alle paar Jahre neu definiert wird ( wir sind jetzt bei G1762, ausgerichtet auf ITRF-08 ), da es mit Änderungen im ITRF-Referenzrahmen neu ausgerichtet wird, von denen auch GDA abgeleitet wird.

Dies hat dazu geführt, dass diese Verknüpfungen und Annahmen in das Verhalten von proj eingebrannt wurden, obwohl sich dies in neueren Versionen allmählich ändert.

Das Verfolgen der Auswirkungen von Änderungen an Referenzrahmen und deren Änderung war keine große Sache, während das GPS des Verbrauchers eine Genauigkeit von> 5 m aufwies. Die Zeiten ändern sich jedoch, und die Genauigkeit im Submeterbereich erfordert, dass die Werkzeuge diese ordnungsgemäß berücksichtigen.

Um die Frage zu beantworten, müssen wir nachverfolgen, auf welchen Bezugs- und Referenzrahmen GDA94 und GDA2020 CRS basieren, und dann sehen, welche Transformationen verfügbar sind.

  • EPSG:7844 GDA2020 2D Geographic CRS (Lat / Lon), von
  • EPSG:7843 GDA2020 3D Geographic CRS (L / L / H), von
  • EPSG:7842 GDA2020 3D Geozentrisch (ECEF X / Y / Z), die alle verwendet werden
  • EPSG: 1168 (Datum) - Geozentrisches Datum von Australien, 2020

EPSG: 1168 definiert den Ankerreferenzrahmen:

  • Ankerdefinition: ITRF2014 in der Epoche 2020.0
  • Realisierungsepoche: 2020-01-01

Wenn Sie dasselbe für GDA94 tun, sehen Sie, dass der Referenzrahmen ITRF92 ist und am 01.01.1994 ausgerichtet ist.

Bei der Transformation zwischen ITRF02 / 14- und GDA94 / GDA2020-Daten werden die Bezugspunkte ausgerichtet, und die Transformation zwischen ihnen erfolgt null nur am Epochenausrichtungsdatum. Das ist im Wesentlichen das, was diese Projekt-Strings sagen. Der Einfachheit halber möchten wir die von uns gespeicherten Koordinaten im Allgemeinen nicht ständig ändern. Daher ist es einfacher, die Abweichung zwischen ihnen alle paar Jahre schrittweise zu ändern und eine Fehlerstufe zu akzeptieren.

Für die meisten Anwendungen mit einer Genauigkeit von> 1 m ist das gut genug.

Die Realität ändert sich jedoch nicht alle paar Jahre, und wenn wir eine genauere Transformation wünschen, müssen wir die zeitabhängige Distanzdrift der Daten vor / nach ihrer Ausrichtung berücksichtigen. Es ist eher eine 4D- als eine 3D-Transformation.

Die Transformationen zwischen GDA2020 und WGS-84 oder ITRF2014 sind beschrieben in:

  1. GDA2020 bis WGS 84 (G1762) (1) - EPSG: 8448
  2. ITRF2014 bis GDA2020 (1) - EPSG: 8049

Bei der Transformation zwischen GDA94 und GDA2020 sind die Dinge einfacher, da wir nur den Unterschied zwischen den Referenzrahmen kennen müssen. Art von. Es gibt mehr als eine, und die richtige Verwendung hängt davon ab, wann, wie und wo die Daten auf GDA94 verwiesen wurden. Es ist ein Versuch, Fehler auszuräumen, weil in den 90er Jahren weniger verfeinerte Methoden verwendet wurden.

Diese sind:

  • Konform - Drehung des Koordinatenrahmens (1) - EPSG: 8048
  • Lokalisierte Verzerrung (2) - EPSG: 8447
  • Konform - NTv2-Gittertransformation (3) - EPSG: 8446

Um zu verstehen, unter welchen Umständen diese verwendet werden sollten, lesen Sie das technische Handbuch des GDA2020

rauben
quelle
0

Aufbauend auf früheren Antworten sieht die proj4-Definition folgendermaßen aus:

+proj=longlat +ellps=GRS80 +towgs84=-0.06155,0.01087,0.04019,-0.0394924,-0.0327221,-0.03289790,0.009994 +no_defs

Sie können dies dann für jede der standardmäßigen projizierten Gitterzonen verwenden, indem Sie einfach den Parameter towgs84 hinzufügen. z.B

+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=-0.06155,0.01087,0.04019,-0.0394924,-0.0327221,-0.03289790,0.009994 +units=m +no_defs

Um die richtigen Zahlen aus Abschnitt 3.1 der Spezifikation zu erhalten, kehren Sie zuerst das Vorzeichen der Rotationsparameter um (wie in Abschnitt 2.2.1 beschrieben), invertieren dann aber alles, da die Parameter in der Spezifikation die Transformation von WGS / GDA94 sind und wir wollen die Transformation zu WGS für die proj4-Definition. Grundsätzlich ist bei allen außer den Rotationen in der Spezifikation das Vorzeichen umgekehrt.

Das einzige andere, worauf Sie achten müssen, ist, dass für proj4 die Skala der letzte Parameter ist.

Puristen werden vorschlagen, den NtV2-Gitterverschiebungsansatz zu verwenden, aber diese Dateien sind sehr groß, und ich habe festgestellt, dass die obigen Angaben unter Verwendung von Beispieldaten für Victoria eine Genauigkeit von mehr als 5 cm ergeben. Ich wollte auch eine Lösung, die mit proj4js funktioniert.

JohnGom
quelle