Wie erstelle ich eine "Area of ​​Interest" -Polygonmaske?

12

Ich habe mit ArcGIS ein GP-Tool erstellt, mit dem aus ausgewählten Features eine "Interessensbereich" -Maske erstellt wird. Tatsächlich wird eine neue Donut-Polygon-Ebene erstellt, bei der das Loch das zuvor ausgewählte Feature war. Kann ich diese Aufgabe in QGIS replizieren?

Beispiel: Für eine bestimmte Karte möchte ich eine Grafschaft innerhalb des Bundesstaates markieren und den Rest des Bundesstaates und Features außerhalb der Grafschaft mit einer grauen, semitransparenten Polygonebene darüber maskieren. Konzeptionell würde ich es ähnlich machen.

  1. Der Benutzer lädt die Ebene "Bundesstaat", "Landkreis" und "Fluss"
  2. Der Benutzer wählt den gewünschten Landkreis aus
  3. Führen Sie ein Dienstprogramm aus (sofern vorhanden), das alle nicht ausgewählten Features ohne das ursprünglich ausgewählte Polygon in ein Donut-Shapefile exportiert. Wenn diese Ebenenmaske eine Ebene "im Speicher" wäre, die nur QGIS zur Verfügung steht, wäre das auch in Ordnung, vielleicht sogar noch besser.

Gibt es diese Art von Tool oder Funktion bereits in QGIS oder muss ich diese als benutzerdefinierte Funktion schreiben?

Hier ist, wie ich es in ArcGIS mit ModelBuilder gemacht habe, und das Ergebnis, nach dem ich suchen würde, wo die gelbe Schicht und die Flussschicht landesweit (über das gesamte Bild hinweg) vorhanden sind und die graue Schicht mit einem "Ringloch" transparent ist. Durch den hellgelben Bereich kann der Betrachter auf den interessierenden Bereich aufmerksam gemacht werden:

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

RyanKDalton
quelle

Antworten:

12

Um eine Maske zu erstellen, würde ich vorschlagen, Polygon aus Ebenenbereichen (Vektorforschungswerkzeuge) und Differenz (Vektorgeoverarbeitungswerkzeuge) mit aktivierter Option "Nur ausgewählte Features verwenden" zu verwenden.

Wenn Sie wirklich „exportiert alle nicht ausgewählten Features zu einem Donut Shape - Datei“ möchten, können Sie versuchen , auflösen , aber es ist ziemlich langsam , und Sie könnten sich mit suboptimalen Ergebnissen wie winzige Löcher usw. enden

Das Erstellen eines großen Polygons mit einem Polygon aus dem Ebenenbereichswerkzeug und das anschließende Ausschneiden des ausgewählten Landkreises sollte wesentlich schneller sein.

Underdunkel
quelle
12

Vielen Dank an @underdark für Ihre Hinweise zu dieser Lösung. Die fTools-Funktion "Differenz" war genau das Werkzeug, das die Aufgabe erledigt hat. Abweichend von Ihrem Vorschlag musste ich jedoch nicht zuerst das "Polygon aus Ebenenbereichen" erstellen.

Stattdessen lautete die Lösung:

  1. Laden Sie die Datenebene (Grafschaften)
  2. Wählen Sie das Merkmal von Interesse (Grafschaft A)
  3. Verwenden Sie das Werkzeug Vektor-> Geoverarbeitung-> Differenz
  4. Wählen Sie den Grafschafts-Layer als beide Eingaben aus, und aktivieren Sie "Ausgewählte Features verwenden" für "Eingangsvektor-Layer" und "Differenz-Layer".

Bildbeschreibung hier eingeben

Dadurch erhält der Layer alle Features aus der Eingabe, AUSSER den ausgewählten Features. Vielen Dank!

RyanKDalton
quelle
2
Eine Gegenstimme wäre "Danke" genug;)
Underdunkel
Das funktioniert super. Der einzige Nachteil ist, dass die Grafschaft an das Meer grenzt oder an ein anderes Gebiet ohne Polygone, sodass diese Gebiete nicht maskiert werden.
JimS-W
3

Der symmetrische Unterschied in QGIS 1.6 unter Vektor> Geoverarbeitungswerkzeuge> Symmetrischer Unterschied (Standard-Kernwerkzeuge) sollte Ihre Maske aus zwei Eingabepolygonen erzeugen ...

Bildbeschreibung hier eingeben

Mapperz
quelle