Tabelle zu Beziehungsklasse (Data Management)

Zusammenfassung

ArcGIS-Geoverarbeitungswerkzeug zum Erstellen einer attribuierten Beziehungsklasse aus den Quell-, Ziel- und Beziehungstabellen.

Verwendung

  • Dieses Werkzeug erstellt in der Datenbank eine Tabelle mit den ausgewählten Attributfeldern der Beziehungstabelle. In diesen Feldern werden Attribute der Beziehung gespeichert, die nicht der Quell- oder Zielklasse zugeordnet sind. Beispiel: In einer Flurstücksdatenbank gibt es eine Beziehungsklasse zwischen Flurstücken und Besitzern, in der die Besitzer Flurstücke besitzen und die Flurstücke Besitzern gehören. Ein Attribut dieser Beziehung kann der Besitzanteil der einzelnen Besitzer 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 Objekts über die Lebensdauer der verbundenen Objekte entscheidet. Beispiel: Strommasten stützen 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 Strommast und 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 Strommast und Transformator kann die Rückwärts-Pfadbeschriftung folgendermaßen lauten: Transformatoren werden an Masten angebracht.

Parameter

BeschriftungErläuterungDatentyp
Quelltabelle

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

Table View
Zieltabelle

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

Table View
Ausgabe-Beziehungsklasse

Die erstellte Beziehungsklasse.

Relationship Class
Beziehungstyp

Gibt den Typ der Zuordnung an, die zwischen Quell- und Zieltabelle erstellt werden soll.

  • EinfachDabei sind alle Objekte unabhängig voneinander (Parent-zu-Parent-Beziehung). Dies ist die Standardeinstellung.
  • AbhängigDie Lebensdauer eines Objekts bestimmt die Lebensdauer des in Beziehung stehenden Objekts (Parent-zu-Child-Beziehung).
String
Vorwärts-Pfadbeschriftung

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

String
Rückwärts-Pfadbeschriftung

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

String
Meldungsrichtung

Gibt an, in welche Richtung Meldungen zwischen Objekten in der Beziehung weitergegeben 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.

  • Keine (es werden keine Meldungen übermittelt)Es werden keine Meldungen weitergegeben. Dies ist die Standardeinstellung.
  • Vorwärts (Quelle zu Ziel)Meldungen werden von der Quelle zum Ziel weitergegeben.
  • Rückwärts (Ziel zu Quelle)Meldungen werden vom Ziel zur Quelle weitergegeben.
  • Beide RichtungenMeldungen werden von der Quelle zum Ziel und vom Ziel zur Quelle weitergegeben.
String
Beziehungsart

Gibt die Art der Beziehung zwischen der Quelle und dem Ziel an.

  • Eins zu eins (1 : 1)Jedes Objekt der Quelltabelle oder -Feature-Class kann mit keinem oder einem Objekt der Zieltabelle oder -Feature-Class verbunden sein. Dies ist die Standardeinstellung.
  • Eins-zu-viele (1:M)Jedes Objekt der Quelltabelle oder -Feature-Class kann mit mehreren Objekten in der Zieltabelle oder -Feature-Class verbunden sein.
  • Viele-zu-viele (M:N)Mehrere Objekte der Quelltabelle oder -Feature-Class können mit mehreren Objekten in der Zieltabelle oder -Feature-Class verbunden sein.
String
Beziehungstabelle

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

Table View
Attributfelder

Die Namen der Felder mit Attributwerten, die der Beziehungsklasse hinzugefügt werden. Die Felder müssen im Parameterwert Beziehungstabelle vorhanden sein.

Field
Quell-Primärschlüssel

Das Feld in der Quelltabelle, das zum Erstellen der Beziehung verwendet wird.

String
Quell-Fremdschlüssel

Der Name des Feldes in der Beziehungstabelle, der sich auf das Feld in der Quelltabelle oder Feature Class bezieht. Bei tabellenbasierten Beziehungsklassen werden diese Werte zum Füllen der Beziehungen in den Beziehungsklassen verwendet, sodass sie nicht NULL sein können.

String
Ziel-Primärschlüssel

Das Feld in der Zieltabelle, das zum Erstellen der Beziehung verwendet wird.

String
Ziel-Fremdschlüssel

Das Feld in der Beziehungstabelle, das sich auf das Primärschlüsselfeld in der Zieltabelle oder Feature Class bezieht. Bei tabellenbasierten Beziehungsklassen werden diese Werte zum Füllen der Beziehungen in den Beziehungsklassen verwendet, sodass sie nicht NULL sein können.

String

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)
NameErläuterungDatentyp
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

Gibt den Typ der Zuordnung an, die zwischen Quell- und Zieltabelle erstellt werden soll.

  • SIMPLEDabei sind alle Objekte unabhängig voneinander (Parent-zu-Parent-Beziehung). Dies ist die Standardeinstellung.
  • COMPOSITEDie Lebensdauer eines Objekts bestimmt die Lebensdauer des in Beziehung stehenden Objekts (Parent-zu-Child-Beziehung).
String
forward_label

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

String
backward_label

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

String
message_direction

Gibt an, in welche Richtung Meldungen zwischen Objekten in der Beziehung weitergegeben 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 weitergegeben. Dies ist die Standardeinstellung.
  • FORWARDMeldungen werden von der Quelle zum Ziel weitergegeben.
  • BACKWARDMeldungen werden vom Ziel zur Quelle weitergegeben.
  • BOTHMeldungen werden von der Quelle zum Ziel und vom Ziel zur Quelle weitergegeben.
String
cardinality

Gibt die Art der Beziehung zwischen der Quelle und dem Ziel an.

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

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

Table View
attribute_fields
[attribute_fields,...]

Die Namen der Felder mit Attributwerten, die der Beziehungsklasse hinzugefügt werden. Die Felder müssen im Parameterwert relationship_table vorhanden sein.

Field
origin_primary_key

Das Feld in der Quelltabelle, das zum Erstellen der Beziehung verwendet wird.

String
origin_foreign_key

Der Name des Feldes in der Beziehungstabelle, der sich auf das Feld in der Quelltabelle oder Feature Class bezieht. Bei tabellenbasierten Beziehungsklassen werden diese Werte zum Füllen der Beziehungen in den Beziehungsklassen verwendet, sodass sie nicht NULL sein können.

String
destination_primary_key

Das Feld in der Zieltabelle, das zum Erstellen der Beziehung verwendet wird.

String
destination_foreign_key

Das Feld in der Beziehungstabelle, das sich auf das Primärschlüsselfeld in der Zieltabelle oder Feature Class bezieht. Bei tabellenbasierten Beziehungsklassen werden diese Werte zum Füllen der Beziehungen in den Beziehungsklassen verwendet, sodass sie nicht NULL sein können.

String

Codebeispiel

TableToRelationshipClass – Beispiel (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie Sie die Funktion TableToRelationshipClass verwenden.

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)

Erstellt eine attribuierte Beziehungsklasse zwischen einer Parcel-Feature-Class und einer Tabelle mit Besitzerinformationen.

# 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)

Verwandte Themen