Ich verwende QGIS und suche nach einem Skript oder Plugin, mit dem eine große Anzahl senkrechter Linien von einer Punktebene zu Linien in einer separaten Linienebene erstellt werden kann.
Bisher habe ich versucht, die Hub-Distanz-Funktion in MMQGIS (die Linien in Punkte umzuwandeln und die Punkte dann mit dem nächsten Hub zu verbinden) und das entsprechende Tool der QGIS-Geoalgorithmen zu verwenden. Beides hat nicht funktioniert. Beide dauern mehr als 2 Stunden und erzeugen entweder Linien der gesamten Ebene oder Linien, die nicht senkrecht oder mit den Punkten verbunden sind.
Im Bild sehen Sie den aktuellen Status des Projekts. Die senkrechten Linien sollten von den Punkten zur nächsten Linie verlaufen. Am Ende möchte ich Schnittpunkte mit einer Linie zwischen den Punkten und den Ländergrenzen verwenden, um einen Puffer aus vierseitigen Polygonen zu erstellen, der zwei Polygone tief ist. Ich erwähne dies für den Fall, dass es einen einfacheren Weg gibt, dies zu tun.
Ich weiß, dass es einige Beiträge zum Erstellen senkrechter Linien gibt, aber keiner von beiden hat mein Problem gelöst.
quelle
Antworten:
Das nächste Skript automatisiert die Erstellung senkrechter Linien zwischen einer Punktebene und einer Linienebene. Die erstellten senkrechten Segmente (Merkmale einer Speicherschicht) verlaufen von den Punkten zum nächsten Merkmal der Linienschicht.
Ich habe es mit einer Situation ausprobiert, die der in der Frage dargestellten sehr ähnlich ist:
Nach dem Ausführen des Codes in der Python-Konsole von QGIS wurde Folgendes erhalten:
quelle
Hier ist derselbe Code wie in der akzeptierten Antwort, der nur für Python 3.x (oder QGIS v3.x) angepasst wurde:
quelle