Zona de influencia en 3D (3D Analyst)

Resumen

Crea una zona de influencia en 3D alrededor de la entidad de línea o punto.

Ilustración

Buffer 3D illustration

Uso

Sintaxis

Buffer3D_3d (in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
ParámetroExplicaciónTipo 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

Las entidades multiparche de salida que representan las zonas de influencia en 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 no se especifican las unidades lineales de Distancia o se escriben como Desconocido, se utiliza la unidad lineal de la referencia espacial de las entidades de entrada.

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.

  • STRAIGHTLa forma de conexiones entre vértices será recta. Esta es la opción predeterminada.
  • ROUNDLa forma de conexiones entre vértices será redonda.
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.

Long
simplification_tolerance
(Opcional)

La simplificación elimina los vértices de las líneas de entrada al mantener puntos de vértice críticos que definen la forma de las líneas originales dentro del desplazamiento máximo permisible. De manera predeterminada, la simplificación no se llevará a cabo a menos que se especifique un valor de tolerancia. La tolerancia de simplificación se puede definir como una cadena de caracteres que contiene el valor numérico y su unidad de medida lineal deseada (por ejemplo, 1.5 metros) o un valor numérico sin una unidad de medida asociada, en cuyo caso se colocará de manera predeterminada en la unidad lineal de la referencia espacial horizontal de la entrada.

Linear Unit

Ejemplo de código

Ejemplo 1 Buffer3D (ventana de Python)

El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana 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)

El siguiente ejemplo 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

Temas relacionados

9/11/2013