HOW TO

Identifizieren von doppelten oder Einzelwerten in ArcGIS Pro

Last Published: July 28, 2020

Zusammenfassung

In der Regel enthält eine Attributtabelle Felder mit gemeinsamen Werten und Einzelwerten. Dadurch ist es manchmal notwendig, doppelte Werte zu identifizieren, um eine Gruppe unter mehreren Layern zu erstellen, oder Einzelwerte zu identifizieren, um das Feature zu isolieren.

Vorgehensweise

Zum Identifizieren von doppelten Werten gibt es vier Möglichkeiten:

Verwenden des Werkzeugs "Identische finden"

Das Werkzeug Identische finden erstellt eine neue Standalone-Tabelle. Das Werkzeug identifiziert die ObjectID eines Features und erstellt zwei Spalten: Die eine Spalte enthält den ObjectID-Wert des ausgewählten Features, und die andere Spalte enthält Zahlen zum Markieren eines identischen oder eindeutigen Features. Identische Datensätze verfügen über denselben FEAT_SEQ-Wert, während nicht identische Datensätze über einen sequenziellen Wert verfügen. FEAT_SEQ-Werte haben keine Beziehung zu den IDs der Eingabedatensätze. Weitere Informationen finden Sie unter ArcGIS Pro: Identische finden (Data Management).

Verwenden der Funktion "Feld berechnen"

Die Python-Parser-Funktion isDuplicate() kann ein neues Feld mit einem bestimmten Markierungswert füllen, über den ein Wert als doppelter oder als Einzelwert identifiziert wird. Zum Beispiel kann bei Einzelwerten und beim ersten Auftreten von Mehrfachwerten der Wert 0 und bei allen doppelten Werten der Wert 1 eingetragen werden. Anhand der folgenden Schritte wird beschrieben, wie diese Funktion für diesen Zweck verwendet wird:

  1. Erstellen Sie ein neues Feld mit dem Datentyp Short oder Long Integer. Weitere Informationen finden Sie unter ArcGIS Pro: Hinzufügen von Daten zu einer vorhandenen Tabelle.
  2. Klicken Sie mit der rechten Maustaste auf die Überschrift des neuen Feldes, und wählen Sie Feld berechnen aus.
  3. Stellen Sie sicher, dass im Bereich Feld berechnen der rechte Parameter ausgewählt ist und dass der Ausdruckstyp auf Python 3 festgelegt ist.
Abbildung der Parameter für
  1. Fügen Sie im Textfeld "Ausdruck" das folgende Skript ein:
isDuplicate(!Field_Name_To_Verify!)
  1. Fügen Sie im Textfeld Code-Block das folgende Skript ein:
uniqueList = [] def isDuplicate(inValue): if inValue in uniqueList: return 1 else: uniqueList.append(inValue) return 0

Verwenden eines eigenständigen Python-Skripts

Dieses Skript erstellt ein neues Feld und füllt es mit der Anzahl der doppelten Werte.

  1. Importieren Sie das erforderliche Modul.
import arcpy
  1. Geben Sie den gewünschten Workspace, das Feature, das Eingabefeld und die Ausgabefeldparameter an.
arcpy.env.workspace=r"D:\test.gdb" infeature="sample_feature" field_in="sample_field" field_out="COUNT_"+field_in arcpy.AddField_management(infeature,field_out,"SHORT")
  1. Erstellen Sie eine Liste aller Werte im ausgewählten Feld.
lista=[] cursor1=arcpy.SearchCursor(infeature) for row in cursor1: i=row.getValue(field_in) lista.append(i) del cursor1, row
  1. Füllen Sie das Ausgabefeld mit der Anzahl der doppelten Werte.
cursor2=arcpy.UpdateCursor(infeature) for row in cursor2: i=row.getValue(field_in) occ=lista.count(i) row.setValue(field_out,occ) cursor2.updateRow(row) del cursor2, row print ("Done.")

Nachfolgend finden Sie den vollständigen Code:

import arcpy arcpy.env.workspace=r"D:\test.gdb" infeature="sample_feature" field_in="sample_field" field_out="COUNT_"+field_in arcpy.AddField_management(infeature,field_out,"SHORT") lista=[] cursor1=arcpy.SearchCursor(infeature) for row in cursor1: i=row.getValue(field_in) lista.append(i) del cursor1, row cursor2=arcpy.UpdateCursor(infeature) for row in cursor2: i=row.getValue(field_in) occ=lista.count(i) row.setValue(field_out,occ) cursor2.updateRow(row) del cursor2, row print ("Done.")

Verwenden des Werkzeugs "Summenstatistik" und Verknüpfen der Tabelle

  1. Führen Sie das Werkzeug Summenstatistik aus.
  2. Geben Sie den Eingabe-Layer (der Ziel-Layer mit identischen Features oder Datensätzen) und die Ausgabetabelle an.
  3. Geben Sie für Statistikfeld das numerische eindeutige ID-Feld an. Wenn dies ein Shapefile ist, dann wählen Sie das FID-Feld aus. Wenn dies eine Feature-Class ist, dann wählen Sie das OBJECTID-Feld aus. Der 'Pads_DB_PadNumText' ist ein numerisches eindeutiges Feld im nachfolgenden Beispiel. Wählen Sie Minimum als Statistiktyp aus.
  4. Wählen Sie das gewünschte Feld aus, in dem die Werte verglichen werden, um identische Datensätze im Untersuchungsfeld zu finden.
  5. Führen Sie das Werkzeug aus, um eine neue Tabelle zu erstellen.
Abbildung des Werkzeugs
  1. Klicken Sie mit der rechten Maustaste auf den Ziel-Layer, und klicken Sie auf Verbindungen und Beziehungen > Verbindung hinzufügen.
  2. Wählen Sie Eingabe-Join-Feld als gewünschtes Feld aus.
  3. Wählen Sie als Join-Tabelle die in Schritt 5 erstellte Tabelle aus.
  4. Geben Sie das Ausgabe-Join-Feld an, und führen Sie das Werkzeug aus. Das gewünschte Feld und das Häufigkeitsfeld in der verbundenen Tabelle enthalten Informationen zu doppelten Datensätzen. Wenn das numerische eindeutige Feld für das Verknüpfen der Tabellen ausgewählt wurde, enthält die verbundene Ausgabetabelle nur eindeutige Datensätze.
Abbildung des Bereichs

Artikel-ID:000023355

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden