Ajouter une relation (Gestion des données)

Synthèse

Établit une relation entre une couche et une autre couche ou table en fonction d’une valeur de champ. Les couches d’entités, les vues tabulaires, les groupes de couches de sous-types et les couches raster avec une table attributaire raster sont pris en charge.

Les enregistrements dans la valeur du paramètre Table de relations sont appariés aux enregistrements dans la valeur du paramètre Nom de la couche ou vue tabulaire. Un appariement est effectué lorsque les valeurs du champ de relations en entrée et du champ de relations en sortie sont égales. Les mises en relation ne modifient pas les données. Il s'agit d'une propriété de la couche.

Utilisation

  • Si l’entrée est un chemin d’accès à une classe d’entités ou à un jeu de données, cet outil crée et renvoie une nouvelle couche avec les résultats de l’outil.

  • Les enregistrements de la table de relations peuvent être appariés à plusieurs enregistrements dans la couche ou la vue tabulaire en entrée.

  • La table de relations peut être une table de géodatabase ou un fichier dBASE. Il n’est pas nécessaire que la table de relations soit une couche.

  • L’entrée doit posséder un champ ID d’objet. La table de relations ne doit pas obligatoirement contenir un champ ID d’objet.

  • Pour enregistrer la relation et l'utiliser dans un autre projet, enregistrez la couche dans un fichier de couche à l’aide de l’outil Enregistrer la couche dans un fichier. Cela s'applique seulement aux couches ; les vues tabulaires ne peuvent pas être enregistrées de cette manière.

  • Pour créer une mise en relation permanente, utilisez l'outil Créer une classe de relations.

  • L’indexation des champs dans la couche ou la vue tabulaire en entrée et dans la table de relations sur laquelle reposera la relation peut améliorer les performances. Pour ce faire, utilisez l’outil Ajouter un index attributaire.

  • Si la couche en entrée possède une relation et que la propriété Automatically select related data (Sélection automatique des données associées) est cochée, une sélection sur la couche en entrée sélectionne également les enregistrements dans la table associée.

Paramètres

ÉtiquetteExplicationType de données
Nom de la couche ou vue tabulaire

Couche ou vue tabulaire à laquelle la table de relations sera associée.

Mosaic Layer; Raster Layer; Table View
Champ de relation en entrée

Champ de la couche ou de la vue tabulaire en entrée sur lequel la mise en relation sera basée.

Field
Table de relations

Table ou vue tabulaire à associer à la couche ou à la vue tabulaire en entrée.

Mosaic Layer; Raster Layer; Table View
Champ de relation en sortie

Champ dans la table de relations qui contient les valeurs sur lesquelles sera basée la relation.

Field
Nom de la relation

Nom unique donné à une relation.

String
Cardinalité
(Facultatif)

Indique la cardinalité de la relation.

  • Un vers unLa relation entre la table en entrée et la table associée sera de type un vers un. Par exemple, un enregistrement dans la table en entrée ne correspondra qu’à un seul enregistrement dans la table associée.
  • Un vers plusieursLa relation entre la table en entrée et la table associée sera de type un vers plusieurs. Par exemple, un enregistrement dans la table en entrée peut correspondre à plusieurs enregistrements dans la table associée. Il s’agit de l’option par défaut.
  • Plusieurs vers plusieursLa relation entre la table en entrée et la table associée sera de type plusieurs vers plusieurs. Par exemple, plusieurs enregistrements de même valeur dans la table en entrée peuvent correspondre à plusieurs enregistrements dans la table associée.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Couche ou vue tabulaire en entrée mise à jour

Jeu de données en entrée mis à jour.

Table View; Raster Layer; Mosaic Layer

arcpy.management.AddRelate(in_layer_or_view, in_field, relate_table, relate_field, relate_name, {cardinality})
NomExplicationType de données
in_layer_or_view

Couche ou vue tabulaire à laquelle la table de relations sera associée.

Mosaic Layer; Raster Layer; Table View
in_field

Champ de la couche ou de la vue tabulaire en entrée sur lequel la mise en relation sera basée.

Field
relate_table

Table ou vue tabulaire à associer à la couche ou à la vue tabulaire en entrée.

Mosaic Layer; Raster Layer; Table View
relate_field

Champ dans la table de relations qui contient les valeurs sur lesquelles sera basée la relation.

Field
relate_name

Nom unique donné à une relation.

String
cardinality
(Facultatif)

Indique la cardinalité de la relation.

  • ONE_TO_ONELa relation entre la table en entrée et la table associée sera de type un vers un. Par exemple, un enregistrement dans la table en entrée ne correspondra qu’à un seul enregistrement dans la table associée.
  • ONE_TO_MANYLa relation entre la table en entrée et la table associée sera de type un vers plusieurs. Par exemple, un enregistrement dans la table en entrée peut correspondre à plusieurs enregistrements dans la table associée. Il s’agit de l’option par défaut.
  • MANY_TO_MANYLa relation entre la table en entrée et la table associée sera de type plusieurs vers plusieurs. Par exemple, plusieurs enregistrements de même valeur dans la table en entrée peuvent correspondre à plusieurs enregistrements dans la table associée.
String

Sortie obtenue

NomExplicationType de données
out_layer_or_view

Jeu de données en entrée mis à jour.

Table View; Raster Layer; Mosaic Layer

Exemple de code

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

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction AddRelate en mode immédiat.

import arcpy
arcpy.management.AddRelate("Parcel", "ParcelID", "owner_table", "ParcelID", 
                           "Owner2Parcel")