Étiquette | Explication | Type de données |
Jeux de données en entrée |
Jeux de données en entrée qui seront fusionnés dans un nouveau jeu de données en sortie. Les jeux de données en entrée peuvent être des tables ou des classes d'entités ponctuelles, linéaires ou surfaciques. Les classes d’entités en entrée doivent toutes être du même type de géométrie. Les tables et classes d'entités peuvent être combinées dans un jeu de données en sortie unique. Le type en sortie est déterminé par la première entrée. Si la première entrée est une classe d’entités, la sortie est une classe d’entités. Si la première entrée est une table, la sortie est une table. Si une table est fusionnée dans une classe d'entités, les lignes de la table en entrée auront une géométrie nulle. | Table View |
Jeu de données en sortie | Jeu de données en sortie qui contiendra tous les jeux de données en entrée combinés. | Feature Class;Table |
Appariement des champs (Facultatif) | Utilisez l’appariement des champs pour réconcilier les différences de structures et faire correspondre des champs attributaires entre plusieurs jeux de données. Par défaut, la sortie inclut tous les champs des jeux de données en entrée. Utilisez l’appariement des champs pour ajouter, supprimer, renommer et réorganiser les champs, ainsi que pour modifier d’autres propriétés des champs. L’appariement des champs peut aussi servir à combiner les valeurs de deux champs en entrée ou plus en un seul champ en sortie. | Field Mappings |
Ajouter des informations sur la source à la sortie (Facultatif) |
Indique si les informations source seront ajoutées au jeu de données en sortie dans un nouveau champ de texte MERGE_SRC. Les valeurs situées dans le champ MERGE_SRC indiquent le chemin d’accès au jeu de données en entrée ou le nom de la couche qui constitue la source de chaque enregistrement dans la sortie.
| Boolean |
Mode d’appariement des champs (Facultatif) | Spécifie comment les champs du jeu de données en entrée sont transférés vers le jeu de données en sortie.
| String |
Synthèse
Combine plusieurs jeux de données en entrée dans un nouveau jeu de données en sortie unique. Cet outil peut combiner des tables ou des classes d'entités ponctuelles, linéaires ou surfaciques.
Utilisez l’outil Ajouter pour combiner des jeux de données en entrée avec un jeu de données existant.
Illustration
Utilisation
Utilisez cet outil pour combiner des jeux de données de plusieurs sources dans un nouveau jeu de données en sortie unique. Toutes les classes d’entités en entrée doivent être du même type de géométrie. Par exemple, plusieurs classes d'entités points peuvent être combinées, mais une classe d'entités linéaires ne peut être combinée à une classe d'entités surfaciques.
Les tables et classes d'entités peuvent être combinées dans un jeu de données en sortie unique. Le type en sortie est déterminé par la première entrée. Si la première entrée est une classe d’entités, la sortie est une classe d’entités. Si la première entrée est une table, la sortie est une table. Si une table est fusionnée dans une classe d'entités, les lignes de la table en entrée auront une géométrie nulle.
Utilisez le paramètre Mode d’appariement des champs pour spécifier comment les champs des jeux de données en entrée sont transférés vers le jeu de données en sortie. Par défaut, l’outil apparie les champs de même nom ensemble, tandis que les champs qui sont propres aux entrées sont conservés dans la sortie. Utilisez le paramètre Appariement des champs lorsque l’option Utiliser l’appariement des champs pour réconcilier les différences de champs est spécifiée. Si tous les jeux de données en entrée ont la même structure, utilisez l’option Utiliser la structure du premier jeu de données uniquement pour optimiser les performances.
Le paramètre Field Map (Appariement des champs) permet de gérer les champs et leur contenu dans le jeu de données en sortie.
- Ajoutez et supprimez des champs de la liste des champs, réorganisez la liste des champs et renommez des champs.
- Le type de données par défaut d’un champ en sortie est le même que le type de données du premier champ en entrée (du même nom) qu’il rencontre. Vous pouvez modifier le type de données en un autre type de données valide.
- Utilisez une action pour identifier la manière dont les valeurs d’un ou de plusieurs champs en entrée sont fusionnées en un seul champ en sortie. 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) permet d’enregistrer un appariement des champs sous forme de fichier .fieldmap.
- L’option Load (Charger) 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) sur les champs de la source du texte pour sélectionner les caractères d’une valeur en entrée à extraire dans le champ en sortie. 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.
Cet outil ne fractionne ou ne modifie pas les géométries issues des jeux de données en entrée. Toutes les entités des jeux de données en entrée demeurent intactes dans le jeu de données en sortie, même si les entités se superposent. Pour combiner, ou planariser, les géométries d’entités, utilisez l’outil Agréger.
Si les classes d’entités sont combinées, le jeu de données en sortie se trouve dans le système de coordonnées de la première classe d’entités spécifiée pour le paramètre Jeux de données en entrée, sauf si l’environnement Système de coordonnées en sortie est défini.
Cet outil ne prend pas en charge les classes d'entités annotations. Utilisez l’outil Ajouter des classes d’entités annotations pour combiner les classes d’entités annotations.
Cet outil ne prend pas en charge les jeux de données raster. Utilisez l’outil Mosaïque vers nouveau raster pour combiner plusieurs rasters dans un nouveau raster en sortie.
Paramètres
arcpy.management.Merge(inputs, output, {field_mappings}, {add_source}, {field_match_mode})
Nom | Explication | Type de données |
inputs [inputs,...] |
Jeux de données en entrée qui seront fusionnés dans un nouveau jeu de données en sortie. Les jeux de données en entrée peuvent être des tables ou des classes d'entités ponctuelles, linéaires ou surfaciques. Les classes d’entités en entrée doivent toutes être du même type de géométrie. Les tables et classes d'entités peuvent être combinées dans un jeu de données en sortie unique. Le type en sortie est déterminé par la première entrée. Si la première entrée est une classe d’entités, la sortie est une classe d’entités. Si la première entrée est une table, la sortie est une table. Si une table est fusionnée dans une classe d'entités, les lignes de la table en entrée auront une géométrie nulle. | Table View |
output | Jeu de données en sortie qui contiendra tous les jeux de données en entrée combinés. | Feature Class;Table |
field_mappings (Facultatif) | Utilisez l’appariement des champs pour réconcilier les différences de structures et faire correspondre des champs attributaires entre plusieurs jeux de données. Par défaut, la sortie inclut tous les champs des jeux de données en entrée. Utilisez l’appariement des champs pour ajouter, supprimer, renommer et réorganiser les champs, ainsi que pour modifier d’autres propriétés des champs. L’appariement des champs peut aussi servir à combiner les valeurs de deux champs en entrée ou plus en un seul champ en sortie. Dans Python, utilisez la classe FieldMappings pour définir ce paramètre. | Field Mappings |
add_source (Facultatif) | Indique si les informations source seront ajoutées au jeu de données en sortie dans un nouveau champ de texte MERGE_SRC. Les valeurs situées dans le champ MERGE_SRC indiquent le chemin d’accès au jeu de données en entrée ou le nom de la couche qui constitue la source de chaque enregistrement dans la sortie.
| Boolean |
field_match_mode (Facultatif) | Spécifier comment les champs du jeu de données en entrée sont transférés vers le jeu de données en sortie
| String |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction Merge :
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Merge(["majorrds.shp", "Habitat_Analysis.gdb/futrds"],
"C:/output/Output.gdb/allroads", "", "ADD_SOURCE_INFO")
Utilisez la fonction Merge pour combiner les entités de deux classes d’entités rues en un jeu de données unique.
# Name: Merge.py
# Description: Use Merge to move features from two street
# feature classes into a single dataset with field mapping
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
addSourceInfo = "ADD_SOURCE_INFO"
# Create FieldMappings object to manage merge output fields
fieldMappings = arcpy.FieldMappings()
# Add all fields from both oldStreets and newStreets
fieldMappings.addTable(oldStreets)
fieldMappings.addTable(newStreets)
# Add input fields "STREET_NAM" & "NM" into new output field
fldMap_streetName = arcpy.FieldMap()
fldMap_streetName.addInputField(oldStreets, "STREET_NAM")
fldMap_streetName.addInputField(newStreets, "NM")
# Set name of new output field "Street_Name"
streetName = fldMap_streetName.outputField
streetName.name = "Street_Name"
fldMap_streetName.outputField = streetName
# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap_streetName)
# Add input fields "CLASS" & "IFC" into new output field
fldMap_streetClass = arcpy.FieldMap()
fldMap_streetClass.addInputField(oldStreets, "CLASS")
fldMap_streetClass.addInputField(newStreets, "IFC")
# Set name of new output field "Street_Class"
streetClass = fldMap_streetClass.outputField
streetClass.name = "Street_Class"
fldMap_streetClass.outputField = streetClass
# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap_streetClass)
# Remove all output fields from the field mappings, except fields
# "Street_Class", "Street_Name", & "Distance"
for field in fieldMappings.fields:
if field.name not in ["Street_Class", "Street_Name", "Distance"]:
fieldMappings.removeFieldMap(fieldMappings.findFieldMapIndex(field.name))
# Since both oldStreets and newStreets have field "Distance", no field mapping
# is required
# Use Merge tool to move features into single dataset
uptodateStreets = "C:/output/Output.gdb/allroads"
arcpy.management.Merge([oldStreets, newStreets], uptodateStreets, fieldMappings,
addSourceInfo)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?