La valeur du paramètre Input Table (Table en entrée) peut être une couche d’entités, une vue tabulaire ou une couche raster avec une table attributaire. Si un chemin de données est utilisé, la couche est créée avec une jointure. La jointure se trouvera toujours dans la couche, pas avec les données.
Pour établir une jointure permanente, utilisez l’outil Joindre un champ ou utilisez la couche jointe en entrée d’un des outils suivants : Copier des entités, Copier des enregistrements, Exporter des entités ou Exporter la table. Lorsque vous enregistrez les résultats dans une nouvelle table ou classe d’entités, vous pouvez utiliser l’environnement Noms de champ qualifiés pour vérifier si les noms de champs joints en sortie sont qualifiés avec le nom de la table d’origine du champ.
Si l’entrée est le chemin d’accès à une classe d’entités ou à un jeu de données, cet outil crée automatiquement une nouvelle couche en appliquant le résultat de l’outil.
Lorsqu’une jointure un vers plusieurs est générée, le résultat de la jointure peut être visualisé dans la table attributaire, où un message d’avertissement indique si la table contient des ID d’objet dupliqués. Étant donné que de nombreux outils de géotraitement ne prennent pas en charge les données contenant des ID d’objet dupliqués et que le traitement de telles données est susceptible de générer des résultats inattendus, il est recommandé de d’abord copier la couche jointe dans une nouvelle classe d’entités à l’aide de l’outil Exporter des entités. Utilisez ensuite cette nouvelle classe d’entités comme entrée d’autres outils de géotraitement.
Les tables suivantes comprennent des sorties potentielles de l’exécution d’une jointure avec différentes entrées.
La première table illustre une jointure de type un vers plusieurs. La conservation d’enregistrements d’appariement uniquement n’aura aucun effet, car tous les enregistrements ont des appariements.
Table en entrée | Table de jointure | Résultat |
---|
Champ en entrée | Type | Champ de jointure | Valeur | Champ en entrée | Type | Champ de jointure | Valeur |
1 | Un | 1 | 100 | 1 | Un | 1 | 100 |
2 | B | 2 | 200 | 2 | B | 2 | 200 |
| 1 | 300 | 1 | Un | 1 | 300 |
2 | 400 | 2 | B | 2 | 400 |
Exemple d’utilisation de l’outil Ajouter une jointure : jointure de type un vers plusieurs lorsque chaque table comporte un champ ID d’objet
La deuxième table utilise une table de jointure sans ID d’objet ; seule une jointure de type un vers premier est possible. Une jointure de type un vers premier est également possible uniquement si chaque table provient d’un espace de travail différent.
Table en entrée | Table de jointure | Résultat |
---|
Champ en entrée | Type | Champ de jointure | Valeur | Champ en entrée | Type | Champ de jointure | Valeur |
1 | Un | 1 | 100 | 1 | Un | 1 | 100 |
2 | B | 2 | 200 | 2 | B | 2 | 200 |
| 3 | 300 | |
4 | 400 |
Exemple d’utilisation de l’outil Ajouter une jointure : jointure de type un vers premier lorsqu’une des tables ne comporte pas de champ ID d’objet
Dans la dernière table, la table en entrée comporte plus d’enregistrements que la table de jointure. Si vous conservez tous les enregistrements, tous les enregistrements correspondants sont également conservés, plus les enregistrements de la table en entrée qui ne correspondaient pas.
Table en entrée | Table de jointure | Résultat |
---|
Champ en entrée | Type | Champ de jointure | Valeur | Champ en entrée | Type | Champ de jointure | Valeur |
1 | Un | 1 | 100 | 1 | Un | 1 | 100 |
2 | B | 2 | 200 | 2 | B | 2 | 200 |
3 | C | 1 | 300 | 1 | Un | 1 | 300 |
4 | D | 2 | 400 | 2 | B | 2 | 400 |
| 3 | C | <Nul> | <Nul> |
4 | D | <Nul> | <Nul> |
Exemple d’utilisation de l’outil Ajouter une jointure : jointure de type un vers plusieurs lorsque chaque table comporte un champ ID d’objet et que le paramètre Keep All Target Features (Conserver toutes les entités cible) est activé
La table en entrée doit comporter un champ ID d’objet pour réaliser une jointure de type un vers plusieurs et figurer dans le même espace de travail.
Les enregistrements de la table de jointure peuvent être appariés à plusieurs enregistrements si la table de jointure comporte un champ ID d’objet. Sinon, une jointure de type un vers premier est réalisée.
Par défaut, tous les enregistrements sont conservés lors de la jointure de tables. Si un enregistrement de la table cible n'a pas d'équivalent dans la table de jointure, il affiche des valeurs Null pour tous les champs ajoutés à la table cible à partir de la table de jointure.
Table en entrée | Table de jointure | Résultat |
---|
Champ en entrée | Type | Champ de jointure | Valeur | Champ en entrée | Type | Champ de jointure | Valeur |
1 | Un | 1 | 100 | 1 | Un | 1 | 100 |
2 | B | 2 | 200 | 2 | B | 2 | 200 |
3 | C | 1 | 300 | 1 | Un | 1 | 300 |
4 | D | 2 | 400 | 2 | B | 2 | 400 |
| 3 | C | <Nul> | <Nul> |
4 | D | <Nul> | <Nul> |
Lorsque le paramètre Conserver toutes les entités cibles est activé, si un enregistrement de la table cible n’a pas d’équivalent dans la table de jointure, il est supprimé de la table cible obtenue. Si la table cible représente la table attributaire d'une couche, les entités sans données jointes n'apparaissent pas sur la carte.
Table en entrée | Table de jointure | Résultat |
---|
Champ en entrée | Type | Champ de jointure | Valeur | Champ en entrée | Type | Champ de jointure | Valeur |
1 | Un | 1 | 100 | 1 | Un | 1 | 100 |
2 | B | 2 | 200 | 2 | B | 2 | 200 |
| 3 | 300 | |
4 | 400 |
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.
Une table en entrée ne peut effectuer qu’une jointure à la fois.
La jointure est conservée uniquement pour la durée de la couche. Pour conserver une couche, enregistrez la session ArcGIS Pro ou enregistrez-la dans un fichier de couche à l’aide de l’outil Enregistrer une couche dans un fichier.
Pour que vous puissiez afficher les résultats d’une jointure créée dans un outil de script, l’outil doit inclure la couche comme paramètre dérivé en sortie. De manière similaire, le paramètre Couche ou vue tabulaire en entrée mise à jour doit être défini comme paramètre en sortie dérivé dans un outil de modèle pour que vous puissiez afficher les résultats joints.
Dans la table résultante, les champs seront préfixés avec le nom de l’entrée et un point (.) ; tous les champs de la table de jointure seront préfixés avec le nom de table de jointure et un point comme valeur par défaut.
Par exemple, joindre landuse, qui comporte les champs A et B, à lookup_tab, qui comporte les champs C et D, donne une couche ou une vue tabulaire avec les champs suivants : landuse.A, landuse.B, lookup_tab.C et lookup_tab.D.
L’indexation des champs dans la table en entrée et la table de jointure sur lesquelles la jointure sera basée peut améliorer les performances. Si le paramètre Indexer les champs joints est coché, un index attributaire sera ajouté aux deux champs de jointure. Vous pouvez également indexer chaque champ de jointure à l’aide de l’outil Ajouter un index attributaire.
Si les résultats de la jointure sont inattendus ou incomplets, vérifiez si les valeurs des paramètres Champ Table de jointure et Champ de jointure en entrée sont indexées. S'ils ne le sont pas, essayez de supprimer et de recréer l'index, puis réexécutez l'outil.
-
Si les champs de la couche ou de la vue tabulaire en entrée ont été modifiés (renommés ou masqués) à l’aide du paramètre Informations de champ dans l’outil Créer une couche d’entités ou Générer une vue tabulaire, ces modifications de champ ne sont pas incluses dans la couche ou la vue tabulaire jointe en sortie.
L’ensemble de définition de la table en entrée est appliqué à la couche ou vue tabulaire en entrée. Pour supprimer l’ensemble de définition, utilisez l’outil Supprimer une jointure ou supprimez manuellement l’ensemble de définition de la couche.
L’outil Valider une jointure peut être utilisé pour valider une jointure entre deux couches ou tables afin de déterminer si celles-ci ont des noms de champ et des champs d’ID d’objet valides, si la jointure produit des enregistrements correspondants, s’il s’agit d’une jointure un vers un ou un vers plusieurs, ou d’autres propriétés de la jointure.
Pour faciliter l’utilisation de l’outil, la boîte de dialogue associée contient un bouton permettant de valider la jointure.
Les sélections sur la couche ne sont pas utilisées dans l’outil Ajouter une jointure mais sont utilisées dans l’outil Joindre un champ.