Wie kann ich eine Zeile in QGIS mit einem Attribut für die linke Seite der Zeile und einem Attribut für die rechte Seite der Zeile puffern? Ich versuche, einen Fluss mit seiner Uferbreite zu puffern, die auf der rechten und linken Seite unterschiedlich ist.
14
Antworten:
Das Definieren einer Linienseite ist auf einer orientierbaren Oberfläche , die eine 2D-Ebene in einem GIS ist, ziemlich einfach . Wenn Sie für eine Linie einen Start- und einen Endpunkt definieren, können Sie die Seiten "links" und "rechts" eindeutig definieren. Dies ist auch dann der Fall, wenn sich die Linie kreuzt.
Aus praktischer Sicht umfasst der einfache Arbeitsablauf zum Erstellen eines einseitigen Puffers einen Standardpuffer, eine Differenzoperation und dann eine Beschneidungsoperation. Hier ist ein Beispiel.
Beginnen Sie mit der Erstellung eines Polygons, das Ihre Linie enthält oder genau überlappt. Damit sich der Puffer auf der rechten Seite Ihrer Linie befindet, sollte sich die Innenseite des Polygons auf der linken Seite befinden. Beachten Sie, dass, wenn sich Ihre Linie kreuzt, dies nicht wie gewünscht funktioniert und Sie das Polygon möglicherweise so zeichnen müssen, dass es sich selbst oder Ihre Linie nicht kreuzt. Wenden Sie die Pufferoperation auf dieses Polygon an. Gehen Sie mit dem fTools-Plugin zu Geoverarbeitungs-Tools> Puffer.
Bei Verwendung der Differenzoperation schneiden die Geoverarbeitungswerkzeuge> Differenz mit dem Puffer als Eingabeebene und dem ursprünglichen Polygon als Differenzebene die Innenseite aus. Jetzt haben Sie einen rechten Puffer.
Alles, was bleibt, ist das Ausschneiden des "zusätzlichen" Teils des Polygons. Geoverarbeitungswerkzeuge> Clip.
quelle
Dies ist eine sehr interessante Frage, die meines Erachtens nicht trivial zu lösen ist. Ich bin auf ein Skript für ArcMap gestoßen , das eine sehr gut dokumentierte Lösung bietet, die 500 Zeilen VB-Code umfasst. Mir ist jedoch kein entsprechendes Skript oder Modul in QGIS bekannt.
Eine der wichtigsten Überlegungen in einem asymmetrischen Puffer ist die Fließrichtung der Linie, sodass Sie eine linke und eine rechte Seite definieren können. Bei Flüssen sollte dies einfach zu berechnen sein, wenn Sie ein begleitendes DEM haben.
Es ist möglicherweise möglich, ein QGIS-Skript um die Logik dieses Skripts herum zu erstellen, dies würde jedoch einen erheblichen Arbeitsaufwand erfordern.
quelle
Side Type
der entweder links oder rechts sein kann. Und Sie haben den ParameterField
. Wenn Sie also Skripte für dieses Tool erstellen, können Sie für beide unterschiedliche Werte verwenden. Ich habe das erst kürzlich gemacht (siehe meine Frage hier )