Resumen
Crea una zona de influencia tridimensional alrededor de los puntos o líneas para producir entidades multiparche esféricas o cilíndricas.
Ilustración
Uso
La salida de esta herramienta son entidades multiparche cerradas que se pueden utilizar en los cálculos volumétricos y otras herramientas de operadores de conjuntos 3D.
Considere especificar un valor de Simplificación para mejorar el rendimiento con entidades de línea complejas, como líneas curvas con un gran número de vértices.
Es posible que esta herramienta no pueda generar un multiparche cerrado para ciertas entidades de línea si la geometría de la línea y la distancia de zona de influencia causan regiones superpuestas con vértices densos. Como regla general, la mejor opción es evitar distancias de zona de influencia que puedan ocasionar que se creen regiones superpuestas dentro de la misma entidad.
Sintaxis
Buffer3D_3d (in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
Parámetro | Explicación | Tipo de datos |
in_features | Las entidades de línea o punto en las que se creará una zona de influencia. | Feature Layer |
out_feature_class | Salida multiparche que contiene las zonas de influencia 3D. | Feature Class |
buffer_distance_or_field | La distancia de la zona de influencia alrededor de las entidades de entrada, que se pueden proporcionar como una distancia lineal o se derivan de un campo numérico de la tabla de atributos de la entidad de entrada. Si la distancia de la zona de influencia se especifica a partir de un campo de entrada, su unidad de medida se derivará de la referencia espacial de la entidad. Si la distancia lineal se especifica como un valor numérico, se admiten las siguientes unidades de medida:
| Linear Unit; Field |
buffer_joint_type (Opcional) |
La forma de la zona de influencia entre los vértices de los segmentos de línea. Este parámetro solamente es válido para entidades de línea de entrada.
| String |
buffer_quality (Opcional) | El número de segmentos utilizados para representar las entidades multiparche resultantes. El valor predeterminado es 20, pero cualquier número entre el rango de 6 a 60 se pueden introducir. Un valor mayor de Calidad de la zona de influencia produce entidades 3D más suaves, pero también alarga el tiempo de procesamiento. | Long |
simplification_tolerance (Opcional) | Simplifica las líneas de entrada manteniendo la forma de estas en el desplazamiento especificado de la forma original. La simplificación no se llevará a cabo si no se ha especificado un valor. Se admiten las siguientes unidades de medida:
| Linear Unit |
Ejemplo de código
Ejemplo 1 Buffer3D (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de 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')
Ejemplo 2 de Buffer3D (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.
'''****************************************************************************
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)
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Requiere 3D Analyst
- ArcGIS for Desktop Standard: Requiere 3D Analyst
- ArcGIS for Desktop Advanced: Requiere 3D Analyst