Ajouter (Gestion des données)

Synthèse

Ajoute plusieurs jeux de données en entrée à un jeu de données cible existant et met à jour un jeu de données cible existant avec plusieurs jeux de données en entrée. Les jeux de données en entrée peuvent être des classes d’entités, des tables, des shapefiles, des rasters ou des classes d’entités annotations ou cotation. Les entrées peuvent également être des services d’entités hébergés.

Pour combiner des jeux de données en entrée dans un nouveau jeu de données en sortie, utilisez l’outil Combiner.

Illustration

Illustration de l’outil ajouter

Utilisation

  • Utilisez cet outil pour ajouter de nouvelles entités ou d’autres données de plusieurs jeux de données à un jeu de données existant. Cet outil ajoute des classes d’entités ponctuelles, linéairees ou surfaciques, des tables, des rasters, des classes d’entités annotations ou des classes d’entités cotation à un jeu de données existant du même type. Par exemple, plusieurs tables peuvent être ajoutées à une table existante, ou plusieurs rasters peuvent être ajoutés à un jeu de données raster existant, mais une classe d'entités lignes ne peut pas être ajoutée à une classe d'entités points.

  • Utilisez le paramètre Field Map (Appariement des champs) pour contrôler la manière dont les informations attributaires des champs des jeux de données en entrée sont transférées vers le jeu de données cible. Le paramètre Field Map (Appariement des champs) peut uniquement être utilisé si Use the field map to reconcile field differences (Utiliser l’appariement des champs pour réconcilier les différences de champs) est spécifié pour le paramètre Field Matching Type (Type d’appariement de champs).

  • Utilisez le paramètre Field Map (Appariement des champs) pour apparier ou faire correspondre les champs des jeux de données en entrée aux champs du jeu de données cible.

    • Utilisez une action pour identifier la manière dont les valeurs d’un ou de plusieurs champs du jeu de données en entrée sont appariés à un seul champ du jeu de données cible.
    • Les actions disponibles sont First (Premier), Last (Dernier), Concatenate (Concaténer), Sum (Somme), Mean (Moyenne), Median (Médiane), Mode, Minimum, Maximum, Standard Deviation (Écart type) et Count (Total).
    • Lorsque vous utilisez l’action Concatenate (Concaténer), vous pouvez spécifier un délimiteur, comme une virgule ou d’autres caractères. Cliquez au début de la zone de texte Delimiter (Délimiteur) pour ajouter les caractères de délimitation.
    • L’option Standard Deviation (Écart type) n’est pas valide pour une seule valeur en entrée.
    • L’option Export (Exporter) Exporter permet d’enregistrer un appariement des champs sous forme de fichier .fieldmap.
    • L’option Load (Charger) Import permet de charger un fichier .fieldmap. La couche d’entités ou le jeu de données spécifié dans le fichier doit correspondre à celui utilisé dans l’outil. Sinon, le paramètre Field Map (Appariement des champs) est réinitialisé.
    • Utilisez le bouton Slice Text (Texte de tranche) Couper sur les champs de la source du texte pour sélectionner les caractères d’une valeur en entrée à extraire dans le champ cible. Pour accéder au bouton Slice Text (Texte de tranche), survolez un champ de texte dans la liste des champs en entrée, puis spécifiez les positions des caractères de début et de fin.
    • Il est également possible d’apparier des champs dans un script Python.

  • Dans Python, lorsque vous utilisez l’objet FieldMappings pour le paramètre field_mapping, ajoutez d’abord les champs du jeu de données cible comme indiqué dans le code ci-dessous. Les champs en entrée sont appariés à la structure des champs cibles. Lorsque les champs en entrée sont ajoutés en premier, l’appariement de champs peut être réinitialisé ou se comporter de manière inattendue.

    fieldmappings = arcpy.FieldMappings() 
    fieldmappings.addTable(target) 
    fieldmappings.addTable(input)
  • Cet outil ne planarise pas les entités lorsqu'elles sont ajoutées au jeu de données cible. Toutes les entités de la classe d'entités en entrée et de la classe d'entités cible restent intactes après l'ajout, même en cas de superposition des entités. Pour combiner, ou planariser, les géométries d’entité, utilisez l’outil Union.

  • Si le paramètre Field Matching Type (Type d’appariement de champs) est défini sur Input fields must match target fields (Les champs en entrée doivent correspondre aux champs cible), la structure des jeux de données en entrée doit correspondre à celle du jeu de données cible auquel les entités sont ajoutées.

    Si le paramètre Field Matching Type (Type d’appariement de champs) est défini sur Use the field map to reconcile field differences (Utiliser l’appariement des champs pour réconcilier les différences de champs), il n’est pas nécessaire que les structures correspondent. Les champs des jeux de données en entrée qui ne correspondent pas aux champs du jeu de données cible ne sont pas appariés au jeu de données cible sauf si l’appariement est défini dans le paramètre Field Map (Appariement des champs). Les champs du jeu de données cible qui ne sont pas appariés aux champs des jeux de données en entrée contiennent des valeurs nulles.

    Si le paramètre Field Matching Type (Type d’appariement de champs) est défini sur Skip and warn if schema does not match (Ignorer et avertir si la structure ne correspond pas), la structure des jeux de données en entrée doit correspondre à celle du jeu de données cible pour que les entités soient ajoutées. Si un jeu de données en entrée contient des champs qui ne correspondent pas aux champs du jeu de données cible, ce jeu de données en entrée est omis.

  • Le nombre de lignes ajoutées s’affiche dans les messages de l’outil et est renvoyé par la sortie Appended Row Count (Nombre de lignes ajoutées).

  • Puisque les données des jeux de données en entrée sont écrites dans un jeu de données cible existant dotée d’une structure prédéfinie, vous ne pouvez pas utiliser le paramètre Field Map (Appariement des champs) pour ajouter des champs au jeu de données cible ou pour en retirer.

  • Vous pouvez utiliser cet outil pour insérer de nouveaux enregistrements et mettre à jour des enregistrements existants dans un jeu de données cible lors d’une même opération (qui équivaut à une opération de base de données UPSERT). Utilisez le paramètre Matching Fields for Update (Appariement de champs pour la mise à jour) afin de spécifier les champs du jeu de données en entrée qu’il convient d’apparier aux champs du jeu de données cible. Dans le cas des enregistrements qui comportent des valeurs de champ correspondantes, les champs de l’enregistrement cible sont mis à jour avec les valeurs des champs dotés du même nom dans l’enregistrement en entrée. Le nombre de lignes mises à jour avec les champs appariés s’affiche dans les messages de l’outil et est renvoyé par la sortie Updated Row Count (Nombre de lignes mises à jour). La géométrie est mise à jour si le paramètre Update Geometry (Mettre à jour la géométrie) est coché.

  • Les jeux de données cible et en entrée peuvent inclure des références spatiales différentes. Si tel est le cas, l’outil projette les entités en entrée dans le système de coordonnées de la cible. Dans un souci d’optimisation des résultats, spécifiez une transformation géographique appropriée à l’aide de l’environnement Transformations géographiques. Si le jeu de données cible est une couche de carte, il se peut que l’outil applique une transformation par défaut. Dans Python, il n’existe aucune transformation par défaut.

  • Cet outil ne procède pas à l’appariement des arêtes ; aucun ajustement n’est effectué sur la géométrie des entités.

  • Il est possible d’utiliser des couches de carte en tant que valeurs du paramètre Input Datasets (Jeux de données en entrée). Si une couche a une sélection, seuls les enregistrements sélectionnés (entités ou lignes de table) sont utilisés.

  • Il n’est pas possible d’utiliser plusieurs couches en entrée portant le même nom dans cet outil. Utilisez à la place le bouton de navigation de la fenêtre Geoprocessing (Géotraitement) pour accéder aux chemins complets de chacune des valeurs de Input Datasets (Jeux de données en entrée).

  • Si un jeu de données en entrée et le jeu de données cible portent le même nom, les performances de l’outil sont réduites.

  • Pour utiliser le paramètre Sous-type, un champ de sous-type doit être défini et des codes de sous-type doivent être affectés pour le jeu de données cible. Dans le paramètre Sous-type, indiquez une description de sous-type pour affecter ce sous-type à toutes les nouvelles données ajoutées au jeu de données cible.

  • Utilisez le paramètre Enforce Domains (Appliquer des domaines) pour appliquer des domaines attributaires aux champs du jeu de données cible. Lorsque ce paramètre est coché, l’outil respecte les valeurs de domaine définies dans le jeu de données cible. Les données issues des champs en entrée et qui ne sont pas conformes à ces valeurs de domaine seront insérées comme des valeurs nulles.

  • Pour des performances optimales, cet outil peut être utilisé directement sur la base de données, le serveur ou le data store principal des couches d’entités Web. Dans le cas de services d’entités qui référencent une géodatabase, cet outil peut être utilisé avec une connexion à une base de données pour procéder à des opérations de chargement de données volumineuses directement sur la base de données sous-jacente. Dans le cas de services hébergés sur ArcGIS Enterprise, vous pouvez utiliser l’opération append à partir de la page des éléments de la couche d’entités ou depuis ArcGIS REST API.

    Dans un souci d’optimisation des performances avec des services d’entités sur ArcGIS Online et ArcGIS Enterprise, les administrateurs et les propriétaires de service peuvent utiliser cet outil avec ArcGIS REST API lorsque la propriété supportsAppend est définie sur true. Les fonctionnalités d’ajout des services d’entités doivent être activées pour que les utilisateurs qui ne sont pas des administrateurs puissent utiliser cet outil avec ArcGIS REST API. Pour ArcGIS Enterprise, la modification des couches d’entités hébergées ou des couches Web qui font référence aux données enregistrées doit être activée avec les options Add (Ajouter), Delete (Supprimer) ou Update (Mettre à jour) (ce qui active la fonctionnalité Uploads).
  • Le paramètre Optimize performance for feature services (Optimiser les performances de services d’entités) est uniquement pris en charge si le jeu de données cible prend en charge les fonctionnalités d’ajout de service d’entités. Si ce paramètre est coché, il se produit ce qui suit :

    • L’outil utilise ArcGIS REST API pour des performances optimales.
    • Le paramètre Input Datasets (Jeux de données en entrée) est limité à un seul jeu de données.
    • Les paramètres Expression et Enforce Domains (Appliquer des domaines) ne sont pas pris en charge.
    • Le paramètre Matching Fields for Update (Appariement de champs pour la mise à jour) est limité à une paire de champs d’appariement.
    • Toutes les opérations de mise à jour et d’insertion sont prises en compte dans la valeur Appended Row Count (Nombre de lignes ajoutées).

    Lorsque l’outil est exécuté dans une session de mise à jour existante ou que le bouton bascule Enable Undo (Activer l’annulation) est activé, le paramètre Optimize performance for feature services (Optimiser les performances de services d’entités) est ignoré.

    Si le paramètre Optimize performance for feature services (Optimiser les performances de services d’entités) est coché et que les valeurs de paramètre Matching Fields for Update (Appariement de champs pour la mise à jour) ont un champ Global ID correspondant, les valeurs Global ID (ID global) sont conservées. Si les champs Global ID ne sont pas inlus, toutes les lignes en entrée sont insérées et de nouvelles valeurs Global ID (ID global) sont attribuées.

Paramètres

ÉtiquetteExplicationType de données
Jeux de données en entrée

Jeux de données en entrée dont les données seront ajoutées dans le jeu de données cible. Les jeux de données en entrée peuvent être des classes d'entités de type point, ligne ou surfaciques, des tables, des rasters, des classes d'entités annotations ou des classes d'entités cotation.

Les tables et les classes d’entités peuvent être combinées. Si une classe d’entités est ajoutée à une table, les attributs sont transférés ; les entités sont toutefois supprimées. Si une table est ajoutée à une classe d’entités, les lignes de la table en entrée présentent une géométrie nulle.

Table View; Raster Layer
Jeu de données cible

Jeu de données existant auquel les données des jeux de données en entrée sont ajoutées.

Table View; Raster Layer
Type d’appariement de champs
(Facultatif)

Indique si les champs des jeux de données en entrée doivent correspondre aux champs du jeu de données cible pour que les données soient ajoutées.

  • Les champs en entrée doivent correspondre aux champs cibleLes champs des jeux de données en entrée doivent correspondre aux champs du jeu de données cible. Une erreur est renvoyée si les champs ne correspondent pas. Il s’agit de l’option par défaut.
  • Utiliser l’appariement des champs pour réconcilier les différences de champsIl n’est pas nécessaire que les champs des jeux de données en entrée correspondent aux champs du jeu de données cible. Les champs des jeux de données en entrée qui ne correspondent pas aux champs du jeu de données cible ne sont pas appariés au jeu de données cible, sauf si l’appariement est explicitement défini dans le paramètre Field Map (Appariement des champs).
  • Skip and warn if schema does not match (Ignorer et avertir si la structure ne correspond pas)Les champs des jeux de données en entrée doivent correspondre aux champs du jeu de données cible. Si l’un des jeux de données en entrée contient des champs qui ne correspondent pas au jeu de données cible, ce jeu de données en entrée est omis avec un message d’avertissement.
