ArcGIS Desktop

  • Documentation
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

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

ArcMap

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

Transférer des attributs

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

Résumé

Détecte l'endroit où les entités linéaires source correspondent spatialement aux entités linéaires cible et transfère les attributs spécifiés des entités source vers les entités cible appariées.

Le transfert d'attributs est généralement utilisé pour copier des attributs à partir d'entités contenues dans un jeu de données vers des entités correspondantes dans un autre jeu de données. Vous pouvez, par exemple, l'utiliser pour transférer les noms d'entités routes d'une carte numérisée et d'un jeu de données géré vers des entités au sein d'un nouveau jeu de données qui ont été collectées récemment et qui sont plus précises. Les deux jeux de données sont généralement appelés entités source et entités cible. Cet outil détecte les entités source et les entités linéaires cible correspondantes au sein de la distance de recherche spécifiée et transfère les attributs spécifiés des lignes source vers les lignes cible.

Illustration

Transférer des attributs

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Reportez-vous à la rubrique Outils sans sortie pour obtenir plus d'informations, ainsi que des stratégies pour éviter les mouvements de données indésirables.

    Remarque :

    Toutes les entrées doivent être exprimées dans le même système de coordonnées.

  • L’union des étendues en entrée est utilisée comme étendue de traitement. Le nombre d'entités source et cible participantes est indiqué dans les messages de traitement.

  • Vous devez spécifier un ou plusieurs champs dans le paramètre Transférer des champs. Si un champ de transfert a le même nom qu'un champ de la table d'entités cible, le suffixe _1 (ou _2, _3, etc.) est ajouté au champ de transfert pour le rendre unique.

    Si plusieurs entités source correspondent à une ou plusieurs entités cible, les valeurs des champs d'une seule des entités source sont transférées vers les entités cible. Si une valeur de champ source est manquante, aucun transfert d'attributs n'est effectué.

  • Le paramètre Distance de recherche est utilisé dans la recherche de candidats d'appariement. Utilisez une distance suffisamment importante pour détecter la plupart des décalages entre entités correspondantes, mais pas trop importante, afin de ne pas entraîner un traitement superflu d'un trop grand nombre de candidats et de ne pas obtenir des correspondance erronées.

  • La Table d'appariement en sortie est facultative. Cette table d'appariement fournit des informations d'appariement d'entités complètes, notamment les FID source et cible, les groupes d'appariement, les relations d'appariement et le niveau de confiance de l'appariement dérivé des conditions d'appariement spatiales et d'attributs. Ces informations peuvent vous aider à comprendre les situations d'appariement et faciliter l'inspection a posteriori, la post-édition et l'analyse supplémentaire. Pour plus d'informations, reportez-vous à la rubrique À propos de l'appariement d'entités et de la table d'appariement.

  • La précision de l'appariement des entités dépend de la qualité et de la complexité des données, ainsi que des similitudes entre les deux entrées.

    Vous devez réduire les erreurs de données et sélectionner des entités pertinentes en entrée grâce à un pré-traitement. En général, il est toujours utile que, au sein d'un jeu de données en entrée, les entités soient correctes sur le plan topologique, possèdent une géométrie valide, et qu'elles soient monoparties et non dupliquées ; dans le cas contraire, des résultats inattendus pourraient survenir.

Syntaxe

TransferAttributes_edit (source_features, target_features, transfer_fields, search_distance, {match_fields}, {out_match_table})
ParamètreExplicationType de données
source_features

Entités linéaires à partir desquelles transférer des attributs.

Feature Layer
target_features

Entités linéaires vers lesquelles transférer des attributs. Les champs de transfert spécifiés sont ajoutées aux entités cible.

Feature Layer
transfer_fields
[field,...]

Liste des champs source à transférer vers des entités cible. Vous devez spécifier au moins un champ.

Field
search_distance

Distance utilisée pour rechercher des candidats d'appariement. La distance doit être indiquée et elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Linear unit
match_fields
[[source_field, target_field],...]
(Facultatif)

