Tabelle zu Beziehungsklasse (Data Management)

Zusammenfassung

Erstellt eine Beziehungsklasse mit Attributen aus den Quell-, Ziel- und Beziehungstabellen.

Verwendung

  • Mit diesem Werkzeug wird eine Tabelle in der Datenbank erstellt, die die ausgewählten Attributfelder der Beziehungstabelle enthält. Diese Felder werden zum Speichern von Attributen der Beziehung selbst verwendet, die nicht der Ursprungs- oder Zielklasse zugeordnet sind. Beispiel: In einer Flurstücksdatenbank gibt es eine Beziehungsklasse zwischen Flurstücken und Eigentümern, in der die Eigentümer Flurstücke "besitzen" und die Flurstücke Eigentümern "gehören". Ein Attribut dieser Beziehung könnte der Besitzanteil der einzelnen Eigentümer sein.

  • Einfache oder Peer-to-Peer-Beziehungen sind Beziehungen zwischen zwei oder mehr Objekten in der Datenbank, die unabhängig voneinander existieren. Beispiel: In einem Eisenbahnnetz gibt es Bahnübergänge, an denen eine oder mehrere verbundene Signalanlagen angebracht sind. Der Bahnübergang kann jedoch auch ohne eine Signalanlage existieren und Signalanlagen existieren im Eisenbahnnetz auch dort, wo es keine Bahnübergänge gibt. Einfache Beziehungen können die Beziehungsarten Eins-zu-eins (1:1), Eins-zu-viele (1:M), Viele-zu-eins (M:1) und Viele-zu-viele (N:M) aufweisen.

  • Eine abhängige Beziehung ist eine Beziehung, bei der die Lebensdauer eines Objektes über die Lebensdauer der verbundenen Objekte entscheidet. So stützen beispielsweise Strommasten Transformatoren und Transformatoren werden an Strommasten angebracht. Wenn ein Mast gelöscht wird, wird eine Meldung darüber an die entsprechenden Transformatoren übermittelt, die dann aus der Feature-Class der Transformatoren gelöscht werden. Abhängige Beziehungen sind immer vom Typ "Eins-zu-viele".

  • Vorwärts- und Rückwärts-Pfadbeschriftungen beschreiben die Beziehung, wenn man von einem Objekt zu einem anderen navigiert. Die Vorwärts-Pfadbeschriftung beschreibt die Beziehung beim Navigieren von der Quell- zur Zielklasse. Im Beispiel mit dem Strommast und dem Transformator kann die Vorwärts-Pfadbeschriftung folgendermaßen lauten: Masten stützen Transformatoren. Die Rückwärts-Pfadbeschriftung beschreibt die Beziehung beim Navigieren von der Ziel- zur Quellklasse. Im Beispiel mit dem Strommast und dem Transformator kann die Rückwärts-Pfadbeschriftung folgendermaßen lauten: Transformatoren werden an Masten angebracht.

Syntax

arcpy.management.TableToRelationshipClass(origin_table, destination_table, out_relationship_class, relationship_type, forward_label, backward_label, message_direction, cardinality, relationship_table, attribute_fields, origin_primary_key, origin_foreign_key, destination_primary_key, destination_foreign_key)
ParameterErklärungDatentyp
origin_table

Die Tabelle oder Feature-Class, die der Zieltabelle zugeordnet wird.

Table View
destination_table

Die Tabelle oder Feature-Class, die der Quelltabelle zugeordnet wird.

Table View
out_relationship_class

Die erstellte Beziehungsklasse.

Relationship Class
relationship_type

Die zwischen Ursprungs- und Zieltabelle zu erstellende Verbindungsart.

  • SIMPLEEine Verbindung, bei der alle Objekte voneinander unabhängig sind (eine Beziehung zwischen Parent-Objekten). Dies ist die Standardeinstellung.
  • COMPOSITEEine Beziehung, bei der die Lebensdauer eines Objekts über die Lebensdauer der verbundenen Objekte entscheidet (Beziehung zwischen Parent- und Child-Objekten).
String
forward_label

Eine Beschriftung, mit der die Beziehung beim Übergang von der Ursprungstabelle/Feature-Class zur Zieltabelle/Feature-Class beschrieben wird.

String
backward_label

Eine Beschriftung, mit der die Beziehung beim Übergang von der Zieltabelle/Feature-Class zur Ursprungstabelle/Feature-Class beschrieben wird.

String
message_direction