String
Appariement des champs
(Facultatif)

Le paramètre d’appariement des champs contrôle le transfert ou l’appariement des champs des jeux de données en entrée vers le jeu de données cible. Il ne peut être utilisé que si le paramètre Field Matching Type (Type d’appariement de champs) est défini sur Use the field map to reconcile field differences (Utiliser l’appariement des champs pour réconcilier les différences de champs).

Les jeux de données en entrée étant ajoutés à un jeu de données cible existant qui possède des champs prédéfinis, vous ne pouvez pas ajouter, supprimer, réorganiser ou modifier les propriétés des champs dans l’appariement des champs.

L’appariement des champs peut servir à combiner les valeurs d’un ou de plusieurs champs en entrée en un seul champ en sortie.

Field Mappings
Sous-type
(Facultatif)

Description de sous-type affectée à toutes les nouvelles données ajoutées au jeu de données cible.

String
Expression
(Facultatif)

Expression SQL employée pour sélectionner un sous-ensemble d’enregistrements des jeux de données en entrée. Si plusieurs jeux de données en entrée sont spécifiés, ils seront tous évalués à l’aide de cette expression. Si aucun enregistrement ne correspond à l’expression pour un jeu de données en entrée, aucun enregistrement de ce jeu de données n’est ajouté au jeu de données cible.

Pour plus d’informations sur la syntaxe SQL reportez-vous à la rubrique Référence SQL pour les expressions de requête utilisées dans ArcGIS.

SQL Expression
Matching Fields for Update (Champs d’appariement pour la mise à jour)
(Facultatif)

Champs des jeux de données en entrée utilisés pour la correspondance avec le jeu de données cible. Si les valeurs de ces champs correspondent, les enregistrements des jeux de données en entrée mettent à jour les enregistrements correspondants du jeu de données cible.

Value Table
Update Geometry (Mettre à jour la géométrie)
(Facultatif)

Indique si la géométrie du jeu de données cible est mise à jour avec la géométrie des jeux de données en entrée si les valeurs de champ du paramètre Matching Fields for Update (Appariement de champs pour la mise à jour) correspondent.

  • Coché : la géométrie du jeu de données cible est mise à jour si les valeurs de champ du paramètre Matching Fields for Update (Appariement de champs pour la mise à jour) correspondent.
  • Décoché : la géométrie n’est pas mise à jour. Il s’agit de l’option par défaut.
Boolean
Appliquer des domaines
(Facultatif)

Indique si les domaines de champ de la cible sont appliqués.

  • Coché : les domaines de champ de la cible sont appliqués. Si une valeur de champ en entrée se situe en dehors de la définition de domaine d’un champ cible, l’enregistrement est inséré, mais la valeur du champ en entrée est nulle. Si des champs d’appariement pour la mise à jour sont indiqués, le champ cible n’est pas mis à jour. Les messages de l’outil incluent un message d’avertissement qui indique les lignes pour lesquelles les valeurs de champ en sortie ne peuvent pas être écrites.
  • Décoché : les domaines de champ de la cible ne sont pas appliqués. Il s’agit de l’option par défaut.
Boolean
Optimize performance for feature services (Optimiser les performances de services d’entité)
(Facultatif)

Spécifie si les performances sont optimisées lorsque le jeu de données cible est un service d’entités ArcGIS Online ou ArcGIS Enterprise. Ce paramètre est actif uniquement si le jeu de données cible prend en charge l’optimisation.

  • Coché : les performances de l’outil seront optimisées si le jeu de données cible est un service d’entités avec la fonctionnalité Append (Ajouter) activée. L’optimisation utilise le traitement côté serveur dans lequel les données en entrée sont envoyées au service d’entités Append API (Ajouter API) et chargées dans le jeu de données de manière asynchrone. En cas de prise en charge, le paramètre est coché par défaut. Si le paramètre est coché, les paramètres Expression et Enforce Domains (Appliquer des domaines) ne sont pas pris en charge, et l’utilisation du paramètre Matching Fields for Update (Appariement de champs pour la mise à jour) est limitée à un jeu de données en entrée et à une paire de champs.
  • Décoché : les performances de l’outil ne seront pas optimisées si la cible est un service d’entités.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données cible mis à jour

Jeu de données cible mis à jour.

Table View; Raster Layer
Appended Row Count (Nombre de lignes ajoutées)

Nombre de lignes ajoutées au jeu de données cible.

Si le paramètre Optimize performance for feature services (Optimiser les performances de services d’entités) est coché et que la valeur de paramètre Matching Fields for Update (Appariement de champs pour la mise à jour) est spécifiée, toutes les opérations de mise à jour et d’insertion seront prises en compte.

Long
Updated Row Count (Nombre de lignes mises à jour)

Nombre de lignes mises à jour dans le jeu de données cible.

Aucun nombre de lignes mises à jour ne sera pas indiqué pour les jeux de données de service d’entités cibles si le paramètre Optimize performance for feature services (Optimiser les performances de services d’entités) est coché.

Long

arcpy.management.Append(inputs, target, {schema_type}, {field_mapping}, {subtype}, {expression}, {match_fields}, {update_geometry}, {enforce_domains}, {feature_service_mode})
NomExplicationType de données
inputs
[inputs,...]

Jeux de données en entrée dont les données seront ajoutées dans le jeu de données cible. Les jeux de données en entrée peuvent être des classes d'entités de type point, ligne ou surfaciques, des tables, des rasters, des classes d'entités annotations ou des classes d'entités cotation.

Les tables et les classes d’entités peuvent être combinées. Si une classe d’entités est ajoutée à une table, les attributs sont transférés ; les entités sont toutefois supprimées. Si une table est ajoutée à une classe d’entités, les lignes de la table en entrée présentent une géométrie nulle.

Table View; Raster Layer
target

Jeu de données existant auquel les données des jeux de données en entrée sont ajoutées.

Table View; Raster Layer
schema_type
(Facultatif)

Indique si les champs des jeux de données en entrée doivent correspondre aux champs du jeu de données cible pour que les données soient ajoutées.

  • TESTLes champs des jeux de données en entrée doivent correspondre aux champs du jeu de données cible. Une erreur est renvoyée si les champs ne correspondent pas. Il s’agit de l’option par défaut.
  • NO_TESTIl n’est pas nécessaire que les champs des jeux de données en entrée correspondent aux champs du jeu de données cible. Les champs des jeux de données en entrée qui ne correspondent pas aux champs du jeu de données cible ne sont pas appariés au jeu de données cible, sauf si l’appariement est explicitement défini dans le paramètre Field Map (Appariement des champs).
  • TEST_AND_SKIPLes champs des jeux de données en entrée doivent correspondre aux champs du jeu de données cible. Si l’un des jeux de données en entrée contient des champs qui ne correspondent pas au jeu de données cible, ce jeu de données en entrée est omis avec un message d’avertissement.
String
field_mapping
(Facultatif)