Liste des champs des entités source et cible. Si cette option est renseignée, des candidats à l'appariement sont recherchés dans chaque paire de champs afin de déterminer la correspondance adéquate.

Value Table
out_match_table
(Facultatif)

Table en sortie contenant des informations d'appariement d'entités complètes.

Table

Exemple de code

Exemple 1 d'utilisation de l'outil Transférer des attributs (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Transférer des attributs en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.TransferAttributes_edit("source_Roads.shp",
                              "target_Roads.shp", "RoadName, PaveType"
                              "25 Feet")
Exemple 2 d'utilisation de l'outil Transférer des attributs (script Python autonome)

Le script autonome suivant dessous est un exemple d'application de la fonction Transférer des attributs dans un environnement de scripts.

# Name:        TransferAttributes_example_script2.py
# Description: Performs attribute transfer from newly updated roads (source) to existing
#              base roads (target). Where the source and target features are matched in
#              many-to-one or many-to-many (m:n) relationships, attributes are transferred 
#              from only one of the m source features to the n target features. This script
#              includes a post-process that flags resulting target features with the m:n
#              match relationships. You can inspect the flagged features and retrieve the
#              attributes from the desired source features if necessary.
# Author:      Esri
# -----------------------------------------------------------------------

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.overwriteOutput = True
env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"

# Set local variables
sourceFeatures = "updateRoads"
targetFeatures = "baseRoads"
transfer_fields = "RD_NAME; RD_ID"

search_distance = "300 Feet"
match_fields = "RD_NAME FULLNAME"

outMatchTable = "ta_mtbl"

# Make a copy of the targetFeatures for attribute transfer
targetCopy = targetFeatures + "_Copy"
arcpy.CopyFeatures_management(targetFeatures, targetCopy)

# Performs attribute transfer
arcpy.TransferAttributes_edit(sourceFeatures, targetCopy, transfer_fields, search_distance, match_fields, outMatchTable)

# ====================================================================================
# Note 1:  The result of TransferAttributes may contain errors; see tool reference.
#          Additional analysis steps may be necessary to check the results; these steps
#          are not included in this script.
#
#          The following process identifies m:n matches between source and target features 
#          and flag features in targetCopy for inspection.
# ====================================================================================

# Add a field srcM_inMN to the match table to store the m count of source features in m:n relationship
field_srcM_inMN = "srcM_inMN"
arcpy.AddField_management(outMatchTable, field_srcM_inMN)

codeblock = """
def getM(fld):
    x = fld.split(\":\")[0]
    if x.isnumeric():
        if int(x) > 0:
            return int(x)
    return -1
"""

# Calculate values for srcM_inMN
arcpy.CalculateField_management(outMatchTable, field_srcM_inMN, "getM(!FM_MN!)", "PYTHON_9.3", codeblock)

# Make a table view of the match table, selecting srcM_inMN values greater than 1 
# (excluding 1:n relationships which don't need to be inspected)
arcpy.MakeTableView_management(outMatchTable, "mtable_view", field_srcM_inMN + "> 1")

# For the selected records, transfer srcM_inMN and SRC_FID fields and values to the targetCopy
arcpy.JoinField_management(targetCopy, "OBJECTID", "mtable_view", "TGT_FID", field_srcM_inMN + "; SRC_FID")

# ====================================================================================
# Note 2:  Now the fields srcM_inMN and SRC_FID are in the copy of the target features.
#          The srcM_inMN values are the counts of matched source features; the SRC_FID
#          values indicate the source feature IDs from which the transferred attributes
#          come from.
#
#          At this point you can interactively review the transferred attributes for the
#          flagged features. If you want to replace any of them by those from a different
#          source feature, you would need to make the edits as needed.
# ====================================================================================

Environnements

  • Espace de travail courant
  • Etendue

Informations de licence

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

Rubriques connexes

  • Vue d'ensemble du jeu d'outils Fusion multisource
  • À propos de l'appariement d'entités et de la table d'appariement

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • 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
Donnez-nous votre avis.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Confidentialité | Légal