Die Richtung, in die Meldungen zwischen den Objekten in einer Beziehung übermittelt werden Beispiel: In einer Beziehung zwischen Masten und Transformatoren wird vom Mast, sobald er gelöscht wird, eine Nachricht an die mit ihm in Beziehung stehenden Transformatorobjekte gesendet, um sie darüber zu informieren.

  • NONEEs werden keine Meldungen übermittelt. Dies ist die Standardeinstellung.
  • FORWARDMeldungen werden von der Quelle zum Ziel weitergeleitet.
  • BACKWARDMeldungen werden vom Ziel zur Quelle weitergeleitet.
  • BOTHMeldungen werden von der Quelle zum Ziel und vom Ziel zur Quelle übermittelt.
String
cardinality

Die Art der Beziehung zwischen dem Ursprung und dem Ziel.

  • ONE_TO_ONEJedes Objekt der Quelltabelle/-Feature-Class kann mit keinem oder einem Objekt in der Zieltabelle/Feature-Class in Beziehung gesetzt werden. Dies ist die Standardeinstellung.
  • ONE_TO_MANYJedes Objekt der Quelltabelle/Feature-Class kann mit mehreren Objekten in der Zieltabelle/Feature-Class in Beziehung gesetzt werden.
  • MANY_TO_MANYMehrere Objekte der Quelltabelle/Feature-Class können mit mehreren Objekten in der Zieltabelle/Feature-Class in Beziehung gesetzt werden.
String
relationship_table

Die Tabelle mit Attributen, die der Beziehungsklasse hinzugefügt werden.

Table View
attribute_fields
[attribute_fields,...]

Die Felder mit Attributwerten, die der Beziehungsklasse hinzugefügt werden.

Field
origin_primary_key

Das Feld in der Ursprungstabelle, das zum Erstellen der Beziehung verwendet wird. Normalerweise ist dies das Feld mit der Objekt-ID.

String
origin_foreign_key

Der Name des Feldes "Fremdschlüssel" der Beziehungstabelle, der sich auf das Feld "Primärschlüssel" in der Quelltabelle/Feature Class bezieht.

String
destination_primary_key

Das Feld in der Zieltabelle, das zum Erstellen der Beziehung verwendet wird. Normalerweise ist dies das Feld mit der Objekt-ID.

String
destination_foreign_key

Das Feld in der Beziehungstabelle, das sich auf das Feld "Primärschlüssel" in der Zieltabelle bezieht.

String

Codebeispiel

TableToRelationshipClass – Beispiel (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht die Verwendung des Werkzeugs "TableToRelationshipClass".

import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.TableToRelationshipClass_management("owners", "Parcels", "ownersParcels_RelClass",
                                          "SIMPLE", "Owns", "Is Owned By", "BACKWARD",
                                          "MANY_TO_MANY", "owners", ["OWNER_PERCENT", "DEED_DATE"],
                                          "OBJECTID", "owner_id", "OBJECTID", "parcel_id")
TableToRelationshipClass – Beispiel (eigenständiges Skript)

Es wird eine attributierte Beziehungsklasse zwischen einer Parcel-Feature-Class und einer Tabelle mit Besitzerinformationen erstellt.

# Name: TableToRelationshipClass.py
# Description: Create an attributed relationship class between parcels
#              feature class and table with owner information
# Author: ESRI

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Copy owners.dat to file gdb table, since both tables to be related
# must be in the same database
ownerDat = "owners.dat"
ownerTbl = "Montgomery.gdb/owners"
arcpy.CopyRows_management(ownerDat, ownerTbl)

# Create attributed relationship class between 'parcel' parcel layer
# and 'owner' table with additional parcel owner information
parcel = "Montgomery.gdb/Parcels"
relClass = "Montgomery.gdb/parcelowners_RelClass"
forLabel = "Owns"
backLabel = "Is Owned By"
attributeFields = ["OWNER_PERCENT", "DEED_DATE"]
originPK = "OBJECTID"
originFK = "owner_ID"
destinationPK = "OBJECTID"
destinationFK = "parcel_ID"
arcpy.TableToRelationshipClass_management(ownerTbl, parcel, relClass, "SIMPLE",
                                          forLabel, backLabel, "BACKWARD", "MANY_TO_MANY",
                                          ownerTbl, attributeFields, originPK, originFK,
                                          destinationPK, destinationFK)

Lizenzinformationen

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

Verwandte Themen