Résumé
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. Tous les jeux de données en entrée doivent être du même type. Par exemple, plusieurs classes d'entités points peuvent être combinées, ou plusieurs tables peuvent être combinées, mais une classe d'entités linéaires ne peut être combinée à une classe d'entités surfaciques.
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.
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é, 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 dans la liste des Jeux de données en entrée, sauf si l'environnement de géotraitement 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 raster dans un nouveau raster en sortie.
Syntaxe
arcpy.management.Merge(inputs, output, {field_mappings})
Paramètre | Explication | Type de données |
inputs [inputs,...] | Jeux de données en entrée qui seront combiné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 jeux de données en entrée doivent tous être du même type. | 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) | Contrôle la manière dont les champs attributaires issus des jeux de données en entrée sont appariés et transférés vers le jeu de données en sortie. Vous pouvez ajouter, renommer ou supprimer des champs en sortie et définir des propriétés, telles que le type de données et la règle de combinaison. 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 déterminent la manière dont le champ en sortie est renseigné avec des valeurs.
Vous pouvez utiliser la classe FieldMappings ArcPy pour définir ce paramètre. | Field Mappings |
Exemple de code
Exemple 1 d'utilisation de l'outil Combiner (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil Combiner.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Merge_management(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], "C:/output/Output.gdb/allroads")
Exemple 2 d'utilisation de l'outil Combiner (script autonome)
Utilisez l'outil Combiner pour déplacer des entités de deux classes d'entités rues dans un jeu de données unique.
# Name: Merge.py
# Description: Use Merge tool to move features from two street
# feature classes into a single dataset with field mapping
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
# 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.Merge_management([oldStreets, newStreets], uptodateStreets, fieldMappings)
Environnements
- Valeur Z en sortie par défaut
- Résolution M
- Tolérance M
- Domaine XY en sortie
- Système de coordonnées en sortie
- Étendue
- Espace de travail courant
- Transformations géographiques
- Espace de travail temporaire
- Valeurs M en sortie
- Valeurs Z en sortie
- Résolution XY
- Tolérance XY
- Résolution Z
- Tolérance Z
- Domaine Z en sortie
- Domaine M en sortie
- Conserver les pièces jointes
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui