Union 3D (3D Analyst)
Récapitulatif
Calcule l'intersection géométrique des faces des multipatches superposés, puis agrège les multipatch. Le nombre d'entités créées en tant que sortie dépend des paramètres de l'outil.
Utilisation
-
La classe ou couche d'entités en entrée doit avoir une géométrie multipatch.
-
Seuls les multipatches fermés sont traités. Les autres multipatches sont ignorés et une erreur est consignée dans le journal de géotraitement. Utilisez l'outil de géotraitement Fermeture pour vérifier si toutes les entités sont fermées.
-
L'outil Union 3D peut créer des entités volumineuses et complexes dans la classe d'entités en sortie. Ces entités peuvent engendrer des problèmes d'affichage et/ou amoindrir les performances d'affichage. Soyez prudent lorsque vous décidez du nombre d'entités à agréger.
-
La classe d'entités en sortie ne possède aucun des attributs de la classe d'entités en entrée. Une table facultative peut être créée, qui enregistre les entités unies afin de créer une entité.
L'outil Union 3D est un opérateur 3D qui fait partie du jeu d'outils Entités 3D. Pour plus d'informations sur les opérateurs de jeu à utiliser et sur la manière de les utiliser, reportez-vous à la rubrique Utilisation d'opérateurs de jeu 3D.
Syntaxe
Paramètre | Explication | Type de données |
in_feature_class |
Entités multipatch fermées à intersecter et à agréger. | Features |
group_field (Facultatif) |
Champ utilisé pour grouper des entités multipatch en entrée à des fins d'agrégation. | Field |
out_feature_class |
Classe d'entités multipatch dans laquelle sont placés les multipatch agrégés. | Feature Class |
out_table (Facultatif) |
Table plusieurs-à-un représentant les entités en entrée et les entités en sortie dans lesquelles ont lieu les agrégations. | Table |
disable_optimization (Facultatif) |
Désactive l'optimisation qui détermine automatiquement les entités multipatch qui se superposent et unie uniquement ces entités.
| Boolean |
output_all (Facultatif) |
Cette option force l'outil à enregistrer toutes les entités en entrée en tant qu'entités en sortie. Les entités sans superpositions sont écrites dans la sortie non modifiée. Les entités superposées sont unies, puis enregistrées dans la sortie.
| Boolean |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Union 3D en mode immédiat.
import arcpy from arcpy import env arcpy.CheckOutExtension('3D') env.workspace = 'C:/data' arcpy.Union3D_3d('multipatch.shp', 'union_output.shp', 'GROUP_FIELD', 'DISABLE', 'ENABLE', 'UnionTable.dbf')
Le script Python ci-dessous illustre l'utilisation de la fonction Union 3D dans un script autonome.
'''**************************************************************************** Name: Union3D Example Description: This script demonstrates how to use the Union3D tool. ****************************************************************************''' # Import system modules import arcpy import exceptions, sys, traceback from arcpy import env try: arcpy.CheckOutExtension('3D') # Set environment settings env.workspace = 'C:/data' # Set Local Variables inMP = "multipatch.shp" # Ensure output multipatch has a unique name outMP = arcpy.CreateUniqueName("union_output.shp") outTbl = arcpy.CreateUniqueName("UnionTable.dbf") GroupField = "Type" optimize = "DISABLE" solids = "ENABLE" #Execute Union3D arcpy.ddd.Union3D(inMP, outMP, GroupField, optimize, solids, outTbl) arcpy.CheckInExtension('3D') except arcpy.ExecuteError: print arcpy.GetMessages() except: # Get the traceback object tb = sys.exc_info()[2] tbinfo = traceback.format_tb(tb)[0] # Concatenate error information into message string pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\ .format(tbinfo, str(sys.exc_info()[1])) msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2)) # Return python error messages for script tool or Python Window arcpy.AddError(pymsg) arcpy.AddError(msgs)