Union (Analyse)
Récapitulatif
Calcule une union géométrique des Entités en entrée. Toutes les entités sont enregistrées dans la Classe d'entités en sortie avec les attributs des Entités en entrée auxquelles elles sont superposées.
Pour en savoir plus sur l'utilisation de la fonction Agréger
Illustration
Utilisation
-
Toutes les classes d'entités et les couches d'entités en entrée doivent avoir une géométrie surfacique.
-
Le paramètre Autoriser les discontinuités peut être utilisé avec les valeurs ALL ou ONLY_FID sur le paramètre Attribut de jointure. Cela permet l'identification des surfaces résultantes entièrement entourées par les polygones résultants. Les attributs FID pour ces entités GAP ont tous la valeur -1.
-
Les valeurs attributaires provenant des classes d'entités en entrée sont copiées vers la classe d'entités en sortie. Toutefois, si l'entrée est une couche créée par l'outil Générer une couche et que la "Règle de division" est activée pour un champ, alors un quotient de la valeur attributaire en entrée est calculé pour la valeur attributaire en sortie. Lorsque la "Règle de division" est activée, lors de chaque fractionnement d'une entité dans une opération de superposition, les attributs des entités résultantes sont un quotient de la valeur attributaire de l'entité en entrée. La valeur en sortie dépend du quotient de division de la géométrie d'entité en entrée. Par exemple, si la géométrie en entrée a été divisée en parties égales, la moitié de la valeur attributaire de l'entité en entrée est affectée à la valeur attributaire de chaque nouvelle entité. La "Règle de division" s'applique uniquement aux champs de type numérique.
Attention :Les outils de géotraitement ne respectent pas les règles de fractionnement de champ des classes d'entités ou des tables de géodatabase.
-
Cet outil utilise un processus de tuilage pour la gestion des jeux de données très volumineux afin d'améliorer les performances et l'évolutivité. Pour plus de détails, reportez-vous à la rubrique Géotraitement sur jeux de données volumineux.
-
Cet outil peut générer des entités multi-parties dans la sortie même si toutes les entrées étaient des entités en une partie. Le cas échéant, pour éliminer les entités multi-parties, utilisez l'outil Multi-parties vers une partie sur la classe d'entités en sortie.
Avec les licences ArcView et ArcEditor, le nombre de classes ou de couches d'entités en entrée est limité à deux.
Syntaxe
Paramètre | Explication | Type de données |
in_features [[in_features, {Rank}]},...] |
Liste des classes ou couches d'entités en entrée. Lorsque la distance entre les entités est inférieure à la tolérance d'agrégat, les entités de classement inférieur s'alignent sur l'entité de classement le plus élevé. Le classement le plus élevé est 1. Toutes les entités en entrée doivent être des polygones. | Value Table |
out_feature_class |
Classe d'entités devant contenir les résultats. | Feature Class |
join_attributes (Facultatif) |
Détermine les attributs de la classe d'entités en entrée transférés vers la classe d'entités en sortie.
| String |
cluster_tolerance (Facultatif) |
La distance minimum séparant toutes les coordonnées d'entité (nœuds et sommets) ainsi que la distance de déplacement possible d'une coordonnée sur X ou Y (ou les deux). | Linear unit |
gaps (Facultatif) |
Les interruptions sont des surfaces de la classe d'entités en sortie entièrement entourées par d'autres polygones. Cela ne constitue pas une opération non valide, mais il est préférable de les identifier à des fins d'analyse. Pour rechercher les interruptions dans la sortie, définissez l'option sur la valeur NO_GAPS afin de créer une entité dans ces surfaces. Pour sélectionner ces entités, effectuez une requête sur la classe d'entités en sortie portant sur les valeurs FID de toutes les entités en entrée égales à -1.
| Boolean |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Union en mode immédiat.
import arcpy from arcpy import env env.workspace = "C:/data/data/gdb" arcpy.Union_analysis (["well_buff50", "stream_buff200", "waterbody_buff500"], "water_buffers", "NO_FID", 0.0003) arcpy.Union_analysis ([["counties", 2],["parcels", 1],["state", 2]], "state_landinfo")
Le script autonome ci-dessous illustre deux applications possibles de la fonction Union dans l'écriture de scripts.
# unions.py # Purpose: union 3 feature classes # Author: ESRI # Import the system modules import arcpy from arcpy import env # Set the current workspace # (to avoid having to specify the full path to the feature classes each time) env.workspace = "c:/data/data.gdb" # Union 3 feature classes but only carry the FID attributes to the output inFeatures = ["well_buff50", "stream_buff200", "waterbody_buff500"] outFeatures = "water_buffers" clusterTol = 0.0003 arcpy.Union_analysis (inFeatures, outFeatures, "ONLY_FID", clusterTol) # Union 3 other feature classes, but specify some ranks for each # since parcels has better spatial accuracy inFeatures = [["counties", 2],["parcels", 1],["state", 2]] outFeatures = "state_landinfo" arcpy.Union_analysis (inFeatures, outFeatures)