Disponible avec une licence Advanced.
Résumé
Joint les définitions et les valeurs des attributs de deux tables en fonction d'un attribut partagé. La jointure implique l'ajout des attributs (champs) d'une table à ceux d'un autre à travers un attribut ou attribut commun aux deux tables. Une jointure est généralement utilisée pour adjoindre des attributs supplémentaires à la table d'une couche géographique.
Un enregistrement de la table Info à joindre est associé à chaque enregistrement de la table Info en entrée lorsque leurs valeurs Attribut de relation et Attribut de départ sont identiques. Les valeurs attributaires provenant des deux enregistrements sont alors copiées dans la table en sortie.
Pour en savoir plus sur le fonctionnement de l'outil Joindre des tables Info
Illustration
Utilisation
Pour conserver l'intégrité d'une table Info d'entité, n'insérez pas d'attributs avant l'identifiant de la table Info en entrée (lorsque la table Info en sortie et la table Info en entrée sont identiques).
Il est recommandé d'utiliser un attribut de relation de la même définition dans les deux tables à joindre.
Si le même nom d'attribut figure dans les deux tables, l'attribut de la table Info en entrée est conservé et celui de la table Info à joindre est exclu.
Pour éviter toute perte d'informations et le stockage de données redondantes, vérifiez que les attributs contenus dans les deux tables correspondent un vers un. A défaut de correspondance un vers un, voici la liste des cas pouvant se produire :
- Si un enregistrement de la table Info en entrée correspond à plusieurs enregistrements dans la table Info à joindre, le système enregistre une seule correspondance dans la table Info en sortie. Il peut s'agir de la première correspondance du fichier ou d'une autre, selon que l'attribut est indexé ou non.
- Si un enregistrement de la table Info en entrée ne correspond à aucun enregistrement dans la table Info à joindre, les attributs de la table Info à joindre dans l'enregistrement de la table Info en sortie correspondants affichent une valeur nulle ou sont laissés vides.
- Si un enregistrement de la table Info à joindre correspond à plusieurs enregistrements dans la table Info en entrée, l'enregistrement de la table Info à joindre est combiné à chaque enregistrement de la table Info en sortie correspondant.
- Si un enregistrement de la table Info à joindre ne correspond à aucun enregistrement dans la table Info en entrée, cet enregistrement n'apparaît pas dans la table Info en sortie.
Lorsque vous spécifiez l'Attribut de départ, n'insérez pas les attributs à joindre avant l'identifiant de la table Info en entrée dans les tables Info d'entité.
Si la table Info en entrée et la table Info à joindre contiennent des champs identiques, l'outil Joindre des tables Info renvoie le message "No Non-duplicate items in join.file" (Aucun élément non dupliqué dans join.file). Ce message signifie qu'il n'y a pas de nouveaux attributs à joindre.
La vitesse d'exécution dépend de l'organisation des fichiers qui sont joints. En général, l'option LINK est la plus rapide pour effectuer une opération de correspondance, suivie de l'option LINEAR avec un attribut de relation indexé, puis de l'option ORDERED. Bien que la plus rapide, l'option LINK n'est pas adaptée à la majorité des cas.
L'option LINEAR est optimisée si l'attribut de relation a été indexé.
Les tables Info en entrée et Info à joindre peuvent contenir des attributs redéfinis. Un attribut redéfini peut servir d'attribut de relation dans la plupart des cas. Lorsqu'un attribut redéfini contient des attributs de types différents et qu'il est numérique, il est déconseillé de l'utiliser comme l'attribut de relation. Un tel attribut peut générer des nombres illogiques ou impossibles à convertir.
Si la table Info à joindre contient plusieurs enregistrements pour chaque valeur d'attribut de relation, le premier enregistrement rencontré par l'outil Joindre des tables Info est utilisé. Cette règle s'applique uniquement à l'option LINEAR.
Il n'est pas nécessaire que les noms d'attribut secondaires de l'attribut de relation soient identiques pour que l'outil Joindre des tables Info fonctionne.
Tant que les valeurs sont identiques, vous pouvez faire correspondre un attribut de type entier à un attribut de type numérique. Par exemple, l'attribut de type entier 123 pourra correspondre à l'attribut de type numérique associé à la valeur 123,00 mais pas à l'attribut associé aux valeurs 123,01 ou 122,99.
Tant que les valeurs sont identiques, vous pouvez faire correspondre deux attributs numériques dont le nombre de décimales est différent. Par exemple, l'attribut numérique à deux décimales associé à la valeur 123,45 pourra correspondre à l'attribut numérique à quatre décimales associé à la valeur 123,4500. En revanche, la correspondance n'est plus possible avec les valeurs 123,4501 ou 123,4499. Le nombre de décimales dans l'attribut de relation de la table Info en sortie sera identique au nombre de décimales trouvé dans l'attribut de relation de la table Info en entrée.
Pour conserver la table en entrée, attribuez un nom différent à la table en sortie.
Syntaxe
arcpy.arc.JoinItem(in_info_table, join_info_table, out_info_table, relate_item, {start_item}, {relate_type})
Paramètre | Explication | Type de données |
in_info_table | Fichier de données INFO dans lequel les attributs et leurs valeurs doivent être ajoutés. | INFO Table |
join_info_table | Fichier de données INFO contenant les attributs et valeurs à ajouter. | INFO Table |
out_info_table | Fichier de données INFO généré par l'outil Joindre des tables Info. Si la table Info en sortie existe déjà, elle est remplacée. | INFO Table |
relate_item | Attribut contenu dans la table Info en entrée, utilisé en tant qu'index des enregistrements de la table Info à joindre. Il peut s'agir d'un attribut redéfini. | String |
start_item (Facultatif) | Attribut contenu dans la table Info en entrée, après lequel les attributs de la table Info à joindre sont insérés. L'attribut de départ par défaut correspond au dernier attribut contenu dans la table Info en entrée. | String |
relate_type (Facultatif) | Mise en correspondance des enregistrements de la table Info à joindre et de la table Info en entrée.
| String |
Exemple de code
Exemple JoinItem (script autonome)
Le script autonome suivant montre comment joindre deux tables Info.
# Name: JoinItem_Example.py
# Description: Joins two INFO tables
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inInfoTable = "maritime1/us5tx51m_p/point"
joinInfoTable = "maritime1/us5tx51m.lights_ncode"
outInfoTable = "C:/output/lightpoints"
relateItem = "RCID"
# Execute JoinItem
arcpy.JoinItem_arc(inInfoTable, joinInfoTable, outInfoTable,
relateItem, "", "")
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Requiert ArcInfo Workstation installé