ArcGIS for Desktop

  • Dokumentation
  • Preise
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS for Desktop

Ein vollständiges professionelles GIS

ArcGIS for Server

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Preise
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr...

Beziehungsklasse migrieren

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebung
  • Lizenzierungsinformationen

Zusammenfassung

Migriert eine ObjectID-basierte Beziehungsklasse in eine GlobalID-basierte Beziehungsklasse.

Verwendung

  • Mit diesem Werkzeug wird eine vorhandene ObjectID-basierte Beziehungsklasse in eine GlobalID-basierte Beziehungsklasse geändert, um Geodatabase-Laufzeitanforderungen zu erfüllen.

  • Die Ursprungs-Feature-Class oder -Tabelle, die Teil der Eingabe-Beziehungsklasse ist, muss über ein GlobalID-Feld verfügen, damit dieses Werkzeug verwendet werden kann. Die Zielklasse muss auch über ein GlobalID-Feld verfügen.

  • Die vorhandene Eingabe-Beziehungsklasse muss ObjectID-basiert sein. Die Daten sind möglicherweise nicht für die Archivierung aktiviert.

  • Dieses Werkzeug unterstützt versionierte und nicht versionierte Daten als Eingabe.

  • Feature-bezogene Annotation-Beziehungsklassen werden nicht als Eingabe für dieses Werkzeug unterstützt, da diese Beziehungen ObjectID-basiert bleiben müssen.

  • Es wird empfohlen, eine Sicherungskopie der Daten zu erstellen, die als Eingabe für dieses Werkzeug verwendet werden.

Syntax

MigrateRelationshipClass_management (in_relationship_class)
ParameterErläuterungDatentyp
in_relationship_class

ObjectID-basierte Beziehungsklasse, die in eine GlobalID-basierte Beziehungsklasse migriert wird. Die Ursprungs- und Ziel-Feature-Classes oder -Tabellen müssen bereits über GlobalIDs verfügen.

Relationship Class

Codebeispiel

MigrateRelationshipClass – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug "MigrateRelationshipClass" im unmittelbaren Modus verwendet wird.

arcpy.MigrateRelationshipClass_management(r'C:\Data\Relationships.gdb\OneToMany')
MigrateRelationshipClass – Beispiel 2 (eigenständiges Skript)

Das folgende Skript veranschaulicht, wie das Werkzeug "MigrateRelationshipClass" in einem eigenständigen Skript verwendet wird.

# Name: MigrateRelationshipClass_Example.py
# Description: Migrate an ObjectID-based relationship class to a GlobalID-based
#       relationship class. This script lists the ObjectID-based relationships classes
#       in a workspace, checks for GlobalIDs in the origin, then runs the tool

# Import system modules
import arcpy

# Set local variables
workspace = r'C:\Data\Relationships.gdb'

# List all of the relationship classes within the given workspace
rc_list = [c.name for c in arcpy.Describe(workspace).children if c.datatype == "RelationshipClass"]

# Build a list of relationship classes which have an OBJECTID based origin class key
rc_migrate = []
for rc in rc_list:
    rc_path = workspace + "\\" + rc
    rc_desc = arcpy.Describe(rc_path)
    for item in rc_desc.OriginClassKeys:
        if "OBJECTID" in item:
            rc_migrate.append(rc_path)

# Check that the origin feature classes have Global Ids
rc_final = []
for rel in rc_migrate:
    originfc = workspace + "\\" + arcpy.Describe(rel).originClassNames[0]
    if arcpy.ListFields(originfc,"","GlobalID"):
        rc_final.append(rel)
        print("Adding {0}  to the list to migrate. \n".format(rel.rsplit("\\",1)[1]))
    else:
        print("{0} must have Global Ids to migrate relationship class.\n".format(originfc.rsplit("\\",1)[1]))

# Pass the list of valid relationship classes into the Migrate Relationship tool
print("Passing valid relationship classes into the Migrate Relationship Class tool.\n")
for rel_class in rc_final:
    print("Migrating {0}... \n".format(rel_class.rsplit("\\",1)[1]))
    arcpy.MigrateRelationshipClass_management(rel_class)
    print(arcpy.GetMessages() + "\n")

Umgebung

  • Aktueller Workspace

Lizenzierungsinformationen

  • ArcGIS for Desktop Basic: Nein
  • ArcGIS for Desktop Standard: Ja
  • ArcGIS for Desktop Advanced: Ja

Verwandte Themen

  • Überblick über das Toolset 'Beziehungsklassen'
  • RelationshipClass properties
Feedback zu diesem Thema?

ArcGIS for Desktop

  • Startseite
  • Dokumentation
  • Preise
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches