Résumé
Crée des emprises de polygone représentant la surface bidimensionnelle d'entités multipatch.
Illustration
Utilisation
L'emprise en sortie sera dotée des mêmes champs que l'entité en entrée, ainsi que des champs suivants :
- Z_Min : la valeur Z la plus petite de l'entité multipatch.
- Z_Min : la valeur Z la plus grande de l'entité multipatch.
Utilisez le paramètre Grouper les champs si une structure se compose de plusieurs entités qui partagent un identifiant commun dans la table attributaire.
Syntaxe
MultiPatchFootprint(in_feature_class, out_feature_class, {group_field})
Paramètre | Explication | Type de données |
in_feature_class | Entité multipatch pour laquelle une emprise est générée. | Feature Layer |
out_feature_class | Classe d'entités surfaciques d'emprise obtenue | Feature Class |
group_field (Facultatif) | Le champ utilisé pour combiner les entités multipatch afin qu'elles participent au même polygone d'emprise. | Field |
Exemple de code
1er exemple d'utilisation de l'outil MultiPatchFootprint (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.MultiPatchFootprint_3d("multipatch.shp","multipatch_footprint.shp")
2e exemple d'utilisation de l'outil MultiPatchFootprint (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: MultiPatchFootprint Example
Description: Creates footprint polygons for all multipatches in a workspace.
****************************************************************************'''
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
# Determine if the feature class is a multipatch
desc = arcpy.Describe(fc)
if desc.shapeType is "MultiPatch":
outPoly = "{0}_Footprint.shp".format(desc.baseName)
#Execute MultiPatchFootprint
arcpy.ddd.MultiPatchFootprint(fc, outPoly)
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
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst