HOW TO
In ArcGIS Pro kann das Werkzeug "Anhängen" verwendet werden, um zusätzliche Daten zu einem vorhandenen Ziel-Dataset hinzuzufügen. Wenn es jedoch Features mit identischen Positionen sowohl im Eingabe- als auch im Zieldataset gibt, erzeugt die Ausführung des Werkzeugs "Anhängen" doppelte Features im Ziel-Dataset. Wenn nur ein Eintrag pro Feature in der Attributtabelle erhalten bleiben soll, müssen doppelte Features gegebenenfalls gelöscht werden.
In diesem Artikel werden zwei Workarounds vorgestellt, mit denen Sie ältere Datensätze von doppelten Features aus dem Dataset entfernen und nur die neuesten Datensätze nach Ausführung des Werkzeugs "Anhängen" beibehalten.
Befolgen Sie je nach Verwendung eine der Problemumgehungen unten, um das Problem zu lösen.
Verwenden des Werkzeugs "Zusammenführen (Dissolve)"
Hinweis: Das Ergebnis dieses Workarounds wird in eine neue Feature-Class gespeichert.
Hinweis: Überspringen Sie Schritt 1, wenn das angehängte Dataset über ein vorhandenes Feld mit identischen Werten verfügt, das zur Identifizierung der doppelten Daten verwendet werden kann. Stellen Sie sicher, dass es keine Inkonsistenzen zwischen den identischen Werten gibt. Für diesen Workflow werden beispielsweise "StreetNameA" und "StreetName_A" nicht als identische Werte betrachtet.
Verwenden eines benutzerdefinierten Python-Skripts
Hinweis: Führen Sie diesen Workaround durch, um das angehängte Dataset zu ändern, ohne eine neue Feature-Class zu erstellen.
Wenn neue Features an das Ziel-Dataset angehängt werden, wird den angehängten Features automatisch eine neue Objekt-ID zugewiesen, und zwar in sequentieller Reihenfolge nach den vorhandenen Daten. Je größer die Nummer der Objekt-ID ist, desto weniger weit liegt der Zeitpunkt zurück, an dem das Feature dem Dataset hinzugefügt wurde. Daher kann das Objekt-ID-Feld verwendet werden, um eine Sortierung nach dem neuesten Datensatz durchzuführen. Dazu wählen Sie das Feature unter den doppelten Features aus, das den größten Objekt-ID-Wert aufweist.
Hinweis: Abhängig von den verwendeten Datasets werden die Objekt-IDs entweder im Feld OBJECTID oder im Feld OBJECTID_1 verwaltet. Um das Feld zu identifizieren, in dem die Objekt-IDs gespeichert sind, zeigen Sie mit der Maus auf die Feldkopfzeile in der Attributtabelle. Der Datentyp des Feldes, in dem die Objekt-IDs gespeichert sind, lautet "Objekt-ID". Weitere Informationen finden Sie unter ArcMap: Wann wird einer Tabelle eine ObjectID hinzugefügt?.
import arcpy
fc = r"<feature class path>" id = "<field name>" sort_field = "<field name> D"
cursor = arcpy.UpdateCursor(fc,"","",id,sort_field) keepList = list() for row in cursor: row_val = row.getValue(id) if row_val not in keepList: keepList.append(row_val) elif row_val in keepList: cursor.deleteRow(row) else: pass
Im Folgenden ist ein Beispiel für das gesamte Skript dargestellt:
import arcpy fc = r"C:\Users\User\Documents\ArcGIS\Projects\Append\Append.gdb\DataMain" id = "Coordinate" sort_field = "OBJECTID D" cursor = arcpy.UpdateCursor(fc,"","",id,sort_field) keepList = list() for row in cursor: row_val = row.getValue(id) if row_val not in keepList: keepList.append(row_val) elif row_val in keepList: cursor.deleteRow(row) else: pass
Artikel-ID: 000028108
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen