Ajouter (Gestion des données)

Résumé

Ajoute plusieurs jeux de données en entrée à un jeu de données cible existant. Les jeux de données en entrée peuvent être des classes d’entités, des tables, des shapefiles, des rasters, des classe d’entités annotation ou de cotations.

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 la fonction Ajouter

Utilisation

  • Utilisez cet outil pour ajouter de nouvelles entités ou d'autres données de plusieurs jeux de données dans un jeu de données existant. Cet outil permet d'ajouter 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 dans 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.

  • Le paramètre Field Map (Appariement des champs) de l’outil Append (Ajouter) peut servir à contrôler comment les informations attributaires des champs du jeu de données en entrée sont transférées dans le jeu de données cible. Le paramètre Field Map (Appariement des champs) peut être utilisé uniquement si l'option Use the Field Map to reconcile schema differences (Utiliser l'appariement des champs pour réconcilier les différences de structures) est sélectionnée pour Schema Type (Type de structure).

  • Tous les champs du jeu de données en sortie et leur contenu peuvent être gérés à l'aide du contrôle Appariement des champs.

    • Pour modifier l’ordre des champs, sélectionnez un nom de champ et faites-le glisser jusqu’à l’emplacement souhaité.
    • Le type de données par défaut d’un champ en sortie est identique au type de données du premier champ en entrée (du même nom) qu’il rencontre. Vous pouvez à tout moment changer manuellement le type de données pour tout autre type de données valide.
    • Les règles de combinaison suivantes sont disponibles : premier, dernier, joindre, somme, moyenne, médiane, mode, minimum, maximum, écart type, et total.
    • Lorsque vous utilisez la règle de combinaison Join (Joindre), vous pouvez spécifier un délimiteur (espace, virgule, point, tiret, etc.). Pour utiliser un espace, vérifiez que le pointeur de votre souris se trouve au début de la zone de saisie et appuyez une fois sur la barre d'espacement.
    • Vous pouvez spécifier les positions de début et de fin des champs de texte à l'aide de l'option de format.
    • N’exécutez pas d’écart type sur une entrée unique car les valeurs ne peuvent pas être divisées par zéro. L'écart type n'est pas une option valide pour les entrées uniques.

    En savoir plus sur l'appariement de champs dans les scripts

  • 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 Agréger.

  • Si l’option Input schema must match target schema (La structure en entrée doit correspondre à la structure cible) est sélectionnée pour Schema Type (Type de structure) (schema_type = "TEST" dans Python), la structure (définitions de champ) 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 l'option Utiliser l'appariement des champs pour réconcilier les différences de structures est sélectionnée (schema_type = "NO_TEST" dans Python), il n'est pas nécessaire que la structure de jeu de données en entrée (définitions de champ) corresponde au jeu de données cible. Toutefois, les champs des jeux de données en entrée qui ne correspondent pas aux champs du jeu de données cible ne seront pas appariés au jeu de données cible à moins que l’appariement soit explicitement défini dans le paramètre Field Map (Appariement des champs).

  • Comme les données des jeux de données en entrée sont écrites dans un jeu de données cible existant qui a une structure (définitions de champ) prédéfinie, le paramètre Field Map (Appariement des champs) ne permet pas l’ajout ou la suppression de champs dans le jeu de données cible.

  • Si les références spatiales d'une classe d'entités en entrée et cible ne correspondent pas, l'outil Ajouter projettera les entités dans la classe d'entités en entrée dans le système de coordonnées utilisé par la classe d'entités cible.

  • Cet outil n’effectue pas d’ajustement des tronçons - aucun ajustement n’est effectué sur la géométrie des entités.

  • Des couches peuvent être utilisées en tant que 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 par l'outil Ajouter.

  • Cet outil ne peut pas utiliser plusieurs couches en entrée portant le même nom. Pour contourner ce problème, utilisez le bouton de navigation de la boîte de dialogue de l'outil pour rechercher les chemins complets de chacun des Jeux de données en entrée.

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

Syntaxe

Append(inputs, target, {schema_type}, {field_mapping}, {subtype}, {expression})
ParamètreExplicationType 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 seront transférés, mais les entités seront supprimées. Si une table est ajoutée à une classe d’entités, les lignes de la table en entrée présenteront 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 seront ajoutées.

Table View; Raster Layer
schema_type
(Facultatif)

