Feature-Vergleich (Data Management)

Zusammenfassung

Vergleicht zwei Feature-Classes oder Layer und gibt die Vergleichsergebnisse zurück.

Verwendung

  • Mit diesem Werkzeug werden Meldungen mit den Vergleichsergebnissen zurückgegeben. Standardmäßig wird das Werkzeug angehalten, sobald es den ersten Unterschied zwischen den Eingaben feststellt. Sollen alle Abweichungen in den Bericht aufgenommen werden, aktivieren Sie den Parameter Vergleich fortsetzen.

  • Wenn die Unterschiede im Bericht zwischen den Eingabe-Datasets auf das Hinzufügen oder Löschen von Datensätzen zurückzuführen sind, ist nur der erste berichtete Unterschied gültig. Alle Unterschiede im Bericht, die nach dem Hinzufügen oder Löschen aufgeführt werden, sind darauf zurückzuführen, dass der Vergleich nicht der Sequenz der vorgesehenen Reihenfolge entspricht. Die Vergleichswerkzeuge versuchen nicht, den nächsten Satz übereinstimmender Datensätze zu finden, nachdem ein hinzugefügter oder gelöschter Datensatz gefunden wurde.

  • Dieses Werkzeug kann Abweichungen in Geometrie, Tabellenwerten, Raumbezügen und Felddefinitionen ausgeben.

  • Es können mehrere Sortierfelder angegeben werden. Das erste Feld wird sortiert, das zweite Feld wird sortiert usw. (in aufsteigender Reihenfolge). Wenn Sie nach einem gemeinsamen Feld in beiden Eingabe-Datasets sortieren, können Sie sicherstellen, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird.

  • Für den Parameter Vergleichstyp ist standardmäßig Alle festgelegt. Das heißt, dass alle Eigenschaften der verglichenen Features geprüft werden, einschließlich Raumbezug, Feldeigenschaften, Attributen und Geometrie. Geben Sie einen anderen Vergleichstyp an, um bestimmte Eigenschaften der Features zu vergleichen.

  • Mit dem Parameter Ausschlussoptionen können Eigenschaften wie Messwertattribute, Z-Attribute, Punkt-ID-Attribute und Erweiterungseigenschaften ausgeschlossen werden. Zwei Feature-Classes sind möglicherweise identisch, trotzdem kann eine über Messwerte und Z-Koordinaten verfügen und die andere nicht. Die Option Erweiterungseigenschaften ignorieren bezieht sich auf zusätzliche Informationen, die einer Feature-Class oder Tabelle hinzugefügt werden. So können beispielsweise die Features von zwei Annotation-Feature-Classes identisch sein, die Feature-Classes können jedoch über verschiedene Erweiterungseigenschaften verfügen, wie zum Beispiel verschiedene Symbole in der Symbolsammlung und unterschiedliches Bearbeitungsverhalten.

  • Die Standard-Parameterwert XY-Toleranz wird durch die Standard-XY-Toleranz des Parameterwertes Eingabe-Basis-Features definiert. Um Fehler auf ein Minimum zu reduzieren, sollte der für die Vergleichstoleranz verwendete Wert so klein wie möglich sein. Wenn ein Wert von 0 angegeben wird, erfolgt eine exakte Übereinstimmung.

  • Die Standard-Parameterwerte M-Toleranz und Z-Toleranz werden durch die Standard-M-Toleranz und die Standard-Z-Toleranz des Parameterwertes Eingabe-Basis-Features definiert. Die Einheiten sind mit den Einheiten des Parameterwertes Eingabe-Basis-Features identisch. Wenn ein Wert von 0 angegeben wird, erfolgt eine exakte Übereinstimmung.

  • Wenn die Option Nur Geometrie für den Parameter Vergleichstyp verwendet wird, müssen die Raumbezüge übereinstimmen. Wenn die Raumbezüge für die Eingaben nicht identisch sind, wird ein Unterschied zwischen den Eingaben ausgegeben. Wenn die Koordinatensysteme für die Eingaben nicht identisch sind, werden die Features als unterschiedlich betrachtet. Dieses Werkzeug führt keine Projektion der Features "on-the-fly" durch.

  • Bei dem Parameter Felder weglassen handelt es sich um eine Liste der Felder, die nicht in den Vergleich der Feldanzahl einbezogen werden. Die Felddefinitionen und Tabellenwerte für diese Felder werden ignoriert.

  • Attributtoleranzen können nur für Zahlenfelder angegeben werden.

  • Der Parameterwert Ausgabe-Vergleichsdatei enthält alle Ähnlichkeiten und Unterschiede zwischen den Eingabe-Datasets. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann. Sie kann beispielsweise abgefragt werden, um alle ObjectID-Werte für alle abweichenden Zeilen abzurufen. Das has_error-Feld zeigt an, dass der Datensatz einen Fehler enthält. Der Wert True weist auf einen Unterschied hin.

  • Bei Verwendung des Werkzeuges in Python können Sie den Vergleichsstatus aus dem zurückgegebenen Objekt Result unter Verwendung der Indexposition 1 abrufen.(result[1]). Der Wert lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden.

    Weitere Informationen zum Verwenden von Werkzeugen in Python

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Basis-Features

Die Daten werden mit dem Parameterwert Eingabe-Test-Features verglichen. Bei diesem Parameterwert handelt es sich um die Daten, die Sie als gültig deklariert haben. Die Basisdaten verfügen über den richtigen Inhalt und die richtigen Informationen.

Feature Layer
Eingabe-Test-Features

Die Daten werden mit dem Parameterwert Eingabe-Basis-Features verglichen. Bei diesem Parameterwert handelt es sich um Daten, an denen Sie durch Bearbeiten oder Kompilieren neuer Informationen Änderungen vorgenommen haben.

Feature Layer
Sortierfeld

Das Feld bzw. die Felder, die zur Sortierung von Datensätzen in den Eingaben verwendet werden. Die Datensätze werden in aufsteigender Reihenfolge sortiert. Wenn Sie nach einem gemeinsamen Feld in beiden Eingaben sortieren, können Sie sicherstellen, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird.

Value Table
Vergleichstyp
(optional)

Gibt den verwendeten Vergleichstyp an.

  • AlleAlle Eigenschaften der Feature-Classes werden verglichen. Dies ist die Standardeinstellung.
  • Nur GeometrieNur die Geometrien der Feature-Classes werden verglichen.
  • Nur AttributeNur die Attribute und ihre Werte der Feature-Classes werden verglichen.
  • Nur SchemaNur das Schema der Feature-Classes wird verglichen.
  • Nur Raumbezugs-IDNur die Raumbezüge der beiden Feature-Classes werden verglichen.
String
Ausschlussoptionen
(optional)

Gibt die Eigenschaften an, die nicht verglichen werden.

  • M-Werte ignorierenMesswerteigenschaften werden nicht verglichen.
  • Z-Werte ignorierenHöheneigenschaften werden nicht verglichen.
  • PointIDs ignorierenPunkt-ID-Eigenschaften werden nicht verglichen.
  • Erweiterungseigenschaften ignorierenErweiterungseigenschaften werden nicht verglichen.
  • Subtypes ignorierenSubtypes werden nicht verglichen.
  • Beziehungsklassen ignorierenBeziehungsklassen werden nicht verglichen.
  • Repräsentationsklassen ignorierenRepräsentationsklassen werden nicht verglichen.
  • Feld-Alias ignorierenFeldaliasnamen werden nicht verglichen.
String
XY-Toleranz
(optional)

Die Entfernung, die den Bereich bestimmt, in welchem die Features als identisch betrachtet werden. Damit Fehler auf ein Minimum reduziert werden, sollte der Parametwert so niedrig wie möglich sein. Die Vergleichstoleranz ist standardmäßig die XY-Toleranz der Eingabe-Basis-Features.

Linear Unit
M-Toleranz
(optional)

Die minimale Entfernung zwischen Messwerten, ehe sie als gleich betrachtet werden.

Double
Z-Toleranz
(optional)

Die minimale Entfernung zwischen Z-Koordinaten, ehe sie als gleich betrachtet werden.

Double
Attributtoleranz
(optional)

Der numerische Wert, mit dem festgelegt wird, in welchem Bereich Attributwerte als gleich betrachtet werden. Dieser Parameter ist nur für Zahlenfelder relevant.

Value Table
Felder weglassen
(optional)

Das Feld beziehungsweise die Felder, die beim Vergleich übergangen werden. Die Felddefinitionen und die Tabellenwerte für diese Felder werden ignoriert.

String
Vergleich fortsetzen
(optional)

Gibt an, ob der Vergleich fortgesetzt wird, nachdem der erste Unterschied zwischen den Eingaben festgestellt wurde.

  • Deaktiviert: Das Werkzeug hält an, sobald der erste Unterschied gefunden wurde. Dies ist die Standardeinstellung.
  • Aktiviert: Die Ausführung des Werkzeugs wird fortgesetzt, nachdem der erste Unterschied gefunden wurde.

Boolean
Ausgabe-Vergleichsdatei
(optional)

Die Ausgabedatei, die alle Ähnlichkeiten und Unterschiede zwischen den Eingaben enthält. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann.

Die Ausgabedatei, die alle Ähnlichkeiten und Unterschiede zwischen den Eingaben enthält. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann.

File

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Vergleichsstatus

Der Vergleichsstatus lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden.

Boolean

arcpy.management.FeatureCompare(in_base_features, in_test_features, sort_field, {compare_type}, {ignore_options}, {xy_tolerance}, {m_tolerance}, {z_tolerance}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
NameErläuterungDatentyp
in_base_features

Die Daten werden mit dem Parameterwert in_test_features verglichen. Bei diesem Parameterwert handelt es sich um die Daten, die Sie als gültig deklariert haben. Die Basisdaten verfügen über den richtigen Inhalt und die richtigen Informationen.

Feature Layer
in_test_features

Die Daten werden mit dem Parameterwert in_base_features verglichen. Bei diesem Parameterwert handelt es sich um Daten, an denen Sie durch Bearbeiten oder Kompilieren neuer Informationen Änderungen vorgenommen haben.

Feature Layer
sort_field
[sort_field,...]

Das Feld bzw. die Felder, die zur Sortierung von Datensätzen in den Eingaben verwendet werden. Die Datensätze werden in aufsteigender Reihenfolge sortiert. Wenn Sie nach einem gemeinsamen Feld in beiden Eingaben sortieren, können Sie sicherstellen, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird.

Value Table
compare_type
(optional)

Gibt den verwendeten Vergleichstyp an.

  • ALLAlle Eigenschaften der Feature-Classes werden verglichen. Dies ist die Standardeinstellung.
  • GEOMETRY_ONLYNur die Geometrien der Feature-Classes werden verglichen.
  • ATTRIBUTES_ONLYNur die Attribute und ihre Werte der Feature-Classes werden verglichen.
  • SCHEMA_ONLYNur das Schema der Feature-Classes wird verglichen.
  • SPATIAL_REFERENCE_ONLYNur die Raumbezüge der beiden Feature-Classes werden verglichen.
String
ignore_options
[ignore_options,...]
(optional)

Gibt die Eigenschaften an, die nicht verglichen werden.

  • IGNORE_MMesswerteigenschaften werden nicht verglichen.
  • IGNORE_ZHöheneigenschaften werden nicht verglichen.
  • IGNORE_POINTIDPunkt-ID-Eigenschaften werden nicht verglichen.
  • IGNORE_EXTENSION_PROPERTIESErweiterungseigenschaften werden nicht verglichen.
  • IGNORE_SUBTYPESSubtypes werden nicht verglichen.
  • IGNORE_RELATIONSHIPCLASSESBeziehungsklassen werden nicht verglichen.
  • IGNORE_REPRESENTATIONCLASSESRepräsentationsklassen werden nicht verglichen.
  • IGNORE_FIELDALIASFeldaliasnamen werden nicht verglichen.
String
xy_tolerance
(optional)

Die Entfernung, die den Bereich bestimmt, in welchem die Features als identisch betrachtet werden. Damit Fehler auf ein Minimum reduziert werden, sollte der Parametwert so niedrig wie möglich sein. Die Vergleichstoleranz ist standardmäßig die XY-Toleranz der Eingabe-Basis-Features.

Linear Unit
m_tolerance
(optional)

Die minimale Entfernung zwischen Messwerten, ehe sie als gleich betrachtet werden.

Double
z_tolerance
(optional)

Die minimale Entfernung zwischen Z-Koordinaten, ehe sie als gleich betrachtet werden.

Double
attribute_tolerances
[[Field, {Tolerance}],...]
(optional)

Der numerische Wert, mit dem festgelegt wird, in welchem Bereich Attributwerte als gleich betrachtet werden. Dieser Parameter ist nur für Zahlenfelder relevant.

Value Table
omit_field
[omit_field,...]
(optional)

Das Feld beziehungsweise die Felder, die beim Vergleich übergangen werden. Die Felddefinitionen und die Tabellenwerte für diese Felder werden ignoriert.

String
continue_compare
(optional)

Gibt an, ob der Vergleich fortgesetzt wird, nachdem der erste Unterschied zwischen den Eingaben festgestellt wurde.

  • NO_CONTINUE_COMPAREDas Werkzeug hält an, sobald der erste Unterschied gefunden wurde. Dies ist die Standardeinstellung.
  • CONTINUE_COMPAREDie Ausführung des Werkzeugs wird fortgesetzt, nachdem der erste Unterschied gefunden wurde.
Boolean
out_compare_file
(optional)

Die Ausgabedatei, die alle Ähnlichkeiten und Unterschiede zwischen den Eingaben enthält. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann.

File

Abgeleitete Ausgabe

NameErläuterungDatentyp
compare_status

Der Vergleichsstatus lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden.

Boolean

Codebeispiel

FeatureCompare: Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion FeatureCompare im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.management.FeatureCompare(
    'C:/Workspace/baseroads.shp', 'C:/Workspace/newroads.shp', 'ROAD_ID', 
    'ALL', ['IGNORE_M', 'IGNORE_Z'], '0.001 METERS', 0, 0,
    [['Shape_Length', 0.001]], '#', 'CONTINUE_COMPARE',
    'C:/Workspace/roadcompare.txt')
FeatureCompare: Beispiel 2 (eigenständiges Skript)

Das folgende Beispiel veranschaulicht, wie die Funktion FeatureCompare in einem eigenständigen Skript verwendet wird.

# Name: FeatureCompare.py
# Description: Compare two feature classes and return comparison result.

# Import system modules 
import arcpy

# Set local variables
base_features = "C:/Workspace/baseroads.shp"
test_features = "C:/Workspace/newroads.shp"
sort_field = "ROAD_ID"
compare_type = "ALL"
ignore_option = ["IGNORE_M", "IGNORE_Z"]
xy_tolerance = "0.001 METERS"
m_tolerance = 0
z_tolerance = 0
attribute_tolerance = [["Shape_Length", 0.001]]
omit_field = "#"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/roadcompare.txt"
 
# Process: FeatureCompare
compare_result = arcpy.management.FeatureCompare(
    base_features, test_features, sort_field, compare_type, ignore_option, 
    xy_tolerance, m_tolerance, z_tolerance, attribute_tolerance, omit_field, 
    continue_compare, compare_file)

print(compare_result[1])
print(arcpy.GetMessages())

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Verwandte Themen