É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 sera une classe d’entités ; si la première entrée est une table, la sortie sera 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) | Les champs attributaires qui figurent dans la sortie avec les propriétés de champ correspondantes et les champs source. Par défaut, tous les champs des entrées seront inclus. Il est possible d’ajouter, de supprimer, de renommer, de réorganiser les champs, ainsi que de modifier leurs propriétés. 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. Les règles de combinaison suivantes permettent de déterminer de quelle manière sont renseignées les valeurs du champ en sortie :
| Field Mappings |
Ajouter des informations sur la source à la sortie (Facultatif) |
Spécifie si les informations sur la 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 |
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 sera une classe d’entités ; si la première entrée est une table, la sortie sera 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.
Pour gérer les champs dans le jeu de données en sortie, ainsi que le contenu de ces champs, utilisez le paramètre Appariement des champs.
- Pour modifier l’ordre des champs, sélectionnez un nom de champ et faites-le glisser jusqu’à la nouvelle position.
- 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 disponibles sont : 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 la 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.
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 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 rasters dans un nouveau raster en sortie.
Paramètres
arcpy.management.Merge(inputs, output, {field_mappings}, {add_source})
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 sera une classe d’entités ; si la première entrée est une table, la sortie sera 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) | Les champs attributaires qui figurent dans la sortie avec les propriétés de champ correspondantes et les champs source. Par défaut, tous les champs des entrées seront inclus. Il est possible d’ajouter, de supprimer, de renommer, de réorganiser les champs, ainsi que de modifier leurs propriétés. 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. Les règles de combinaison suivantes permettent de déterminer de quelle manière sont renseignées les valeurs du champ en sortie :
Dans Python, vous pouvez utiliser la classe FieldMappings pour définir ce paramètre. | Field Mappings |
add_source (Facultatif) | Spécifie si les informations sur la 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 |
Exemple de code
Le script suivant pour la fenêtre Python 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
Vous avez un commentaire à formuler concernant cette rubrique ?