Union 3D (3D Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Combine des entités multipatch superposées fermées à partir d'une classe d'entités en entrée.

Illustration

Union 3D

Utilisation

Syntaxe

Union3D_3d (in_feature_class, {group_field}, out_feature_class, {out_table}, {disable_optimization}, {output_all})
ParamètreExplicationType de données
in_feature_class

Entités multipatch fermées à intersecter et à agréger.

Feature Layer
group_field
(Facultatif)

Champ utilisé pour identifier les entités qui doivent être regroupées.

Field
out_feature_class

Classe d'entités multipatch en sortie qui stocke les entités agrégées.

Feature Class
out_table
(Facultatif)

Table plusieurs-à-un qui représente la relation entre les entités en entrée et leurs équivalents agrégés.

Table
disable_optimization
(Facultatif)

Indique si l'optimisation s'opère automatiquement ou si elle est désactivée :

  • ENABLEDL'optimisation s'exécute sur les données en entrée. L'outil exécute un prétraitement afin de détecter les entités susceptibles de se superposer, en les groupant, afin d'améliorer les performances et de créer des sorties uniques pour chaque ensemble d'entités superposées. Il s'agit du paramétrage par défaut.
  • DISABLEDAucune optimisation n'est exécutée sur les données en entrée. Les entités sont unies en fonction de leur champ de regroupement ou toutes les entités sont unies dans une entité en sortie unique.
Boolean
output_all
(Facultatif)

Détermine si la classe d'entités en sortie contient toutes les entités ou seulement les entités superposées qui ont été agrégées.

  • DISABLEDSeules les entités agrégées sont enregistrées dans la sortie.
  • ENABLEDToutes les entités en entrée sont enregistrées dans la sortie. Il s'agit de l'option par défaut.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil Union3D (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :

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')
2e exemple d'utilisation de l'outil Union3D (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python 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)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014