Horizonte (3D Analyst)

Nivel de licencia:BasicStandardAdvanced

Resumen

Genera una clase de entidad de línea o multiparche que contiene los resultados de un análisis de horizonte o silueta.

Más información sobre cómo funciona Horizonte

Ilustración

Horizonte

Uso

Sintaxis

Skyline_3d (in_observer_point_features, out_feature_class, {in_surface}, {virtual_surface_radius}, {virtual_surface_elevation}, {in_features}, {feature_lod}, {from_azimuth_value_or_field}, {to_azimuth_value_or_field}, {azimuth_increment_value_or_field}, {max_horizon_radius}, {segment_skyline}, {scale_to_percent}, {scale_according_to}, {scale_method}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {create_silhouettes})
ParámetroExplicaciónTipo de datos
in_observer_point_features

Los puntos 3D que representan a los observadores; se genera un horizonte separado para cada uno.

Feature Layer
out_feature_class

La clase de entidad de línea en la que se ubicarán los horizontes. Como alternativa, podría ser una clase de entidad multiparche para contener siluetas de entidad.

Feature Class
in_surface
(Opcional)

La superficie funcional para determinar el horizonte.

LAS Dataset Layer; Raster Layer; TIN Layer; Terrain Layer
virtual_surface_radius
(Opcional)

El radio de la superficie virtual para definir el horizonte en lugar de una superficie real. Debe ser un valor positivo. Se ignora si se proporciona una superficie real. El valor predeterminado es 1.000.

Linear Unit
virtual_surface_elevation
(Opcional)

La elevación de la superficie virtual para definir el horizonte en lugar de una superficie real. Se ignora si se proporciona una superficie real. El valor predeterminado es 0.

Linear Unit
in_features
(Opcional)

La clase de entidad para utilizar en el análisis del horizonte. Por lo común, las entidades representan obstrucciones como los edificios en la ciudad.

Feature Layer
feature_lod
(Opcional)

El nivel de detalle en el que se debe examinar cada entidad en el análisis de horizonte.

  • FULL_DETAILSe considera cada borde dentro de la entidad en el análisis del horizonte (solo se consideran bordes de triángulos y anillos exteriores). Este es el valor más bajo pero el más preciso. Esta es la opción predeterminada.
  • CONVEX_FOOTPRINTLa contribución al análisis del horizonte se genera mediante el perímetro superior del polígono convexo que representa la envoltura convexa de la huella de la entidad, subida a la elevación del vértice más alto dentro de la entidad.
  • ENVELOPE La contribución al análisis del horizonte se genera mediante el perímetro rectangular horizontal superior del sólido rectangular que envuelva a la entidad (caras verticales perpendiculares a los ejes X e Y).
String
from_azimuth_value_or_field
(Opcional)

El acimut, en grados, desde el cual debe comenzar el análisis del horizonte. El análisis comienza en el punto del observador y se mueve a la derecha, desde el valor de Acimut de origen hasta que llega al valor de Acimut de destino. Debe ser mayor que menos 360 y menor que 360. El valor predeterminado es 0.

Double; Field
to_azimuth_value_or_field
(Opcional)

La dirección, en grados, en la que debe completarse el análisis del horizonte. El análisis comienza en el punto del observador y se mueve a la derecha, desde el valor de Acimut de origen hasta que llega al valor de Acimut de destino. No debe ser más de 360 mayor que el Acimut de origen. El valor predeterminado es 360.

Double; Field
azimuth_increment_value_or_field
(Opcional)

El intervalo angular, en grados, en el que se debe evaluar el horizonte mientras se realiza el análisis del horizonte entre el Acimut de origen y el Acimut de destino. No debe ser mayor que el resultado del Acimut de destino menos el Acimut de origen. El valor predeterminado es 1.

Double; Field
max_horizon_radius
(Opcional)

La distancia máxima a la cual se debe buscar un horizonte desde la ubicación de observador. Un valor de cero indica que no debe haber límite impuesto. El valor predeterminado es 0.

Double
segment_skyline
(Opcional)

