ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS 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
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

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

Table vers classe de relations

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

Résumé

Crée une classe de relations attribuées à partir des tables d'origine, de destination et de relations.

Utilisation

  • Cet outil crée une table dans la base de données contenant les champs attributaires sélectionnés de la table de relations. Ces champs permettent de stocker des attributs de la relation elle-même qui ne sont attribués ni à la classe d'origine, ni à la classe de destination. Par exemple, une base de données de parcelles peut contenir une classe de relations entre des parcelles et des propriétaires dans laquelle des propriétaires possèdent des parcelles et des parcelles appartiennent à des propriétaires. Un attribut de cette relation peut représenter des parts de copropriété.

  • Les relations simples, ou point à point, sont des relations entre deux objets ou plus dans la base de données qui existent indépendamment les uns des autres. Par exemple, un réseau ferroviaire peut comporter des intersections avec un ou plusieurs signaux lumineux. Cependant, une intersection de voie ferrée peut exister sans signal lumineux et des signaux lumineux exister sur le réseau ferroviaire là où il n'y a pas d'intersection. Les relations simples peuvent avoir des cardinalités de type un vers un, un vers plusieurs et plusieurs vers plusieurs.

  • Une relation composite décrit une relation dans laquelle l'existence d'un objet régit l'existence des objets qui lui sont liés. Par exemple, les pylônes électriques supportent les transformateurs et les transformateurs sont montés sur des pylônes. Une fois qu'un pylône est supprimé, un message de suppression est transmis aux transformateurs qui lui sont liés, lesquels sont supprimés de la classe d'entités des transformateurs. Les relations composites décrivent toujours des relations un vers plusieurs.

  • Les dénominations de parcours avant et arrière décrivent la relation née de la navigation d'un objet à un autre. La dénomination de parcours avant décrit la relation née de la navigation depuis la classe d'origine jusqu'à la classe de destination. Dans notre exemple pylône-transformateur, la dénomination de parcours avant pourrait être : Les pylônes supportent les transformateurs. La dénomination de parcours arrière décrit la relation née de la navigation depuis la classe de destination jusqu'à la classe d'origine. Dans notre exemple pylône-transformateur, la dénomination de parcours arrière pourrait être : Les transformateurs sont montés sur les pylônes.

  • Il est également possible de créer des classes de relations dans ArcCatalog. Sélectionnez l'élément de menu Nouveau > Classe de relations dans le menu contextuel d'une géodatabase.

  • Le bouton Ajouter un champ du paramètre Champs attributaires est utilisé uniquement dans ModelBuilder. Dans ModelBuilder, lorsque l'outil précédent n'a pas été exécuté ou si ses données dérivées n'existent pas, le paramètre Champs attributaires peut ne comporter aucun nom de champ. Le bouton Ajouter un champ permet d'ajouter le ou les champs prévus pour terminer la saisie dans la boîte de dialogue Table vers classe de relations et de continuer la construction du modèle.

Syntaxe

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)
ParamètreExplicationType de données
origin_table

Table ou classe d'entités à associer à la table de destination.

Table View
destination_table

Table ou classe d'entités à associer à la table d'origine.

Table View
out_relationship_class

Classe de relations qui sera créée.

Relationship Class
relationship_type

Type d'association à créer entre les tables d'origine et de destination.

  • SIMPLE —Association selon laquelle chaque objet est indépendant (relation parent/parent). Il s'agit de l'option par défaut.
  • COMPOSITE —Association selon laquelle l'existence d'un objet contrôle l'existence de l'objet qui lui est lié (relation parent/enfant).
String
forward_label

Dénomination pour la relation lorsqu'elle est parcourue de la classe d'entités/table d'origine vers la classe d'entités/table de destination.

String
backward_label

Dénomination pour la relation lorsqu'elle est parcourue de la classe d'entités/table de destination vers la classe d'entités/table d'origine.

String
message_direction

Sens de transmission des messages pour les objets de la relation. Par exemple, dans une relation entre des pylônes et des transformateurs, lorsqu'un pylône est supprimé, un message est transmis aux objets transformateurs auxquels il est lié pour indiquer que le pylône a été supprimé.

  • NONE —Aucun message transmis. Il s'agit de l'option par défaut.
  • FORWARD —Messages transmis de l'origine vers la destination.
  • BACKWARD —Messages transmis de la destination vers l'origine.
  • BOTH —Messages transmis de l'origine vers la destination et de la destination vers l'origine.
String
cardinality

Cardinalité de la relation entre l'origine et la destination.

  • ONE_TO_ONE —Chaque objet de la table/classe d'entité d'origine peut être mis en relation avec zéro ou un objet de la table/classe d'entité de destination. Il s'agit de l'option par défaut.
  • ONE_TO_MANY —Chaque objet de la table/classe d'entité d'origine peut être mis en relation avec plusieurs objets de la table/classe d'entité de destination.
  • MANY_TO_MANY —Plusieurs objets de la table/classe d'entité d'origine peuvent être mis en relation avec plusieurs objets de la table/classe d'entité de destination.
String
relationship_table

Table contenant les attributs qui sont ajoutés à la classe de relations.

Table View
attribute_fields
[attribute_fields,...]

Champs contenant les valeurs attributaires à ajouter à la classe de relations.

Field
origin_primary_key

Champ de la table d'origine utilisé pour créer la relation. Il s'agit généralement du champ OID.

String
origin_foreign_key

Nom du champ Clé étrangère de la table de relations correspondant au champ Clé primaire de la table/classe d'entités d'origine.

String
destination_primary_key

Champ de la table de destination utilisé pour créer la relation. Il s'agit généralement du champ OID.

String
destination_foreign_key

Champ de la table de relations correspondant au champ Clé primaire de la table de destination.

String

Exemple de code

Exemple d'utilisation de l'outil Table vers classe de relations (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil Table vers classe de relations.

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")
Exemple d'utilisation de l'outil Table vers classe de relations (script autonome)

Permet de créer une classe de relations attribuées entre une classe d'entités de parcelle et une table avec des informations sur les propriétaires.

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

Environnements

  • Validation automatique
  • Espace de travail courant

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes

  • Vue d'ensemble du jeu d'outils Classes de relations
  • RelationshipClass properties

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal