Ich versuche, zufällige Punkte entlang eines Polylinien-Shapefiles in QGIS zu erstellen. Grundsätzlich wie das Tool "Zufallspunkte" in "Forschungswerkzeuge", jedoch für Polylinien anstelle von Polygonen.
Ich habe versucht, die Liniendatei in ein Polygon-Shapefile zu konvertieren, aber es füllt einige Bereiche mit Polygonen, während andere Bereiche lange linienartige Polygone bleiben.
Ich bin ziemlich neu in QGIS und mit Python-Code nicht wirklich vertraut.
qgis
point
line
polyline-creation
Cec.g
quelle
quelle
Antworten:
Dieser Code funktioniert mit dem neuesten Entwickler-Build von QGIS.
Ich weiß, dass Sie gesagt haben, dass Sie mit Python-Code nicht sehr vertraut sind, aber Sie sollten in der Lage sein, dies ziemlich einfach auszuführen. Kopieren Sie den obigen Code in eine Datei (meine heißt
locate.py
) und platzieren Sie sie in Ihrer,~/.qgis/python
wenn Sie Windows 7 verwenden, das sich inC:\Users\{your user name}\.qgis\python\
oder unter Windows XP befindetC:\Documents and Settings\{your user name}\.qgis\python\
Sobald sich die Datei im Python-Ordner befindet, öffnen Sie QGIS und wählen Sie einige Linienobjekte aus.
Öffnen Sie dann die Python-Konsole und führen Sie den folgenden Code aus:
Das Ergebnis sollte ungefähr so aussehen
Wenn Sie es erneut ausführen möchten, wählen Sie einfach einige weitere Zeilen aus und führen Sie es erneut
locate.createRandomPoints(10)
in der Python-Konsole aus.Hinweis: locate.createRandomPoints (10) Die 10 hier ist die Anzahl der Punkte, die pro Zeile generiert werden sollen
quelle
import locate
die .py in der Python-Konsole nicht benötigt?Sie können die Polylinien (minimal) puffern und dann die Abtastung für die resultierenden Polygone ausführen. Es könnte von selbst gut funktionieren, wenn Sie keine anderen einschränkenden Faktoren haben, z. auf minimalen Zwischenpunktabstand, Dichte oder so etwas.
Für kompliziertere Fälle würde ich eine viel dichtere Zufallsstichprobe erstellen und dann in einem zweiten Schritt geeignete (was auch immer das sein mag) Punkte auswählen. Ähnliches könnte mit dem Verdichtungswerkzeug gemacht werden, aber dann wären alle Punkte auf den Polylinien.
quelle