Présentation des jointures et relations

Par l'intermédiaire d'un champ commun, connu sous le nom de clé, vous pouvez associer les enregistrements d'une table avec les enregistrements d'une autre table. Vous pouvez par exemple associer une table contenant des informations sur la propriété des parcelles avec la couche de parcelles, car elles ont en commun un champ d’identification des parcelles. Vous pouvez effectuer ces associations de plusieurs manières, notamment en joignant ou en mettant en relation temporairement des tables dans votre carte ou en créant des classes de relations dans votre géodatabase qui assurent des associations plus permanentes. Les jointures se basent également sur un emplacement spatial.

Les jointures et les informations associées sont stockées dans les propriétés de la couche. Pour accéder à ces informations, double-cliquez sur la couche pour ouvrir Propriétés de la couche et sélectionnez Jointures ou Relations.

Joindre les attributs d'une table

Supposons que vous ayez obtenu des données qui décrivent le changement en pourcentage de la population par comté et que vous souhaitiez générer des cartes d'augmentation de la population à partir de ces informations. Tant que les données démographiques sont stockées dans une table de la base de données et ont un champ en commun avec la couche, vous pouvez les joindre aux entités géographiques et utiliser tous les champs supplémentaires pour symboliser, étiqueter, interroger ou analyser les entités de la couche.

En règle générale, vous joignez une table de données à une couche en fonction de la valeur d'un champ présent dans les deux tables. Le nom du champ ne doit pas obligatoirement être le même contrairement au type de données qui doit l'être. Vous joignez des nombres à des nombres, des chaînes à des chaînes et ainsi de suite. Vous pouvez réaliser une jointure à l’aide de l’outil de géotraitement Ajouter une jointure. Lorsque vous réalisez une jointure attributaire, les champs joints sont dynamiquement ajoutés à la table existante. Les propriétés de champ telles que les alias, la visibilité et la mise en forme des nombres sont conservées lors de l’ajout ou de la suppression d’une jointure.

Selon la façon dont vos données sont organisées, vous pouvez commencer par synthétiser les données de votre table avant de les joindre à une couche. Lorsque vous synthétisez une table, une nouvelle table statique est générée, contenant les résumés statistiques. Au cours du processus, vous pouvez créer différents résumés statistiques dont le total, la somme, le minimum et le maximum. Supposons par exemple que vous voulez créer une carte de la population par État (et non par comté), mais que les données dont vous disposez sont organisées par comté. En synthétisant les données des comtés par État (dans cet exemple, en recherchant la somme totale de la population pour chaque État), puis en joignant cette nouvelle table en sortie créée à une couche d’États, vous pouvez créer une carte de la population par État.

Lors de l’utilisation de données dans les cas où existent une relation un vers plusieurs ou plusieurs vers plusieurs, utilisez une mise en relation ou une classe de relations pour établir la relation entre les jeux de données. Toutefois, vous pouvez créer une jointure dans ces circonstances. Lorsque vous créez une jointure dans un tel cas, il y a des différences entre le fonctionnement d’outils et d’autres paramètres spécifiques à la couche selon la source de données. Si vous utilisez des données dans la même géodatabase pour créer la jointure, tous les enregistrements correspondants sont renvoyés. Si vous utilisez des données ne provenant pas d’une base de données, comme des shapefiles ou des tables dBASE, pour créer la jointure, seul le premier enregistrement correspondant est retourné.

Joindre des données par emplacement (spatialement)

Lorsque les couches de votre carte ne partagent pas un champ attributaire commun, vous pouvez les joindre à l’aide de l’outil de géotraitement Jointure spatiale, qui permet de joindre les attributs de deux couches en fonction de l’emplacement des entités dans les couches.

Avec une jointure spatiale, vous pouvez effectuer les workflows courants suivants :

La jointure par emplacement, ou jointure spatiale, utilise des associations spatiales entre les couches pour ajouter des champs d’une couche à une autre. Selon le type d’association, vous pouvez ajouter les attributs ou un agrégat (minimum, maximum, moyenne, etc.) d’attributs numériques, à partir d’une entité appariée vers les entités cibles.