Le paramètre d’appariement des champs contrôle le transfert ou l’appariement des champs des jeux de données en entrée vers le jeu de données cible. Il ne peut être utilisé que si le paramètre schema_type est défini sur NO_TEST.

Les jeux de données en entrée étant ajoutés à un jeu de données cible existant qui possède des champs prédéfinis, vous ne pouvez pas ajouter, supprimer, réorganiser ou modifier les propriétés des champs dans l’appariement des champs.

L’appariement des champs peut servir à combiner les valeurs d’un ou de plusieurs champs en entrée en un seul champ en sortie.

Dans Python, utilisez la classe FieldMappings pour définir ce paramètre.

Field Mappings
subtype
(Facultatif)

Description de sous-type affectée à toutes les nouvelles données ajoutées au jeu de données cible.

String
expression
(Facultatif)

Expression SQL employée pour sélectionner un sous-ensemble d’enregistrements des jeux de données en entrée. Si plusieurs jeux de données en entrée sont spécifiés, ils seront tous évalués à l’aide de cette expression. Si aucun enregistrement ne correspond à l’expression pour un jeu de données en entrée, aucun enregistrement de ce jeu de données n’est ajouté au jeu de données cible.

Pour plus d’informations sur la syntaxe SQL reportez-vous à la rubrique Référence SQL pour les expressions de requête utilisées dans ArcGIS.

SQL Expression
match_fields
[[target_field, input_field],...]
(Facultatif)

Champs des jeux de données en entrée utilisés pour la correspondance avec le jeu de données cible. Si les valeurs de ces champs correspondent, les enregistrements des jeux de données en entrée mettent à jour les enregistrements correspondants du jeu de données cible.

Value Table
update_geometry
(Facultatif)

Indique si la géométrie du jeu de données cible est mise à jour avec la géométrie des jeux de données en entrée si les valeurs de champ du paramètre match_fields correspondent.

  • UPDATE_GEOMETRYLa géométrie du jeu de données cible est mise à jour si les valeurs de champ du paramètre match_fields correspondent.
  • NOT_UPDATE_GEOMETRYLa géométrie n’est pas mise à jour. Il s’agit de l’option par défaut.
Boolean
enforce_domains
(Facultatif)

Indique si les domaines de champ de la cible sont appliqués.

  • ENFORCE_DOMAINSLes domaines de champ de la cible sont appliqués. Si une valeur de champ en entrée se situe en dehors de la définition de domaine d’un champ cible, l’enregistrement est inséré, mais la valeur du champ en entrée est nulle. Si des champs d’appariement pour la mise à jour sont indiqués, le champ cible n’est pas mis à jour. Les messages de l’outil incluent un message d’avertissement qui indique les lignes pour lesquelles les valeurs de champ en sortie ne peuvent pas être écrites.
  • NO_ENFORCE_DOMAINSLes domaines de champ de la cible ne sont pas appliqués. Il s’agit de l’option par défaut.
Boolean
feature_service_mode
(Facultatif)

Spécifie si les performances sont optimisées lorsque le jeu de données cible est un service d’entités ArcGIS Online ou ArcGIS Enterprise. Ce paramètre est actif uniquement si le jeu de données cible prend en charge l’optimisation.

  • USE_FEATURE_SERVICE_MODELes performances de l’outil seront optimisées si le jeu de données cible est un service d’entités avec la fonctionnalité Append (Ajouter) activée. L’optimisation utilise le traitement côté serveur dans lequel les données en entrée sont envoyées au service d’entités Append API (Ajouter API) et chargées dans le jeu de données de manière asynchrone. En cas de prise en charge, le paramètre est coché par défaut. Si le paramètre est coché, les paramètres expression et enforce_domains ne sont pas pris en charge, et l’utilisation du paramètre match_fields est limitée à un jeu de données en entrée et à une paire de champs.
  • NO_FEATURE_SERVICE_MODELes performances de l’outil ne seront pas optimisées si la cible est un service d’entités.
Boolean

Sortie obtenue

NomExplicationType de données
output

Jeu de données cible mis à jour.

Table View; Raster Layer
appended_row_count

Nombre de lignes ajoutées au jeu de données cible.

