Zone tampon 3D (3D Analyst)
Récapitulatif
Crée une zone tampon 3D autour d'entités ponctuelles ou linéaires.
Illustration
Utilisation
Génère des sphères pour les points en entrée, et des entités cylindriques pour les lignes en entrée.
Produit en sortie des entités multipatch fermées utilisées dans des calculs volumétriques, y compris ceux fournis par les outils de l'opérateur de jeu 3D. Reportez-vous à la rubrique Utilisation d'opérateurs de jeu 3D pour plus d'informations sur les opérateurs de jeu à utiliser et sur la manière de les utiliser..
L'augmentation de Qualité de la mémoire tampon fournit des entités 3D plus lisses au détriment du temps de traitement.
Indiquez une valeur Simplification pour améliorer les performances en présence d'entités linéaires complexes, telles que des courbes intégrant de nombreux sommets.
Cet outil risque de ne pas générer de multipatch fermé pour certaines entités linéaires en raison de la géométrie de la ligne et de la distance de la zone tampon utilisée. Evitez les distances de zone tampon qui risquent d'entraîner une superposition des zones tampon dans la même entité et spécifiez une distance de zone tampon inférieure pour les entités qui ne génèrent aucune sortie.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Entités ponctuelles ou linéaires à bufferiser. | Feature Layer |
out_feature_class |
Entités multipatch en sortie qui représentent les zones tampon 3D. | Feature Class |
buffer_distance_or_field |
Distance de la zone tampon autour des entités en entrée qui peut être fournie sous la forme d'une distance linéaire ou dérivée d'un champ numérique de la table attributaire de l'entité en entrée. Si les unités linéaires de distance ne sont pas indiquées ou sont spécifiées inconnues, l'unité linéaire de la référence spatiale des entités en entrée est utilisée. | Linear Unit; Field |
buffer_joint_type (Facultatif) |
Forme de la zone tampon entre les sommets des segments de ligne. Ce paramètre est uniquement valide pour les entités linéaires en entrée.
| String |
buffer_quality (Facultatif) |
Nombre de segments permettant de représenter les entités multipatch résultantes. Le nombre par défaut est 20, mais vous pouvez entrer un nombre compris entre 6 et 60. | Long |
simplification_tolerance (Facultatif) | La simplification supprime les sommets des lignes en entrée en conservant des points de sommet critiques qui définissent la forme des lignes d'origine selon le décalage maximal autorisé. Par défaut, la simplification n'est pas effectuée à moins qu'une valeur de tolérance ne soit spécifiée. La tolérance de simplification peut être définie en tant que chaîne comportant la valeur numérique et l'unité de mesure linéaire souhaitée (par exemple, 1,5 mètre) ou une valeur numérique sans unité de mesure associée, auquel cas sa valeur par défaut est l'unité linéaire de la référence spatiale horizontale en entrée. | Linear Unit |
Exemple de code
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.Buffer3D_3d('lineFC.shp', 'buffer3d.shp', '15 Meters',
'Round', 30, '1 Meters')
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''****************************************************************************
Name: Buffer 3D Example
Description: This script demonstrates an application of
the Buffer 3D and Inside 3D tools.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Set Local Variables
inFC = 'lineFC.shp'
bufferOut = 'buffer3d.shp'
# Execute Buffer 3D
arcpy.Buffer3D_3d(inFC, bufferOut, '15 Meters', 'Round', '30', '1 Meters')
arcpy.Inside3D_3d(bufferOut, 'survey_pts.shp', 'inside_analysis.dbf')
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)