Beziehung hinzufügen (Data Management)

Zusammenfassung

Setzt einen Layer mit einem anderen Layer oder mit einer Tabelle basierend auf einem Feldwert in Beziehung. Feature-Layer, Tabellensichten und Raster-Layer mit einer Raster-Attributtabelle werden unterstützt.

Die Datensätze aus der Beziehungstabelle werden den Datensätzen aus der Eingabe für Layer-Name oder Tabellensicht zugeordnet. Eine Übereinstimmung tritt auf, wenn das Eingabe-Beziehungsfeld und das Ausgabe-Beziehungsfeld gleich sind. Beziehungen ändern keine Daten, sie sind eine Eigenschaft des Layers.

Verwendung

  • Wenn es sich bei der Eingabe um eine Feature-Class oder einen Dataset-Pfad handelt, wird von diesem Werkzeug mit dem Ergebnis des angewendeten Werkzeugs automatisch ein neuer Layer erstellt und zurückgegeben.

  • Datensätze aus der Relate-Tabelle können mehr als einem Datensatz aus dem Eingabe-Layer oder der Tabellensicht zugeordnet werden.

  • Die Beziehungstabelle kann als eine Geodatabase-Tabelle oder eine dBASE-Datei erstellt werden. Die Beziehungstabelle muss kein Layer sein.

  • Die Eingabe muss ein ObjectID-Feld aufweisen. Die Beziehungstabelle muss kein ObjectID-Feld enthalten.

  • Wenn Sie die Beziehung für ein anderes Projekt speichern möchten, speichern Sie den Layer mit dem Werkzeug In Layer-Datei speichern als Layer-Datei. Dies gilt jedoch nur für Layer. Tabellensichten können auf diese Weise nicht gespeichert werden.

  • Um eine permanente Beziehung zu erstellen, verwenden Sie das Werkzeug Beziehungsklasse erstellen.

  • Die Indizierung der Felder in dem Eingabe-Layer bzw. der Tabellensicht und Beziehungstabelle, auf denen die Beziehung basiert, kann zu einer Performance-Steigerung beitragen. Dies kann mit dem Werkzeug Attributindex hinzufügen erfolgen.

Syntax

arcpy.management.AddRelate(in_layer_or_view, in_field, relate_table, relate_field, relate_name, {cardinality})
ParameterErklärungDatentyp
in_layer_or_view

Der Layer oder die Tabellensicht, mit dem bzw. der die Beziehungstabelle in Beziehung gesetzt wird.

Mosaic Layer; Raster Layer; Table View
in_field

Das Feld im Eingabe-Layer oder in der Tabellensicht, auf dem die Beziehung basiert.

Field
relate_table

Die Tabelle oder Tabellensicht, mit der der Eingabe-Layer oder die Tabellensicht in Beziehung gesetzt wird.

Mosaic Layer; Raster Layer; Table View
relate_field

Das Feld in der Beziehungstabelle, das die Werte enthält, auf denen die Beziehung basiert.

Field
relate_name

Der eindeutige Name für eine Beziehung.

String
cardinality
(optional)

Die Beziehungsart.

  • ONE_TO_ONEGibt an, dass die Beziehung zwischen der Eingabetabelle und der in Beziehung stehenden Tabelle vom Typ "Eins-zu-eins" ist. Ein Datensatz in der Eingabetabelle weist beispielsweise nur einen übereinstimmenden Datensatz in der in Beziehung stehenden Tabelle auf.
  • ONE_TO_MANYGibt an, dass die Beziehung zwischen der Eingabetabelle und der in Beziehung stehenden Tabelle vom Typ "Eins-zu-viele" ist. Ein Datensatz in der Eingabetabelle kann beispielsweise mehrere übereinstimmende Datensätze in der in Beziehung stehenden Tabelle aufweisen. Dies ist die Standardeinstellung.
  • MANY_TO_MANYGibt an, dass die Beziehung zwischen der Eingabetabelle und der in Beziehung stehenden Tabelle vom Typ "Viele-zu-viele" ist. Viele Datensätze mit demselben Wert in der Eingabetabelle können beispielsweise mehrere übereinstimmende Datensätze in der in Beziehung stehenden Tabelle aufweisen.
String

Abgeleitete Ausgabe

NameErklärungDatentyp
out_layer_or_view

Das aktualisierte Eingabe-Dataset.

Tabellensicht; Raster-Layer; Mosaik-Layer

Codebeispiel

AddRelate - Beispiel 1 (Python-Fenster)

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

import arcpy
relate = arcpy.AddRelate_management("Parcel", "ParcelID", "owner_table", 
                                    "ParcelID", "Owner2Parcel")

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen