Resumen
Genera una clase de entidad multiparche que representa una barrera de horizonte o un volumen de sombra.
Ilustración
Uso
La barrera se asemeja a un ventilador de triángulos formado al dibujar una línea desde el punto de observador hasta el primer vértice del horizonte y, a continuación, al ocultar la línea a través de todos los vértices del horizonte. Considere el uso de esta herramienta para determinar si las entidades, como multiparches que representan edificios, violan la barrera sobresaliendo de ella, o si un edificio propuesto podría alterar el horizonte.
Utilice la herramienta Horizonte primero para generar un horizonte o una silueta. Una silueta produciría una representación volumétrica de la sombra de luz que viene de los puntos de observación.
Los parámetros del Radio mínimo y Radio máximo definen la longitud de los bordes del triángulo que proviene del punto de observación. Si el valor predeterminado de 0 se especifica para Radio mínimo o Radio máximo, entonces no se utiliza ninguna longitud mínima o máxima en el análisis.
Si elige crear un multiparche cerrado, entonces la salida se extraerá a la altura definida en el parámetro Elevación base, y un anillo horizontal se creará para formar la parte inferior de la geometría cerrada. Si la elevación base especificada es mayor que el vértice más alto en la barrera de horizonte, entonces la base en realidad será un techo.
La clase de entidad multiparche nueva tendrá los siguientes campos:
- OBSV_PT_ID: el FID del punto de observador utilizado para crear el horizonte que, a su vez, se usó para crear este multiparche de barrera de horizonte.
- ORIGFTR_ID: el FID de la entidad original, como un edificio, representada por el segmento del horizonte o la silueta que se usó para crear este volumen de sombra.
- SILHOUE_ID: el FID de la entidad multiparche (silueta) que se usó para crear este volumen (solo para siluetas).
Sintaxis
SkylineBarrier_3d (in_observer_point_features, in_features, out_feature_class, {min_radius_value_or_field}, {max_radius_value_or_field}, {closed}, {base_elevation}, {project_to_plane})
Parámetro | Explicación | Tipo de datos |
in_observer_point_features | La clase de entidad de puntos que contiene los puntos de observador. | Feature Layer |
in_features | La clase de entidad de línea de entrada que representa los horizontes, o la clase de entidad multiparche de entrada que representa las siluetas. | Feature Layer |
out_feature_class | La clase de entidad de salida en la que se ubica la barrera de horizonte o el volumen de sombra. | Feature Class |
min_radius_value_or_field (Opcional) | El radio mínimo al cual deben extenderse las aristas del triángulo desde el punto de observador. El valor predeterminado es 0, que significa sin mínimo. | Linear Unit; Field |
max_radius_value_or_field (Opcional) | El radio máximo al cual deben extenderse las aristas del triángulo desde el punto de observador. El valor predeterminado es 0, que significa sin máximo. | Linear Unit; Field |
closed (Opcional) | Si cerrar la barrera de horizonte con un borde y una base, de manera que el multiparche resultante parezca un sólido.
| Boolean |
base_elevation (Opcional) | Elevación de la base del multiparche cerrado; se ignora si la barrera no se va a cerrar. El valor predeterminado es 0. | Linear Unit; Field |
project_to_plane (Opcional) | Si los extremos delantero (más cerca al observador) y trasero (más lejos del observador) de la barrera deben proyectarse en un plano vertical. Esto se marca (se activa), por lo general, para crear un volumen de sombra.
| Boolean |
Muestra de código
Ejemplo 1 de SkylineBarrier (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.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
Ejemplo 2 de SkylineBarrier (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.
'''****************************************************************************
Name: Skyline Barrier Example
Description: This script demonstrates how to use the
Skyline Barrier 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
inPts = 'observers.shp'
inLine = 'skyline.shp'
outFC = 'output_barriers.shp'
minRadius = '0 METERS'
maxRadius = '200 METERS'
#Execute SkylineBarrier
arcpy.SkylineBarrier_3d(inPts, inLine, outFC, minRadius,
maxRadius, 'CLOSED')
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 Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst