ArcGIS for Desktop

  • Documentation
  • Tarification
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS for Desktop

Un SIG professionnel complet

ArcGIS for Server

SIG dans votre entreprise

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

Aide

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

Ajouter une jointure

  • Récapitulatif
  • Illustration
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Récapitulatif

Joint une couche à une autre couche ou table (couche étant une couche d'entités, une vue tabulaire ou une couche raster avec une table attributaire de rasters) selon un champ commun.

Les enregistrements dans la Table de jointure sont appariés aux enregistrements du Nom de la couche en entrée. Un appariement est effectué lorsque les valeurs de champ de jointure en entrée et de champ de jointure de la sortie sont égales. Cette jointure est temporaire.

Illustration

Ajouter une jointure

Utilisation

  • L'entrée doit être une couche d'entités, une vue tabulaireou une couche raster possédant une table attributaire ; ce ne peut pas être une classe d'entités ou une table.

  • Les enregistrements de la Table de jointure peuvent être appariés à plusieurs enregistrements dans la couche ou la vue tabulaire en entrée. Pour plus d'informations sur les jointures un-à-un, plusieurs-à-un, un-à-plusieurs et plusieurs-à-plusieurs, consultez la rubrique A propos de la jointure et de la mise en relation des tables

  • 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.

    Exemple de conservation de tous les enregistrements d'une jointure

    Lorsque l'option Conserver uniquement les enregistrements correspondants est activée, si un enregistrement de la table cible n'a pas d'équivalent dans la table de jointure, il est supprimé de la table cible résultante. 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.

    Exemple de conservation des enregistrements correspondants uniquement

  • La table de jointure peut être de n'importe quel type suivant : une table de géodatabase, un fichier dBASE, une table INFO ou une table OLE DB.

  • La couche ou la vue tabulaire en entrée doit avoir un champ ObjectID. La Table de jointure ne doit pas obligatoirement contenir un champ ObjectID.

  • 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.

  • S'il existe déjà une jointure avec le même nom de table, par exemple si la couche A est jointe à la table B, un avertissement indique que la jointure existe déjà si vous réexécutez l'outil pour joindre la table B.

  • La jointure dure uniquement pour la durée de la session. Pour rendre la jointure persistante pour une utilisation dans une autre session, enregistrez la couche dans un fichier de couches à 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.

  • Dans la couche ou la vue tabulaire résultante, les champs de la couche ou de la vue tabulaire en entrée seront préfixés avec le nom de l'entrée et un point (.), et tous les champs de la table de jointure seront préfixés avec le nom de table de jointure plus un point comme valeur par défaut.

    • Par exemple, joindre landuse, qui a des champs A et B à lookup_tab, qui a des 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.
    • Pour les classes d'entités de couverture et les tables INFO, le séparateur entre la table et le nom de champ est le signe deux points (:) au lieu du point.

  • Pour créer une jointure permanente, utilisez l'outil Champ de jointure. Une autre méthode pour rendre la jointure permanente est d'enregistrer le couche d'entités jointe dans une nouvelle classe d'entités ou la vue tabulaire jointe dans une nouvelle table. Lorsque vous enregistrez les résultats dans une nouvelle classe d'entités ou table, vous pouvez utiliser l'environnement Noms de champ qualifiés pour contrôler si les noms de champs joints en sortie seront qualifiés avec le nom de la table d'origine du champ.

  • L'indexation des champs dans la couche ou la vue tabulaire en entrée et dans la Table de jointure sur lesquelles la jointure sera basée peut améliorer les performances. Cela peut être fait avec l'outil Ajouter un index attributaire ou en cliquant avec le bouton droit sur l'entrée dans ArcCatalog et en utilisant la boîte de dialogue pour ajouter un index au champ souhaité.

    En savoir plus sur les conseils relatifs aux performances des jointures de données

  • 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 de l'outil Générer une couche ou Générer une vue tabulaire, en utilisant le paramètre Informations de champ, ces modifications de champ ne seront pas reportées dans la couche ou la vue tabulaire jointe en sortie.

  • Le nom de Table de jointure ne peut pas commencer par une valeur numérique.

    En savoir plus sur les raisons pour lesquelles les jointures de données peuvent échouer

Syntaxe

AddJoin_management (in_layer_or_view, in_field, join_table, join_field, {join_type})
ParamètreExplicationType de données
in_layer_or_view

La couche ou la vue tabulaire à laquelle la table de jointure sera jointe.

Raster Catalog Layer; Mosaic Layer; Raster Layer; Table View
in_field

Le champ de la couche ou de la vue tabulaire en entrée sur lequel la jointure sera basée.

Field
join_table

La table ou la vue tabulaire à joindre à la couche ou à la vue tabulaire en entrée.

Raster Catalog Layer; Mosaic Layer; Raster Layer; Table View
join_field

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

Field
join_type
(Facultatif)

Précise ce qu'il adviendra des enregistrements en entrée qui correspondent à un enregistrement de la table de jointure.

  • KEEP_ALL —Tous les enregistrements de la couche ou de la vue tabulaire en entrée sont inclus dans la sortie - également appelée jointure externe. Il s'agit de l'option par défaut.
  • KEEP_COMMON —Seuls les enregistrements en entrée qui correspondent à une ligne de la table de jointure sont présents dans le résultat - également appelée jointure interne.
Boolean

Exemple de code

Exemple 1 d'utilisation de la fonction AddJoin (fenêtre Python)

Le script de fenêtre Python suivant illustre l'utilisation de la fonction AddJoin en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.MakeFeatureLayer_management ( "Habitat_Analysis.gdb/vegtype", "veg_layer")
arcpy.AddJoin_management( "veg_layer", "HOLLAND95", "vegtable.dbf", "HOLLAND95")
arcpy.CopyFeatures_management( "veg_layer", "Habitat_Analysis.gdb/vegjoin")
Exemple 2 d'utilisation de la fonction AddJoin (script autonome)

Ce script autonome illustre la fonction AddJoin dans le cadre d'un workflow permettant de joindre une table à une classe d'entités, puis d'extraire ensuite les entités voulues.

# Name: AttributeSelection.py
# Purpose: Join a table to a featureclass and select the desired attributes

# Import system modules
import arcpy

try:
    # Set environment settings
    arcpy.env.workspace = "C:/data"
    arcpy.env.qualifiedFieldNames = False
    
    # Set local variables    
    inFeatures = "Habitat_Analysis.gdb/vegtype"
    layerName = "veg_layer"
    joinTable = "vegtable.dbf"
    joinField = "HOLLAND95"
    expression = "vegtable.HABITAT = 1"
    outFeature = "Habitat_Analysis.gdb/vegjoin"
    
    # Create a feature layer from the vegtype featureclass
    arcpy.MakeFeatureLayer_management (inFeatures,  layerName)
    
    # Join the feature layer to a table
    arcpy.AddJoin_management(layerName, joinField, joinTable, joinField)
    
    # Select desired features from veg_layer
    arcpy.SelectLayerByAttribute_management(layerName, "NEW_SELECTION", expression)
    
    # Copy the layer to a new permanent feature class
    arcpy.CopyFeatures_management(layerName, outFeature)
    
except Exception as err:
    print(err.args[0])

Environnements

  • Espace de travail courant
  • Noms de champ qualifiés

Informations de licence

  • ArcGIS for Desktop Basic: Oui
  • ArcGIS for Desktop Standard: Oui
  • ArcGIS for Desktop Advanced: Oui

Thèmes connexes

  • Vue d'ensemble du jeu d'outils Jointures
  • Utilisation des couches et des vues tabulaires
  • A propos de la jointure et de la mise en relation des tables
Vous avez un commentaire à formuler concernant cette rubrique ?

ArcGIS for Desktop

  • Accueil
  • Documentation
  • Tarification
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog des initiés
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Confidentialité | Légal