Es ist ein mehrstufiger Prozess, daher sollten Sie ein benutzerdefiniertes Modell oder Skript erstellen. Um Splitter von Polygonen zu vermeiden, die zu benachbarten Polygonpunkten gehören, müssen Sie Ihre Statusebene durchlaufen. Ich arbeite mit Zustandspolygonen und einer Reihe von zufälligen Punkten und gehe den Prozess durch, damit Sie verstehen, was in unserem Modell vor sich geht.
Im Modell
- Nach Ort extrahieren
- Extrahieren Sie Funktionen aus:
points_layer
- Wo die Funktionen:
intersect
- Durch Vergleich mit den Funktionen von:
polygons_layer
- Voronoi-Polygone
- Eingabeebene:
'Extracted (location)' from algorithm 'Extract by location'
- Pufferbereich:
500
(Es scheint übertrieben, aber wir möchten sicherstellen, dass Ihre Voronoi-Polygone den Zustand, in dem sie sich befinden, vollständig abdecken. Da wir diese Ebene im nächsten Schritt abschneiden, ist es unerheblich, wie groß wir diese machen.)
- Übergeordnete Algorithmen:
Extract by location
- Clip
- Eingabeebene:
'Voronoi polygons' from algorithm 'Voronoi polygons'
- Überlagerungsebene:
polygons_layer
- Ausgeschnitten:
output
- Übergeordnete Algorithmen:
Extract by location
undVoronoi polygons
Wie Sie sehen können, haben wir unsere staatlich beschränkten Voronoi-Polygone, in denen Punkte aus Nachbarstaaten ihre Anordnung nicht beeinflussen.
Hier ist ein Bild des Modells:
Das Bild vermittelt dies nicht, aber beachten Sie, dass die Polygonebeneneingabe des Modells ein Vector Features
Objekt ist, kein Vector Layer
.
Ausführen des Modells
Wenn Sie Ihr Modell ausführen, ist es wichtig, dass Sie auf das Symbol klicken, um die Funktionen Ihres Status-Layers zu durchlaufen.
Sobald Sie das Modell ausgeführt haben, können Sie einfach Vektorebenen zusammenführen für die Ausgaben ausführen , um eine Ausgabe auf einer Ebene zu erhalten, wenn dies für Sie wichtig ist. Leider ist mir keine einfache Möglichkeit bekannt, mehrere Modellausgaben innerhalb des Modells selbst zusammenzuführen (bitte korrigiert mich jemand, wenn etwas vorhanden ist).
Wenn Sie mit Python vertraut sind, können Sie das exportierte Skript dieses Modells leicht ändern, um diesen zusätzlichen Schritt auszuführen. Da Sie in Ihrer Frage keine codebasierten Lösungen erwähnt haben, werde ich dies jedoch weglassen.