Unterschiede zwischen zwei Shapefiles analysieren, um Ergebnisse in ein neues Shapefile zu integrieren?


9

Ich habe zwei Polygon-Shapefiles derselben Region aus zwei verschiedenen Jahren (1985 und 1997) und muss die Unterschiede zwischen den beiden Shapefiles analysieren, was dazu führt, dass ein drittes Polygon-Shapefile nur Unterschiede anzeigt.

Die Shapefiles decken einen innerstädtischen Bereich mit Gebäuden, Parks, versiegelten / nicht versiegelten Bereichen und Wasserbereichen ab. Ich muss zum Beispiel herausfinden, ob ein Gebäude de- / gebaut wurde oder ob ein Park bewegt oder geschlossen wurde oder ähnliches. Unterschiede zwischen den Formen.

Ich brauche die Ausgabe in einem dritten, neuen Shapefile. Gibt es einen automatisierten Weg, um dies zu erreichen?

Ich arbeite mit der Geodatabase der proprietären Datei in ArcGIS 10.1, daher würde ich Lösungen in ArcGIS bevorzugen. Aber wenn es in QGIS einen einfachen Weg gibt, würde ich es auch begrüßen.

Ich dachte, es könnte möglich sein, mit der Topologieanalyse in ArcGIS zu arbeiten, bin mir aber nicht ganz sicher, wie man beispielsweise Formen nach Attributen vergleicht: Jede Form hat ein Feld "Typ" in der Attributtabelle, und ich muss nicht nur die Formen vergleichen aber die Arten der Polygone.

Hinweis: Ermitteln von Unterschieden zwischen Shapefiles mithilfe von ArcGIS for Desktop? klingt ähnlich, aber ich suche nach einer Ausgabe in einem Polygonform-Dateiformat.

Dies ist ein Änderungserkennungsprozess für Vektordaten (kein Problem mit der Fernerkundung). Diese Antwort enthält einige nette Kommentare , aber überhaupt keine Lösungen.


1
Wenn Sie Unterschied sagen, meinen Sie den Unterschied in Geometrie, Attribut oder beidem? Ist dies ein Änderungserkennungsprozess?
Ryan Garnett

Ja, dies ist ein Änderungserkennungsprozess. Zuerst brauche ich die Änderungen in der Geometrie, zweitens brauche ich Änderungen in den Attributen. Die Geometrie ist jedoch wichtiger, da die Ausgabe auf irgendeine Weise visualisiert werden sollte.
Afr

Antworten:


2

Obwohl ich denke, dass Ryans Antwort die vernünftigste Vorgehensweise ist, können Sie das Intersect Geoprocessing Tool verwenden, indem Sie beide Feature-Classes als Eingabe verwenden.

Die Ausgabe, die Sie erhalten, enthält Attribute von beiden Eingaben. Sie können in den beiden Feldern "Typ" nach Features mit unterschiedlichen Werten suchen.

Es gibt einige Einschränkungen für diesen Prozess:

  • Erstens kann das Schnittwerkzeug wie alle übermäßigen Werkzeuge nur mit einer begrenzten Anzahl von Scheitelpunkten arbeiten . Wenn Ihre Daten zu viele Scheitelpunkte enthalten, müssen Sie Ihre Daten kacheln und den Prozess schrittweise ausführen.

  • In der Ausgabe finden Sie viele Splitterpolygone.

  • Dies setzt voraus, dass Ihre Feature-Classes Ihren Interessenbereich vollständig abdecken und dass keine Lücken bestehen.


Das macht den Job, danke! Es ist eine ziemlich einfache Lösung, aber damit kann ich arbeiten.
Afr

6

Es gibt einige Möglichkeiten, dies zu tun. Ich habe dies in der Vergangenheit mit großartigen Ergebnissen unter Verwendung einer Kombination aus Attributen und Rasterverarbeitung abgeschlossen. Die Voraussetzung des Prozesses besteht darin, jedem Merkmal einen Wert von n (1, 2, 4, 8, 16, 32, 64 usw.) zuzuweisen. Durch das Zuweisen dieser Werte wird sichergestellt, dass Sie beim Subtrahieren von Ebene 1 (1985) von Ebene 2 (1997) einen eindeutigen Wert erhalten, der angibt, in was er geändert wurde. Zum Beispiel, wenn 1 = Gebäude, 2 = Parks, 4 = versiegelt / nicht versiegelt und 8 = Wasser; Durch Subtrahieren der Werte gibt es keine Möglichkeit, denselben Wert zu erhalten. Wenn Sie diese Wertespalte hinzufügen, möchten Sie die Polygone mithilfe von ArcGIS oder QGIS in ein Raster konvertieren. Ich würde empfehlen, dass Sie die Rasterpixelgröße auf einen kleinen Wert einstellen (dh wenn die Daten aus Quickbird-Bildern erfasst wurden, stellen Sie sie auf die Pixelgröße der Quickbird-Bilder ein). Verwenden Sie den Rasterrechner (in ArcGIS oder QGIS), um Layer2 von Layer1 zu subtrahieren. Dies führt zu Layer3, der in Layer geändert wird. Sie können diese Daten zur weiteren GIS-Analyse wieder in eine Polygonebene konvertieren. Wenn Sie weitere Informationen oder Einzelheiten wünschen, kann ich Ihnen weitere mitteilen.


Dies ist ein sehr guter Ansatz, aber ich werde meine Formen nicht in Rasterdaten und zurück konvertieren, da ich zu viele Informationen verlieren werde. Ist dies überhaupt nur mit Vektorebenen möglich?
Afr

Sie könnten mit den Vektoren etwas Ähnliches tun, aber es wird nicht der Wertansatz verwendet. Möglicherweise möchten Sie mit dem in ArcGIS und QGIS verfügbaren Werkzeug "Symmetrischer Unterschied" spielen. Mir ist kein vektorbasierter Ansatz bekannt, der den von mir skizzierten Ansatz nachahmt.
Ryan Garnett

Ihr Ansatz erinnert mich an bitweise Operationen wie hier beschrieben blog.millermedeiros.com/…
geogeek

Verfügt ARCGIS 9.2 über ein symmetrisches Differenzwerkzeug? Ich kann nicht finden. Welche Version von ARCGIS kann für diese symmetrische Differenzanalyse verwendet werden?
Bandrush Barda

Ich glaube, Sie benötigen eine ArcInfo-Lizenz. Wenn Sie diesen Lizenztyp nicht haben, können Sie ETGeoWizards herunterladen. Symmetrical Difference ist ein verfügbares Werkzeug auf der Registerkarte Geoverarbeitung. QGIS hat auch einen kostenlosen symmetrischen Unterschied in den Vektorwerkzeugen.
Ryan Garnett

0

Verwenden Sie die Überlagerungsoperation (UNION), um die Änderungserkennung in ArcGIS aus zwei Polygondateien durchzuführen. Dadurch erhalten Sie die Übergangsmatrix mit den Details der Änderungen (möglicherweise in der Landbedeckung).


Ich denke, dies ist nur eine Variation der akzeptierten Antwort, aber mit weniger detaillierten Anweisungen. Auch wenn sowohl Union als auch Intersect Polygon-Overlay-Operationen sind, würde ich in diesem Fall Intersect verwenden, um die Größe der Ausgabe und etwaiger Zwischendatensätze zu minimieren.
PolyGeo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.