Spécifie si la structure (définitions de champ) des jeux de données en entrée doit correspondre à la structure du jeu de données cible pour que des données soient ajoutées.

  • TESTLa structure de jeu de données en entrée (définitions de champ) doit correspondre à la structure du jeu de données cible. Une erreur est renvoyée si les structures ne correspondent pas.
  • NO_TESTLa structure de jeu de données en entrée (définitions de champ) ne doit pas nécessairement correspondre à la structure 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 seront pas appariés au jeu de données cible à moins que l’appariement soit explicitement défini dans le paramètre Field Map (Appariement des champs).
String
field_mapping
(Facultatif)

Contrôle la manière dont les champs attributaires émanant des jeux de données en entrée sont transférés ou appariés au jeu de données cible.

Ce paramètre peut uniquement être utilisé si le paramètre schema_type est défini sur NO_TEST.

Comme les données des jeux de données en entrée sont ajoutées dans un jeu de données cible existant qui a une structure (définitions de champ) prédéfinie, les champs ne peuvent pas être ajoutés ou supprimés depuis le jeu de données cible. Vous pouvez définir des règles de combinaison pour chaque champ en sortie.

Les règles de combinaison permettent de spécifier la manière dont les valeurs de deux champs en entrée ou plus sont combinées ou fusionnées en une seule valeur en sortie. Plusieurs règles de combinaison permettent de déterminer de quelle manière sont renseignées les valeurs du champ en sortie.

  • Premier : utilisez la première valeur des champs en entrée.
  • Dernier : utilisez la dernière valeur des champs en entrée.
  • Joindre : concaténez (joignez) les valeurs des champs en entrée.
  • Somme : calculez le total des valeurs des champs en entrée.
  • Moyenne : calculez la moyenne des valeurs des champs en entrée.
  • Médiane : calculez la valeur médiane (milieu) des valeurs des champs en entrée.
  • Mode – Utilisez la valeur avec la plus haute fréquence.
  • Min. : utilisez la valeur minimale de toutes les valeurs des champs en entrée.
  • Max. : utilisez la valeur maximale de toutes les valeurs des champs en entrée.
  • Écart type : utilisez la méthode de classification par écart type sur les valeurs de tous les champs en entrée.
  • Total – Recherchez le nombre d'enregistrements inclus dans le calcul.

Dans Python, vous pouvez utiliser la classe FieldMappings pour définir ce paramètre.

Field Mappings
subtype
(Facultatif)

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

String
expression
(Facultatif)

Expression SQL permettant de sélectionner un sous-ensemble d’enregistrements dans les 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 par rapport à l’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 ne sera ajouté à la 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

Sortie dérivée

NomExplicationType de données
output

Jeu de données cible mis à jour.

Vue tabulaire, couche raster

Exemple de code

Exemple 1 d'utilisation de l'outil Append (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.Append_management(["north.shp", "south.shp", "east.shp", "west.shp"], 
                        "wholecity.shp", "TEST")
Exemple 2 d’utilisation de l’outil Append (Ajouter) (script autonome)

Le script suivant montre comment utiliser la fonction Append.

# Name: Append.py
# Description: Use the Append tool to combine several shapefiles
# import system modules 
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
outLocation = "C:/Output"
outName = "MA_towns.shp"
schemaType = "NO_TEST"
fieldMappings = ""
subtype = ""
# Process:  Create a new empty feature class to append shapefiles into
emptyFC = arcpy.CreateFeatureclass_management(outLocation, outName, "POLYGON", 
                                              "amherst.shp")
# All polygon FCs in the workspace are MA town shapefiles, we want to append 
# these to the empty FC. The list will resemble ["amherst.shp", "hadley.shp", 
# "pelham.shp", "coldspring.shp"] 
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(emptyFC)
# Add input fields for the town name into 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.shp","TOWNNAME")
fldMap.addInputField("hadley.shp","NAME")
fldMap.addInputField("pelham.shp","TOWN_NAME")
fldMap.addInputField("coldspring.shp","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 thing for the POPULATION field
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst.shp","POPULATION")
fldMap.addInputField("hadley.shp","POP")
fldMap.addInputField("pelham.shp","POP_2010")
fldMap.addInputField("coldspring.shp","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 into the empty feature class
arcpy.Append_management(fcList, os.path.join(outLocation, emptyFC), schemaType, 
                        fieldMappings, subtype)

Informations de licence

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

Rubriques connexes