WKT2+PROJ: Benutzerdefinierte Koordinatensysteme am Beispiel von PIX4Dcatch
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Serientitel | ||
Anzahl der Teile | 119 | |
Autor | ||
Mitwirkende | ||
Lizenz | CC-Namensnennung 4.0 International: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen. | |
Identifikatoren | 10.5446/67681 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
| |
Schlagwörter |
14
45
50
55
67
69
72
75
78
87
95
00:00
KoordinatenKoordinatentransformationASCIIKoordinatenMeterReservierungssystem <Warteschlangentheorie>ZahlenbereichParametersystemPhysikalisches SystemTeilbarkeitWort <Informatik>AutorisierungMultiplikationsoperatorKartesische KoordinatenDatenbankOpen SourceProgrammbibliothekMinimalgradTransformation <Mathematik>RechenwerkProjektive EbeneTypentheorieVersionsverwaltungRechter WinkelDeskriptive StatistikZeitzoneDateiformatSoftwareOrdnung <Mathematik>Konfiguration <Informatik>CASE <Informatik>DifferenteElementargeometrieSchlüsselverwaltungUnified Threat ManagementUmsetzung <Informatik>PlastikkarteMailing-ListeBitEin-AusgabeFunktion <Mathematik>Systems <München>AnwendungssoftwareART-NetzKeller <Informatik>Achse <Mathematik>Scope <Programmierung>GeometrieVorlesung/KonferenzBesprechung/InterviewComputeranimation
09:47
KoordinatentransformationKoordinatenDatenbankUnified Threat ManagementPhysikalisches SystemProgrammbibliothekKoordinatenTransformation <Mathematik>DifferenteKartesische KoordinatenInformationCodeSelbstrepräsentationFunktionalDatenbankProjektive EbenePunktrechnungMereologieComputeranimation
11:26
Reservierungssystem <Warteschlangentheorie>Physikalisches SystemStandardabweichungUmsetzung <Informatik>SoftwareUmwandlungsenthalpieKoordinatenHilfesystemTransformation <Mathematik>MereologieDickeCliquenweiteRichtungNichtlinearer OperatorAbstandDatenbankGeneigte EbeneSpieltheorieKoordinatentransformationComputeranimation
14:38
MinimierungKoordinatenPhysikalische TheorieGlobale OptimierungFehlermeldungParametersystemPhysikalisches SystemPunktProgrammbibliothekTransformation <Mathematik>Lokales MinimumStandardabweichungWeb SiteStellenringApp <Programm>DifferenteDatenbankKoordinatenKartesische KoordinatenCASE <Informatik>Open SourceProdukt <Mathematik>FreewareSoftwareFunktionalKonstruktor <Informatik>Leistung <Physik>Projektive EbeneHilfesystemOptimierungsproblemInterface <Schaltung>Zusammenhang <Mathematik>iPhoneOptimierungSchnittstelleFunktion <Mathematik>BiproduktSystems <München>Achse <Mathematik>ComputeranimationVorlesung/Konferenz
Transkript: Deutsch(automatisch erzeugt)
00:07
Fangen wir an. Herzlich willkommen zum nächsten Vortrag hier. Alexander Nepras und Javier Jiménez Schor stellen euch heute vor, wie man eigene Koordinatenreferenzsysteme baut mit dem WKT-2-Standard
00:22
und der Proy-Library und zeigen euch noch ein Praxisbeispiel, wie das dann in der Praxis aussieht. Viel Spaß. Danke. Herzlich willkommen zu diesem Vortrag der KT-2-Unproj, der nutzdefinierte Koordinatenreferenzsysteme am Beispiel von PIX4D GATCH. Ein bisschen über uns. Er ist Alexander
00:47
Nepras und ich bin Javier Jiménez Schor und wir arbeiten in PIX4D, in den Special Reference Teams. Und warum hat PIX4D seine Photogrammetrie Company und warum braucht PIX4D ein SRS Team?
01:05
Weil fast alle unsere Inputs und Outputs geografisiert sind. Wir müssen wissen und kontrollieren die Koordinatenreferenzsysteme. Was werden wir heute sehen? Was ist WKT?
01:23
Danach ein bisschen über Proj, ein Open Source Bibliothek, dann ein erstellen, benutztdefinierter Koordinatenreferenzsysteme und am Ende ein Anwendungsfall aus der Praxis mit PIX4D GATCH.
01:42
Was ist WKT? Das ist der Akronym für Well-Known Text. Das ist ein ASCII-Format. Man kann es lesen und später werden wir ein paar Beispiele sehen, aber auch Maschinen. Proj und anderes Software können dieses Format lesen und verstehen.
02:03
Und es gibt andere Art, dass WKT benutzen wie Geometrien und vielleicht haben Sie mit QGIS oder anderen Bibliotheken Geometrien als WKT benutzt, aber hier werden wir nur über
02:22
Koordinatenreferenzsysteme sprechen. Und es gibt zwei Versionen, WKT 1 und 2, WKT 1 oder WKT, das ist der bekannte. Es ist von 2001 und WKT 2 ist von 2019. Es war eine
02:52
Geografische Dinge, die WKT benutzen. Geotiff ist nicht hier. Geotiff benutzt seine Geotrax,
03:02
aber ja, Lars und viele andere benutzen WKT. Die zwei letzte, Saar und Flat-Geo-Buff, sie benutzen auch WKT 2. Und Matthias hat mir gestern gesagt, dass Stack auch benutzt WKT 2. Proj natürlich unterstützt und alle die Software die Proj benutzen
03:26
verstehen beide. Und hier haben wir ein Beispiel von WKT 1. Und ich weiß, es gibt viele Worte und wir haben Parameter. Ich hilfe ein bisschen, die erste Schlüsselwort ist
03:43
Proj.cs für Projected Koordinatesystem. Und das sagt, was halten wir? Das ist ein WKT 1 für die deutsche UTM SONS32 für die neue deutsche Systeme. Das ist
04:13
unter ein Geografisches Systeme. Und hier sagt es, das ist die Definition von UTS-1-2016 mit allen die Parameter man braucht. Die Datum, die es beruht, die
04:27
Primer-Lidien, die Einheit und so weiter. Und dann haben wir die Projektion. Dieses Fall, Transfer Mercator. Und natürlich mit die Parameter von Transfer Mercator,
04:41
die Scale Factor und so weiter. Vielleicht können Sie es. Und am Ende haben wir die Authority. Das ist die Nummer in dieser Datenbank, IPSG-Datenbank. Das ist 10.289. Und es gibt andere Authorities auch drinnen. Zum Beispiel da ist die
05:05
Authority für Degree. Oder hier für Meter 2001. Und es gibt viele, aber die letzte ist von die Proj.cs, die wir hier haben. Und das ist das Schleißer
05:24
für die Datum-Referenzsysteme. Aber in Wekate 2. Mehr Worte als vorher. Die erste Schlüsselworte. Das ist Proj.cs. Es gibt ein A da, ein bisschen
05:41
anderes. Und es ist sehr einfach zu ändern, was ist Wekate 1 und Wekate 2. Man braucht nur die erste Schlüsselworte. Und ja, ein Proj.cs im Wekate 2 hat ein Base Georg.cs. Immer. Mit allen die Parameter wie früher. Und wir haben
06:06
keine Projektion, weil es ist mehr generell. Es hat eine Conversion und und wir haben die Parameter. Hier die Parameter sind mehr bewusst. Sie haben, jede Dinge hat die Einheit zum Beispiel. Latitude ist ein Degree.
06:26
So ist es klar, dass CO ist immer. Aber Longitude hier ist 9 Degrees. Es kann eine andere Einheit sein. In Wekate 2 brauchen wir immer ein
06:40
Coordinate-System, ein CS. Für Proj.cs brauchen wir ein Kartächen. In diesem Fall mit zwei Achsen. East und Northing und diese Ordnung. Und das ist wichtig, weil es gibt Coordinate-Referenzsysteme, die andere Ordnung haben. Zum Beispiel Northing, Easting, Westing, Southing, Westing.
07:04
Ja, alle die Optionen sind da. Und am Ende haben wir ID. Das ist wie Authority in Wekate 1. Hier ist ID in Wekate 2. Und andere viele. Like Usage, Scope und so weiter. Sie sind optionell. Was sind die Hauptunterschiede
07:26
zwischen Wekate 1 und 2? Es gibt ein paar neue Schlüsselworte wie Conversion an CS. CS ist für Coordinate-System. CRS ist für Coordinate-Referenzsystem. Das sind zwei verschiedene Dinge. Und es gibt unterschiedliche Schlüsselworte
07:48
wie Pro.cs vs Pro.cs, Geo.cs vs Geo.cs. Wekate 2 unterstützt mehr Arten von Coordinate-Systemen. Es gibt Projektionen, die Wekate 1 unterstützt nicht.
08:06
Und auch Arte. Zum Beispiel 3D Geographic Systeme kannst du mit Wekate 2 machen wie die EPSD 4937, 4937. Das sind 3D Versionen für ETSD9.
08:24
Mit Wekate 1 musst du einen 2D, einen Compound mit 2D und einem Vertikal. Hier ist es ein richtiger 3D System. Und Vorteile und Nachteile. Vorteile ist, Wekate 2 ist eine komplette Beschreibung des Coordinate-Systems
08:45
mit die Aktienreihenfolge inklusive. Mit Aktienfolge. Wie ich früher gesagt habe, Norden ist in Norden. Das ist wichtig. Wir haben Probleme jede Woche mit das. Es ist ausführlicher als Wekate 1. Zum Beispiel alle Parameter haben Einheiten.
09:08
Es ist Flexliebe mit Transformationen und Alexander wird später über die Drive Systems sprechen. Und Nachteile. Manchmal ist es zu ausführlich.
09:22
Viele, viele Worte. Manchmal eine ganze Zeit. Und fehlende Unterstützung in vielen Anwendungen. Nicht alle Software unseres Unterstützes Wekate 2. Approach natürlich. Aber wir haben mehr Software. Wir müssen es.
09:46
Und jetzt lasse ich Alex. Vielen Dank. Bevor wir jetzt noch weiter in den Wekate 2 einsteigen und auf die benutzerdefinierten Coordinate-Systems sprechen zu kommen, wollte ich noch kurz über die Approach Library sprechen.
10:04
Die Approach Library ist eine Forst-Bibliothek. Ist elementarer Bestandteil von den WKT-Applikationen. Und die zwei Hauptfunktionen, die diese Bibliothek bereitstellt, ist zum einen, dass es ermöglicht, Zugang zu den WKT-Representationen
10:25
von Coordinate-Systemen zu bekommen aus unterschiedlichen Datenmanken. Wie zum Beispiel der EPSG-Datenbank oder auch von der SRE-Datenbank. Das kann man machen über die Kommandozahlen-Applikation ProjInfo. Man ruft die auf und gibt einen EPSG-Code ein und ProjInfo spuckt einen dann die
10:47
WKT-Representationen dieses Coordinate-Systems aus. Und die andere Hauptfunktion von Approach ist eben das Transformieren von Koordinaten zwischen verschiedenen Referenzsystemen. Das kann eine Projektion sein oder auch eine
11:01
Datumstransformation. Dafür gibt es die Kommandozahlen-Applikation CS2CS. Also man gibt hier in diesem Fall zwei geografische Koordinaten ein. Das Source-Koordinatensystem und das Target-Koordinatensystem. Und Proj führt dann hier in diesem Fall eine Projektion aus.
11:25
Ja, so viel zu Proj. Gehen wir jetzt weiter in den WKT-2-Standard und schauen uns an, wie man benutzerdefinierte Koordinatensysteme darin erstellen kann. Das klang schon an. Dafür gibt es in WKT-2 verschiedene, also WKT-2 spezifische
11:42
Definitionen für Koordinateneferenzsysteme. Diese sogenannten derived systems. Wirklich zu nennen sind hier derived projected oder derived vertical CSs. Und die bieten eben einem mehr Möglichkeiten bei der Definition von Koordinatensystemen und auch bei der
12:01
Koordinatentransformation. Schauen wir uns auch hier Beispiele an. Wieder viel Text, aber ihr kennt das Spiel mittlerweile. Hier, das ist ein derived projected CS. Dem kann ich meinen Namen geben. Und wie zuvor habe ich basiert dieses CS auf einem anderen CS. In diesem Fall auf einem
12:25
projizierten Koordinatensystem. Wie zuvor habe ich eine conversion, um eben von meinem geografischen Koordinatensystem auf das Projizierte zu kommen. Aber in diesem derived projected CS gibt es eben
12:43
erst noch diese deriving conversion. Mit dieser deriving conversion, das ist praktisch eine zweite Operation, die ich auf jetzt in dem Fall schon projizierten Koordinaten ausführe und mit deren Hilfe ich Einfluss nehmen kann auf die Transformationen, die ausgeführt werden. In diesem Fall ist
13:03
ein Beispiel, das benutzt eine proj pipeline. Da kann man sehr detailliert darauf Einfluss nehmen, was passieren soll mit meinen Koordinaten. Man muss jetzt hier sagen, das hier ist jetzt nicht mehr Teil des WKT 2 Standard. Das ist nicht mehr Teil des WKT 2 Standard, weil wir
13:24
eben diese proj based pipeline hier verwenden. Aber das soll einfach nur mal illustrieren, dass man mit dieser deriving conversion im Zusammenspiel mit proj sehr viel Einfluss nehmen kann auf die Transformation von Koordinatensystem. Ein Beispiel für ein vertikales derived system.
13:46
Hier als Beispiel, wir haben wieder das base system, das ist hier das deutsche Haupthöhennetz und man kann dann eine deriving conversion definieren. In diesem Fall, das ist wirklich WKT 2 Spezifikation, es ist erlaubt vom
14:03
Standard. Man nutzt hier diese Methode, die heißt vertical offset and slope, also vertikaler Abstand und eine Neigung. Und da die Siehst du, hat sogar einen Eintrag in der EPSG Datenbank und man kann eben hier mit dieser deriving conversion festlegen, was mein vertikaler Abstand
14:24
sein soll zwischen dem basis system und meinem eigenen definierten System und man kann eben eine Neigung in Längen- und Breitengradrichtung vorgeben. Ja, das war jetzt sehr viel Theorie und sehr viel Text.
14:41
Nur versuchen, das ein bisschen mit der Praxis zu verbinden. Und zwar haben wir dieses WKT 2 und proj und diese benutzte definierten Koordinatensysteme verwendet zur Georeferenzierung von lokalen Koordinatensystemen. Das ist aufgekommen im Zusammenhang mit dem Produkt, das wir haben,
15:03
Pix4D Catch. Das ist eine iOS-Applikation, die eigentlich dafür da ist, um Bilder aufzunehmen, um danach Fotogrammetrie darauf auszuführen, hat aber als Besonderheit, dass man eben an so ein iPhone hinten eine RTK-Antenne dran machen kann und hat dadurch sehr genaue Geopositionen von seinen
15:22
Bildern, die man aufgenommen hat, was natürlich bei der Fotogrammetrie die anschließend erfolgt von Vorteil ist. Was sind lokale Koordinatensysteme? Also lokale Koordinatensysteme kommen sehr häufig im Bauwesen zum Einsatz. Prinzip ist sehr einfach. Ich stelle mich irgendwo auf meine Baustelle hin, das ist mein Ursprung, 00 und definiere mir Achsen und messe dann in
15:43
diesem Koordinatensystem. Alles relativ einfach. Es hat natürlich wie immer häufig die Herausforderung, dass man schon existierende Daten hat in einem anderen Koordinatenreferenzsystem, zum Beispiel ETS 98 und möchte natürlich die Koordinaten in seinem lokalen
16:07
System mit den Koordinaten in dem globalen System gemeinsam verwenden. Das heißt, man braucht irgendeine Möglichkeit, um von dem lokalen Koordinatensystem ins globale oder andersrum zu kommen. Und das ist eben
16:21
dann diese Georeferenzierung. Im Englischen bezeichnet man das auch als Site-Localization oder Site-Calibration. Und um jetzt diese Parameter rauszufinden, um vom lokalen ins globale zu kommen, löst man im Prinzip ein Optimierungsproblem. Also man misst an verschiedenen Punkten den gleichen Punkt im lokalen und im globalen System und
16:44
löst dann ein Minimierungsproblem, um eben den Transformationsfehler zwischen diesen beiden Systemen möglichst klein zu halten. Und man die Optimierung spuckt einem dann sieben Parameter aus, die dann eben erlauben, von einem System ins andere zu gehen. Und mit diesen Parametern
17:03
kann ich dann auch einen nicht gemessenen Punkt von einem System ins andere transformieren. Jetzt hatten wir bei Pix4D die Situation, dass wir Pix4D schon WKT2 und Proj intern verwenden. Das sind schon
17:24
ein paar Projekte, die wir in dieser Ansatz eben diese sieben Parameter, die diese Optimierung ausspuckt, eben in WKT2 darzustellen und WKT2 praktisch dann zu nutzen, um diese Transformation durchführen zu können.
17:41
Das haben wir gemacht hier mit einer Projektion, die spezifiziert war auf meiner Baustelle. Eine sehr lokale Projektion. Und eben danach noch eine affine Transformation mit Hilfe dieser Proj Pipeline, die ich vorhin schon gezeigt hatte. Das hat einen großen Vorteil, dass wenn ich einmal diese Side Calibration durchgeführt habe, diese Georeferenzierung,
18:04
kann ich dieses Koordinatensystem, das ich erstellt habe, damit wie jedes andere Koordinatensystem verwenden. Das ist einfach ein Koordinatensystem, komplett spezifiziert in WKT2. Und WKT2 nimmt daher bei uns auch die Funktion einer einfachen und einheitlichen Schnittstelle an,
18:23
um Daten von einem Produkt ins andere zu überführen. Zur Zusammenfassung. Warum WKT2? Das ist ein offener Standard, der uns die nötige Flexibilität gibt, um das darzustellen,
18:40
was wir startstellen wollen und hat den großen Vorteil der Interoperabilität. Warum verwenden wir Proj? Das ist eine mächtige Open Source Bibliothek, hinter deren Aktive noch eine sehr hilfsbereite Community steckt. Und das Fazit, was wir so ein bisschen hatten nach diesem Anwendungsfall, ist eben, dass offene Standards und freie Software uns erleichtern,
19:03
neue Funktionen in bestehende Produkte zu integrieren. Damit sind wir am Ende vom Vortrag. Danke für die Aufmerksamkeit und freue mich auf die Fragen. Ja, vielen Dank. Wirklich ein sehr interessanter Vortrag.
19:24
Fragen sind keine eingetrudelt, außer es gibt hier eine. Dann müssten wir einmal das Mikro rüberreichen. Moin. Ich habe drei ganz spezielle Fragen.
19:42
Also, kann ich mit WKT 2 aus einem XY Koordinatensystem und einem Höhensystem ein neues Koordinatensystem definieren? Also kann ich die beiden kombinieren in WKT 2? Man kann auch in WKT 2 so ein Compound System machen, das geht auch.
20:03
Und transformiert das auch Höhensysteme, wenn es 3D-Systeme kann? Also kann ich von DHN 92 auf 2016 umrechnen mit Podge? Darauf an, ob die Transformation definiert ist. Normalerweise werden die Transformationen auch in der EPSD-Datenbank hinterlegt,
20:24
also haben auch eine ID. Und ich weiß nicht auswendig, ob es eine Transformation gibt zwischen den beiden, aber kann durchaus sein. Und die letzte Frage. Kann ich, wenn ich mit WKT 2 ein Koordinatensystem definiere, festlegen, ob ich von oder in das Koordinatensystem transformiere?
20:44
Weil es gibt Koordinatensysteme, die haben andere 7-Parameter-Definitionen, wenn man rein oder raus transformiert. Gute Frage. Weiß ich ehrlich gesagt nicht. Vielen Dank. Gibt es sonst noch weitere Fragen?
21:11
Im Publikum, online hat sich bisher auch noch nichts getan. Dann habe ich noch eine Frage. Gibt es Tooling-Unterstützung, um solche Referenzsysteme anzulegen, also wenn ich das jetzt privat machen wollen würde?
21:25
Also wir sind hier auf einer Open Source Konferenz. Also Open Source technisch weiß ich nicht. Also man kann diese Messungen, zum Beispiel von Pix4D Catch, kann man die durchführen. Also das ist auch ein Feature dieser App. Man misst dann wirklich den Punkt ein mit der ATK-Antenne.
21:44
Und kann dann in der App, die spuckt einem dann praktisch diesen WKT 2 Text aus. Alles klar. Vielen Dank. Dann nochmal Applaus.