Différence 3D (3D Analyst)

Récapitulatif

Calcule l'intersection géométrique de deux volumes définis par des entités multipatch fermées, en fonction de l'intersection géométrique de leurs faces. Soustrait d'une classe d'entités tous les volumes d'une autre et écrit le résultat dans une nouvelle classe d'entités en sortie.

Pour en savoir plus sur le fonctionnement de l'outil Différence 3D

Utilisation

Syntaxe

Difference3D_3d (in_features_minuend, in_features_subtrahend, out_feature_class)
ParamètreExplicationType de données
in_features_minuend

Collecte des entités multipatch desquelles sont supprimées les entités multipatch diminuteurs.

Feature Layer
in_features_subtrahend

Collecte des entités multipatch qui sont soustraites des entités multipatch diminuendes.

Feature Layer
out_feature_class

Classe d'entités multipatch dans laquelle sont placés les multipatches nouvellement générés.

Feature Class

Exemple de code

1er exemple d'utilisation de l'outil Différence 3D (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Différence 3D en mode immédiat.

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Difference3D_3d('input_mp.shp', 'erase_mp.shp', 'difference_mp.shp')
2e exemple d'utilisation de l'outil Différence 3D (script autonome)

Le script Python ci-dessous illustre l'utilisation de la fonction Différence 3D dans un script autonome.

'''****************************************************************************
Name: Difference3D Example
Description: This script demonstrates how to create 
             shadow volumes that fall along a specified surface using the
             Difference3D tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inMP = 'buildings.shp'
    eraseMP = 'bldg_extensions.shp'
    outMP = arcpy.CreateUniqueName('bldgs_without_extensions.shp')
    # Execute Difference3D
    arcpy.Difference3D_3d(inMP, eraseMP, outMP)

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

Cet outil n'utilise pas d'environnement de géotraitement

Rubriques connexes

Informations de licence

ArcView : Obligatoire 3D Analyst
ArcEditor : Obligatoire 3D Analyst
ArcInfo : Obligatoire 3D Analyst

7/10/2012