18.6. KBS - reprojizieren¶
Bemerkung
In dieser Lektion werden wir diskutieren, wie die Verarbeitungswerkzeuge KBS verwenden. Wir werden auch einen sehr nützlichen Algorithmus kennenlernen: reprojizieren.
KBS führen bei Nutzern der QGIS Verarbeitungswerkzeuge oft zu Verwirrung. Hier folgen einige generelle Regeln, wie KBS durch Geoalgorithmen bei der Erstellung neuer Layer behandelt werden.
Wenn Eingabelayer vorhanden sind, wird das KBS des ersten Layers verwendet. Es wird angenommen, dass die anderen Layer - so wie es sein sollte - dasselbe KBS verwenden. Wenn Sie Layer mit verschiedenen KBS verwenden, wird QGIS dazu eine Warnung ausgeben. Achten Sie darauf, dass das KBS der Eingabelayer zusammen mit dem Layernamen im Parameter Dialog angezeigt wird.
Wenn kein Eingabelayer vorhanden ist, wird das KBS des Projektes verwendet, es sei denn der Algorithmus enthält ein explizites KBS Feld (so wie in der letzten Lektion beim Algorithmus zur Erzeugung des Gitternetzes)
Öffnen Sie das Projekt zu dieser Lektion und Sie werden zwei Layer mit Namen 23030 und 4326 sehen. Sie enthalten beide dieselben Punkte aber in verschiedenen KBS (EPSG:23030 und EPSG:4326). Sie erscheinen an derselben Stelle in der Karte, weil QGIS in Echtzeit eine Reprojektion in das KBS des Projektes (EPSG:4326) vornimmt. Es handelt sich aber nicht um dieselben Layer.
Öffnen Sie den Algorithmus Geometrieattribute hinzufügen.
Dieser Algorithmus fügt neue Spalten in die Attributtabelle eines Vektorlayers ein. Der Inhalt der Spalten hängt vom Geometrietyp des Layers ab. Im Fall von Punkten, werden neue Spalten mit den X- und Y-Koordinaten jedes Punktes hinzugefügt.
In der Liste der verfügbaren Layer unter Eingabelayer werden beide Layer mit ihren jeweiligen KBS angezeigt. Das bedeutet, dass die Layer verschieden behandelt werden, obwohl sie an derselben Stelle angezeigt werden. Wählen Sie den 4326 Layer.
Der andere Parameter steuert, wie der Algorithmus die Koordinaten ermittelt, die in den Ergebnislayer eingefügt werden. Die meisten Algorithmen verwenden diese Option nicht. Sie nutzen direkt die vorhandenen Koordinaten. Wählen Sie Layer-KBS, um die Koordinaten so wie sie sind zu verwenden. Auf diese Art arbeiten fast alle Geoalgorithmen.
Wir erhalten einen neuen Layer mit exakt denselben Punkten wie in den anderen beiden Layern. Wenn Sie mit der rechten Maustaste auf den Layer klicken und seine Eigenschaften öffnen, sehen Sie, dass er dasselbe KBS wie der Eingabelayer verwendet, d.h. EPSG:4326. Wenn der Layer in QGIS geladen wird, fragt QGIS nicht nach dem KBS - es ist schon bekannt.
Beim Öffnen der Attributtabelle des neuen Layers sehen wir zwei neue Felder, die die X- und Y-Koordinaten für jeden Punkt enthalten.
Die Koordinatenwerte gehören zum KBS des Layers, so wie wir es bei der Erstellung eingestellt hatten. Aber auch wenn wir eine andere Option gewählt hätten, wäre das Ausgabe KBS des Layers gleich, da das KBS des Eingabelayers als Vorgabe für das KBS des Ausgabelayers verwendet wird. Die Wahl einer anderen Option würde zwar die Koordinatenwerte in der Attributtabelle ändern, aber nicht das KBS des Ergebnislayers an sich.
Führen Sie nun dieselbe Berechnung mit dem anderen Layer aus. Sie werden sehen, das der im Ergebnis erzeugte Layer exakt an derselben Stelle wie die anderen Layer angezeigt wird. Er hat das KBS EPSG:23030, so wie sein Eingabelayer.
Wenn Sie sich seine Attributtabelle ansehen, bemerken Sie, dass die Werte von denen des ersten Layers abweichen.
Das liegt daran, dass die Originaldaten voneinander abweichen (sie nutzen verschiedene KBS) und die Koordinaten von dort stammen.
Wass sollte man daraus lernen? Der Hauptgedanke hinter diesen Beispielen ist, dass die Geoalgorithmen Layer so verwenden wie sie sind. Sie ignorieren vollständig die Reprojektion die QGIS unter Umständen zur Darstellung benutzt. Mit anderen Worten: vertrauen Sie nicht dem, was Sie in der QGIS Karte sehen. Denken Sie immer daran, dass die Originaldaten verwendet werden. Das ist in diesem Fall nicht so wichtig, da wir jeweils nur einen Layer gleichzeitig verwenden. Bei Algorithmen, die mehrere Layer benutzen (z.B. der Zuschneiden Algorithmus) kann es so aussehen, als ob sie übereinander liegen. In Wirklichkeit sind sie aber weit voneinander entfernt, da sie verschiedene KBS verwenden.
Algorithmen führen keine Reprojektion durch (mit Ausnahme des reprojizieren Algorithmus wie wir gleich sehen werden). Sie müssen darauf achten, dass die Layer dasselbe KBS haben.
Ein interessantes Modul, das sich mit KBS befasst, ist die Reprojektion. Es stellt einen Sonderfall dar, da es einen Eingabelayer entgegen nimmt (den zu reprojizierenden) aber sein KBS nicht für den Ausgabelayer verwendet.
Öffnen Sie den Algorithmus Layer reprojizieren.
Wählen Sie einen der Layer als Eingabelayer und EPSG:23029 als Ziel KBS. Starten Sie den Algorithmus und Sie erhalten einen neuen Layer, identisch zum Eingabelayer, aber mit einem anderen KBS. Er wird im Arbeitsbereich an derselben Stelle wie die anderen Layer angezeigt, da QGIS ihn zur Laufzeit reprojiziert. Seine eigentlichen Koordinaten sind aber andere. Sie können das mit Hilfe des Algorithmus Geometrieattribute hinzufügen überprüfen. Die Koordinaten sind verschieden zu den Koordinaten in den beiden anderen Attributtabellen der anderen Layer.