Si la valeur de paramètre feature_service_mode est USE_FEATURE_SERVICE_MODE et que la valeur de paramètre match_fields est spécifiée, toutes les opérations de mise à jour et d’insertion seront prises en compte.

Long
updated_row_count

Nombre de lignes mises à jour dans le jeu de données cible.

Aucun nombre de lignes mises à jour ne sera pas indiqué pour les jeux de données de service d’entités cibles si la valeur de paramètre feature_service_mode est USE_FEATURE_SERVICE_MODE.

Long

Exemple de code

Exemple 1 d’utilisation de l’outil Ajouter (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction Append en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Append(["north.shp", "south.shp", "east.shp", "west.shp"], 
                        "wholecity.shp", "TEST")
Exemple 2 d’utilisation de l’outil Ajouter (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction Append avec les paramètres match_fields et update_geometry en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/zoning.gdb"
arcpy.management.Append("Zoning_update_2040", "Zoning_2020", "TEST", 
                        match_fields=[["ZONEID", "ZONEID"]], update_geometry="UPDATE_GEOMETRY")
Exemple 3 d’utilisation de l’outil Ajouter (script autonome)

Le script suivant illustre l’utilisation de la fonction Append.

# Name: Append.py
# Description: Use the Append tool to combine several polygon feature classes

# Import system modules 
import arcpy
import os

# Set environment settings
arcpy.env.workspace = "C:/data/towns.gdb"

# Set local variables
outLocation = "C:/data/output.gdb"
outName = "MA_towns.shp"
schemaType = "NO_TEST"
fieldMappings = ""
subtype = ""

# Process: Append to an existing "amherst" polygon feature class
target = os.path.join(outLocation, "amherst")

# All polygon FCs in the workspace are MA town FCs, you want to append these
# to the target FC. The list will resemble ["amherst", "hadley", "pelham",
# "coldspring"]

fcList = arcpy.ListFeatureClasses("", "POLYGON")

# Create FieldMappings object to manage merge output fields
fieldMappings = arcpy.FieldMappings()

# Add the target table to the field mappings class to set the schema
fieldMappings.addTable(target)

# Add input fields for the town name to TOWNNAME field that matches the 
# target dataset since each input dataset has a different field name for 
# this info
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst", "TOWNNAME")
fldMap.addInputField("hadley", "NAME")
fldMap.addInputField("pelham", "TOWN_NAME")
fldMap.addInputField("coldspring", "TOWN")

# Set name of new output field "TOWNNAME"
townName = fldMap.outputField
townName.name, townName.aliasName, townName.type = "TOWNNAME", "TOWNNAME", "TEXT"
fldMap.outputField = townName

# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap)

# Do the same for the POPULATION field
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst","POPULATION")
fldMap.addInputField("hadley","POP")
fldMap.addInputField("pelham","POP_2010")
fldMap.addInputField("coldspring","POP")

# Set name of new output field "POPULATION"
pop = fldMap.outputField
pop.name, pop.aliasName, pop.type = "POPULATION", "POPULATION", "LONG"
fldMap.outputField = pop

# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap)

# Process: Append the feature classes to the target feature class
arcpy.management.Append(fcList, os.path.join(outLocation, "amherst"), schemaType, 
                        fieldMappings, subtype)

Environnements

Cas particuliers

Conserver les ID globaux

Pour l'outil Ajouter, cet environnement s'applique uniquement aux données de géodatabase d'entreprise et fonctionne uniquement sur les données dont le champ ID global comporte un index unique. Si le champ ID global ne possède pas d'index unique, l'outil risque d'échouer. Pour ajouter un index unique dans un champ Global ID (ID global), vous pouvez utiliser l’outil Ajouter un index attributaire.

Cet environnement est ignoré pour les services d’entités cibles. Pour préserver les ID globaux des services d’entités qui prennent en charge l’optimisation, cochez le paramètre Optimize performance for feature services (Optimiser les performances de services d’entités) et spécifiez GlobalID en tant que champs d’appariement dans le paramètre Matching Fields for Update (Appariement de champs pour la mise à jour).

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes