Ebenen in QGIS spiegeln?

8

Ich würde gerne wissen, ob es eine Möglichkeit gibt, Ebenen in QGIS zu spiegeln. Mein aktuelles Projekt ist etwas schwer zu erklären ... Ich grabe das Innere eines großen Topfes aus und am Ende werde ich eine Reihe von Plänen haben, die den aufeinanderfolgenden Schichten entsprechen, die ich auf dem Weg zum Ausgrabung. Aus praktischen Gründen muss ich diese Arbeit jedoch verkehrt herum ausführen (dh die Ausgrabung begann am Boden des Topfes).

Alle meine Datensätze werden später in QGIS bearbeitet. Um sie für andere Personen verständlicher zu machen, muss ich sie rückgängig machen. Sie kehren nicht nur ihre Reihenfolge um, sondern drehen sie auch horizontal, um ein gespiegeltes Bild des Plans jeder Ebene zu erhalten.

Ich weiß, dass ich es mit Bildverarbeitungssoftware machen kann, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, dies in der QGIS-Umgebung zu tun. Dies würde mir wahrscheinlich Zeit für die Bildverarbeitung sparen und den Workflow rationalisieren.

Hat jemand irgendwelche Ideen dazu?

TTome
quelle
Ihre Pläne sind Bilder? Und Sie haben ein Bild pro Phase? Verwenden Sie einfach eine Zeichensoftware wie Basic Paint in Windows, um sie zu spiegeln (horizontal oder vertikal). Wenn Sie viele Pläne haben, können Sie dies im Batch tun - wie OpenSource GIMP oder kostenloses IrfanView. Die Reihenfolge der Pläne hängt nur davon ab, wie Sie Bilder (Ebenen) in QGIS bestellen - das liegt ganz bei Ihnen.
Miro

Antworten:

9

Ja, Sie können Ebenen (oder einzelne Features) spiegeln. Dies erfordert QGIS> = 2.10 . Es ist nicht notwendig, die Eingabedaten tatsächlich so zu ändern, wie sie dargestellt werden. Dies erfolgt mithilfe von Ebeneneffekten, wie hier für Alaska gezeigt:

Geben Sie hier die Bildbeschreibung ein

Unterdunkel
quelle
Vielen Dank für Ihre Antwort, aber ich kann nicht finden, wo ich auf das Fenster "Effekteigenschaften" zugreifen kann. Aus dem von Ihnen freigegebenen Bild geht hervor, dass es sich auf der Registerkarte "Stil" der Ebeneneigenschaften befindet, aber ich kann anscheinend nicht herausfinden, wo es sich befindet. Ich verwende derzeit QGIS 2.8.2.
TTome
1
Sie benötigen 2.10, um Effekte verwenden zu können.
underdark
Nachdem ich meinen Kommentar gepostet hatte, fragte ich mich, ob dies der Fall wäre. Deinstallierte 2.8.2, installierte 2.10 und voilá! Danke für Ihre Hilfe!
TTome
2
Und wie geht das in QGIS> 3.0?
Sk1me
10

Wie Sie angeben, können Sie dies in einer Bildverarbeitungssoftware tun. Wenn Sie dies jedoch in QGIS für einen reibungslosen Arbeitsablauf tun möchten (möglicherweise mithilfe eines Skripts oder beim Erstellen eines Verarbeitungsmodells), können Sie Ihre Bilder mit der Grass-Funktion r.flip spiegeln . Dies ist jedoch in Grass 7 der Fall, sodass Sie dies installieren müssen, da es in QGIS noch nicht Standard ist.

Außerdem gibt es das Gitterausrichtungswerkzeug von SAGA , das Flip-, Spiegel- und Invertierungsoptionen bietet. Die Dokumentation scheint dafür spärlich zu sein, aber ein kurzes Experiment zeigt, dass "Flip" das Bild vertikal dreht, "Mirror" das Bild horizontal dreht, aber Invert macht ein "Negativ" des Bildes (also nicht das, was Sie wollen, vermute ich - sondern Flip und Spiegel sehen für Ihre Verwendung vielversprechend aus).

BEARBEITEN (zu Kommentaren): Zum Spiegeln, Drehen oder anderweitigen "Gummiplatten" -Vektordaten benötigen Sie affine Werkzeuge. QGIS verfügt hierfür über eine Reihe von Tools. Es gibt ein paar Plugins (' Affine' und ' Vector Bender') und Grass hat v.transform. Sie müssen Ihre Transformationsmatrix für Affine oder v.transform berechnen. Siehe diesen Beitrag für die erstere. Wenn Sie mit Gummiraster-Rastern sehr vertraut sind (und zu faul sind, um Transformationsmatrizen zu erstellen), verwenden Sie alternativ das Vector BenderPlugin - obwohl ich denke, dass es schwieriger wäre, Ihre Spiegellinien für diesen speziellen Anwendungsfall zu erarbeiten (ansonsten) ist brillant).

Verwenden des Affine-Plugins und einer Transformationsmatrix von
1,0,0
0, -1,0

Ich bekomme folgendes (blau = vorher, gelb = nachher): Geben Sie hier die Bildbeschreibung ein

Die Matrix hier dreht sich tatsächlich um die Y-Achse, sodass Sie auch eine laterale Transformation benötigen, die der Nord-Süd-Ausdehnung Ihrer Daten entspricht, um "an Ort und Stelle" zu kippen. In meinem Fall wäre meine reale Matrix, die auf diesem speziellen Shapefile basiert,
1,0,0
0, -1,964530,15

(dh ich klappe auf der Y-Achse nach unten und verschiebe dann die Daten wieder nach oben)

EDIT # 2 (Ein nachträglicher Gedanke):
Wenn Sie einen Batch-Prozess ausführen, können Sie den Umfang einfach genug über GDAL abrufen und die Erstellung der Transformationsmatrix automatisieren. Wenn Sie jedoch einen halbmanuellen Prozess ausführen, können Sie in Ihrem Anwendungsfall die Dinge vereinfachen, indem Sie ein einfaches Begrenzungsrahmen-Polygon mit den Daten jeder Ebene verbinden. Auf diese Weise ist Ihre Transformationsmatrix immer dieselbe wie die Gesamtausdehnung Ihrer Daten immer innerhalb Ihres Begrenzungsrahmens, unabhängig davon, was Sie tatsächlich in der Ebene digitalisieren.

MappaGnosis
quelle
MappaGnosis, Ihre ist ein ziemlich interessanter Vorschlag (Grid Orientation Module) - es funktioniert jedoch nur mit Rasterdaten. Ich habe nach etwas gesucht, das auch mit Vektordaten verwendet werden kann. In Bezug auf Skripte und Verarbeitungsmodelle bin ich nicht so gut mit der Kunst des Skripts vertraut, wie ich es so
mache
Ich habe nur Raster erwähnt, weil Sie sich in Ihrer Frage auf Bilder bezogen haben. Wenn Sie jedoch auch Vektoren spiegeln möchten, ist dies auch mit affinen Werkzeugen möglich. Siehe meine Änderungen oben.
MappaGnosis
Klar, ich verstehe - ich war es, der nicht klar genug war, was ich tun muss. Ihre neuen Ergänzungen zu Ihrem Kommentar scheinen großartig zu sein. Ich werde es erst in ein paar Tagen testen können, da ich momentan keinen Zugriff auf die Daten habe, es aber sicherlich versuchen werde - werde Sie wissen lassen, wie es danach gelaufen ist. Danke vielmals!
TTome