Les jointures spatiales par défaut diffèrent des jointures d’attributs, des relations et des classes de relations par le fait qu’elles ne sont pas dynamiques et qu’elles nécessitent d’enregistrer les résultats dans une nouvelle couche en sortie. Si vous recourez à l’outil Spatial Join (Jointure spatiale) au sein d’un script ou d’un modèle, vous pouvez optimiser les performances en utilisant un espace de travail temporaire au lieu de créer une nouvelle sortie. Par exemple, pour écrire dans un espace de travail temporaire, le chemin en sortie de l’outil inclut l’espace de travail et le nom de la sortie, comme ceci : espace_temporaire/EntitéEnSortie.

Supprimer une jointure

Pour supprimer une jointure, utilisez une des méthodes mentionnées précédemment pour accéder aux éléments du menu Joins (Jointures), puis ouvrez l’outil Supprimer une jointure. Vous pouvez utiliser le menu d'une table attributaire ouverte, l'onglet Données d'une couche ou d'une table autonome sélectionnée dans la fenêtre Contenu, ou le menu contextuel Jointures et relations.

Dans le menu Joins (Jointures), vous pouvez également supprimer toutes les jointures. Cette commande vous invite à confirmer l’opération, car vous ne pouvez pas annuler la suppression de toutes les jointures.

Mettre en relation les attributs d'une table à une autre

Les relations vous permettent de découvrir des informations spécifiques au sein de vos données. Par exemple, si vous sélectionnez un bâtiment, vous pouvez trouver tous ses occupants. De la même façon, si vous sélectionnez un locataire, vous pourrez trouver le bâtiment dans lequel il réside (ou les bâtiments dans le cas d’une enseigne commerciale ayant plusieurs magasins dans différents centres commerciaux : il s’agit alors d’un rapport plusieurs à plusieurs). Nous vous recommandons de recourir à une relation ou à une classe de relations lorsque vous utilisez des données dans lesquelles il existe une relation un vers plusieurs ou plusieurs vers plusieurs.

Contrairement à la procédure de jointure, la mise en relation entre des tables définit un rapport entre deux tables. Les données associées ne sont pas annexées à la table attributaire de la couche, comme dans le cas d'une jointure, Vous pouvez en revanche accéder aux données associées via les entités ou enregistrements sélectionnés dans votre couche ou table. Vous pouvez créer une relation à l’aide de l’outil de géotraitement Ajouter une relation.

Les relations qui sont ajoutées à une couche ou table dans une carte suivent essentiellement le même concept que les classes de relations simples définies dans la géodatabase sauf qu'elles sont enregistrées avec la carte et non avec la géodatabase. Une classe de relations stocke des informations sur les associations entre des entités et des enregistrements dans une géodatabase et garantit l'intégrité de vos données. Pour créer une classe de relations, utilisez l’outil Créer une classe de relations ou cliquez avec le bouton droit sur la géodatabase dans la fenêtre Catalog (Catalogue), pointez sur New (Nouveau) et sélectionnez Relationship (Relation).

Si une classe d’entités dans une géodatabase participe déjà à une classe de relations, il n’est pas nécessaire de créer une relation pour les tables. Elle est déjà accessible et répertoriée dans le menu Related Data (Données associées) que vous pouvez utiliser pour afficher les données associées. Il est à noter que la relation plusieurs vers plusieurs est définie différemment lorsque les données sont stockées dans une géodatabase.

Supprimer une relation

Pour supprimer une relation , utilisez une des méthodes mentionnées précédemment pour accéder aux éléments du menu Relates (Relations), puis ouvrez l’outil Supprimer une relation. Vous pouvez utiliser le menu d'une table attributaire ouverte, l'onglet Données d'une couche ou d'une table autonome sélectionnée dans la fenêtre Contenu, ou le menu contextuel Jointures et relations.

Dans le menu Relations, vous pouvez également supprimer toutes les relations. Cette commande vous invite à confirmer l’opération car vous ne pouvez pas annuler la suppression de toutes les relations.

Rubriques connexes