En lugar de que solo se genere una línea para representar el horizonte desde cada punto de observador, la salida se divide en varias líneas. Cada una de estas líneas representa una entidad diferente, o una extensión de horizonte entre las entidades. Si se generan siluetas, este parámetro indicará si deben usarse rayos divergentes; para las sombras del sol, por lo general, este valor debe ser no o debe estar desmarcado.

  • NO_SEGMENT_SKYLINELos resultados de la polilínea 3D de salida no se segmentarán. Esta es la opción predeterminada.
  • SEGMENT_SKYLINELos resultados de la línea de salida se segmentarán de acuerdo con varias entidades que se encuentran durante el análisis.
Boolean
scale_to_percent
(Opcional)

Indica a qué porcentaje del ángulo vertical (ángulo por encima del horizonte o ángulo de elevación) o la elevación original debe ubicarse cada vértice del horizonte. Si se escribe 0 o 100, no se realizará ningún ajuste. El valor predeterminado es 100.

Double
scale_according_to
(Opcional)

Los valores según los cuales deben determinarse las escalas.

  • VERTICAL_ANGLELa escala se realiza al considerar el ángulo vertical de cada vértice relativo al punto de observador. Esta es la opción predeterminada.
  • ELEVATIONLa escala se realiza al considerar la elevación de cada vértice relativo al punto de observador.
String
scale_method
(Opcional)

El vértice contra el que se realizará el cálculo.

  • SKYLINE_MAXIMUMLos vértices se ajustarán a una escala relativa al ángulo vertical (o la elevación) del vértice con el ángulo vertical (o la elevación) superior. Esta es la opción predeterminada.
  • EACH_VERTEXLos vértices se ajustarán a una escala relativa al ángulo vertical (o la elevación) original de cada vértice.
String
use_curvature
(Opcional)

Indica si se debe tener en cuenta la curvatura de la tierra al generar el cordón montañoso a partir de una superficie funcional.

  • CURVATURESe tendrá en cuenta la curvatura de la tierra.
  • NO_CURVATURENo se tendrá en cuenta la curvatura de la tierra. Esta es la opción predeterminada.
Boolean
use_refraction
(Opcional)

Indica si se debe tener en cuenta la refracción atmosférica al generar el cordón montañoso a partir de una superficie funcional. Si no se especifica ninguna superficie real, al marcar esta casilla de verificación (o al introducir REFRACTION en Python) se crearán siluetas en lugar de horizontes.

  • NO_REFRACTION No se tendrá en cuenta la refracción atmosférica. Esta es la opción predeterminada.
  • REFRACTIONSe tendrá en cuenta la refracción atmosférica.
Boolean
refraction_factor
(Opcional)

Si se considera la refracción atmosférica, entonces aplique un valor escalar. El valor predeterminado es 0.13.

Double
pyramid_level_resolution
(Opcional)

Si se especifica un terreno para una superficie funcional, entonces este parámetro se completa con las resoluciones residentes en el terreno. Se puede elegir una de las resoluciones con el propósito de generar la línea del horizonte. El valor predeterminado es 0, o resolución completa.

Double
create_silhouettes
(Opcional)

Especifique si las entidades de salida representan siluetas que son visibles desde el punto del observador.

  • NO_CREATE_SILHOUETTESLas entidades de polilínea resultantes representarán el horizonte. Esta es la opción predeterminada.
  • CREATE_SILHOUETTESLas entidades de polilínea resultantes representan siluetas.
Boolean

Ejemplo de código

Ejemplo 1 de Horizonte (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.Skyline_3d("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
Ejemplo 2 de Horizonte (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:

'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the 
             Skyline 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"
    # Make sure output has a unique name
    outFC = arcpy.CreateUniqueName("skyline_output.shp")
    inSurface = "sample.gdb/featuredataset/terrain"
    obstructionFCs = "buildings.shp; billboards.shp"
    surfRad = "1000 meters"
    surfElev = "100 meters"
    LOD = "FULL_DETAIL"
    fromAzim = 0
    toAzim = 360
    incAzim = 1
    maxHorizRad = 0
    segSky = "SEGMENT_SKYLINE"
    scale = 100
    scaleAcc = "ELEVATION"
    scaleMethod = "SKYLINE_MAXIMUM"
    
    # Execute Skyline
    arcpy.Skyline_3d(inPts, outFC, inSurface, surfRad, surfElev, 
                     obstructionFCs, LOD, fromAzim, toAzim, incAzim, 
                     maxHorizRad, segSky, scale, scaleAcc, scaleMethod)


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

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
5/9/2014