ArcGIS for Desktop

  • Documentation
  • Tarification
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS for Desktop

Un SIG professionnel complet

ArcGIS for Server

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Tarification
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

Aide

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Plus...

Migrer la classe de relations

  • Récapitulatif
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Récapitulatif

Migre une classe de relations ObjectID vers une classe de relations GlobalID.

Utilisation

  • Cet outil permet de modifier une classe de relations ObjectID en une classe de relations GlobalID pour satisfaire les exigences des géodatabases d'exécution.

  • Avant d'utiliser cet outil, assurez-vous que la classe d'entités ou la table d'origine qui fait partie de la Classe de relations en entrée comporte un champ GlobalID. La classe de destination doit également comporter un champ GlobalID.

  • La classe de relations en entrée existante doit comporter un champ ObjectID. Il est possible que l'archivage ne soit pas activé sur les données.

  • Cet outil prend en charge les données versionnées et non versionnées en entrée.

  • Les classes d'entités d'annotations liées aux entités ne sont pas prises en charge en entrée pour cet outil, car ces relations doivent toujours reposer sur l'IdObjet.

  • Il est recommandé de créer une copie de sauvegarde des données utilisées en entrée pour cet outil.

Syntaxe

MigrateRelationshipClass_management (in_relationship_class)
ParamètreExplicationType de données
in_relationship_class

Classe de relations ObjectID à migrer vers une classe de relations GlobalID. Les classes d'entités d'origine et de destination doivent déjà comporter des valeurs GlobalID.

Relationship Class

Exemple de code

Exemple 1 d'utilisation de l'outil MigrateRelationshipClass (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil MigrateRelationshipClass en mode immédiat.

arcpy.MigrateRelationshipClass_management(r'C:\Data\Relationships.gdb\OneToMany')
Exemple 2 d'utilisation de l'outil MigrateRelationshipClass (script autonome)

Le script Python autonome suivant montre comment utiliser l'outil MigrateRelationshipClass dans un script autonome.

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

Environnements

  • Espace de travail courant

Informations de licence

  • ArcGIS for Desktop Basic: Annuler
  • ArcGIS for Desktop Standard: Oui
  • ArcGIS for Desktop Advanced: Oui

Thèmes connexes

  • Vue d'ensemble du jeu d'outils Classes de relations
  • RelationshipClass properties
Vous avez un commentaire à formuler concernant cette rubrique ?

ArcGIS for Desktop

  • Accueil
  • Documentation
  • Tarification
  • Support

ArcGIS Platform

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

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog des initiés
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Confidentialité | Légal