Différence 3D (3D Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Permet d'éliminer des portions d'entités multipatch dans une classe d'entités cible, en cas de superposition avec des volumes clos d'entités multipatch dans la classe d'entités de soustraction.

Illustration

Différence 3D

Utilisation

Syntaxe

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

Entités multipatch dont les entités sont supprimées par les entités du diminuteur.

Feature Layer
in_features_subtrahend

Entités multipatch soustraites de l'entrée.

Feature Layer
out_feature_class

Classe d'entités multipatch en sortie qui contient les entités obtenues.

Feature Class
out_table
(Facultatif)

Table facultative qui stocke les informations sur les relations entre les entités en entrée et la sortie de différence. Les champs suivants sont présents dans cette table :

  • Output_ID - ID unique de la classe d'entités en sortie.
  • Minuend_ID - ID unique du multipatch principal.
  • Subtrahend - ID unique de l'entité multipatch soustraite du multipatch principal.
Table

Exemple de code

1er exemple d'utilisation de l'outil Difference3D (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.Difference3D_3d('input_mp.shp', 'erase_mp.shp', 'difference_mp.shp')
2e exemple d'utilisation de l'outil Difference3D (script autonome)

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

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