Cuenca visual 2 (3D Analyst)

Disponible con una licencia de Spatial Analyst.

Disponible con una licencia de 3D Analyst.

Resumen

Determina las ubicaciones de superficie ráster visibles para un conjunto de entidades de observador utilizando métodos geodésicos.

Más información sobre cómo funciona la herramienta Cuenca visual 2

Ilustración

Ilustración de Cuenca visual 2 con la opción Frecuencia
Salida de Cuenca visual 2 con la opción Frecuencia, mostrada en una superficie de elevación sombreada
Ilustración de Cuenca visual 2 con la opción Observadores
Salida de Cuenca visual 2 con la opción Observadores, mostrada en una superficie de elevación sombreada

Uso

  • Esta herramienta realiza dos tipos de análisis de visibilidad, Frecuencia y Observadores, que se pueden establecer usando el parámetro Tipo de análisis.

  • Para garantizar la precisión de la salida, asigne un sistema de coordenadas verticales al ráster de entrada, en el caso de que todavía no lo tenga.

  • Cuenca visual 2 no requiere ningún parámetro de factor z. Calculará un factor z internamente usando la unidad vertical (Z) y las unidades (XY) del mapa a partir de la referencia espacial del ráster de entrada.

  • Los rásteres de entrada que contienen ruido, más frecuentes en los datos de alta resolución, pueden producir algunos resultados inesperados. Antes de ejecutar esta herramienta puede corregir los datos en un paso previo al procesamiento. Si la extensión Spatial Analyst de ArcGIS está disponible, puede suavizar el efecto del error usando primero las herramientas Estadísticas focalizadas o Filtro antes de realizar la operación de cuenca visual.

  • Cuando el ráster de entrada se deba remuestrear, se utilizará la técnica bilineal. Un ejemplo en el que se debe remuestrear un ráster de entrada se produce cuando el sistema de coordenadas de salida, la extensión o el tamaño de celda es diferente del de entrada.

  • Para mejorar el rendimiento, puede establecer explícitamente el parámetro Radio externo en un valor que represente la distancia de visualización máxima de interés para su análisis.

  • De manera predeterminada, el parámetro Método de análisis utiliza la opción Todas las líneas de visión, que ofrece la salida más exacta. Para mejorar el rendimiento de la herramienta en cuanto al tiempo de procesamiento, utilice la opción Líneas de visión de perímetro.

  • Los parámetros de observador relacionados con la altura, como Desplazamiento de superficie, Elevación de observador y Desplazamiento de observador, pueden especificarse como una unidad lineal o como un campo. Durante el cálculo, el valor de la unidad lineal se convertirá internamente a la unidad Z del ráster de entrada. Sin embargo, si la unidad lineal no se conoce o se ha especificado un campo numérico, se supone que el valor estará en la unidad Z del ráster de entrada.

  • Los parámetros de observador relacionados con las distancias de visualización, como el Radio interno y el Radio externo, pueden especificarse como una unidad lineal o como un campo. Durante el cálculo, el valor de la unidad lineal se convertirá internamente a las unidades XY del ráster de entrada. Sin embargo, si la unidad lineal no se conoce o se ha especificado un campo numérico, se supone que el valor estará en la unidad XY del ráster de entrada.

  • El campo especificado para un parámetro de observador, como Desplazamiento de superficie o Desplazamiento de observador, puede ser un tipo de cadena de caracteres que contiene un valor numérico y una unidad. Por ejemplo, si el campo obs_height se ha especificado en Desplazamiento del observador, puede contener valores como '6 pies'.

    En los scripts, los parámetros de observador como observer_offset se pueden especificar en varias formas de cadenas de caracteres. En cada forma, se analiza un valor y una unidad lineal para la cadena de caracteres. En la tabla siguiente se muestran algunos ejemplos de cadenas de caracteres de entrada y cómo se determina la unidad lineal en cada caso. Puede seguir el mismo patrón para otros parámetros.

    Ejemplo de cadena de caracteres de entrada para Desplazamiento de observadorUnidad lineal usada

    ' ' o '#'

    Se usa el valor y la unidad predeterminados, que es 1 metro.

    '6'

    El Desplazamiento de observador es 6 y como no se especifica ninguna unidad, la herramienta usaría la unidad predeterminada, el metro.

    '6 Feet'

    El Desplazamiento de observador es 6 pies.

    '6 Unknown'

    El Desplazamiento de observador es 6 y como no se especifica ninguna unidad, la herramienta usaría la unidad predeterminada, el metro.

    Ejemplos de cadenas de caracteres de entrada y unidades lineales.
  • Esta herramienta se beneficiará automáticamente de una GPU (unidad de procesamiento de gráficos) para mejorar el rendimiento de la herramienta, si está disponible en el sistema y se ha configurado correctamente.

    Encontrará más información sobre cómo configurar su dispositivo de GPU en la ayuda de la extensión Spatial Analyst en el tema de ayuda Procesamiento GPU con Spatial Analyst.

  • Si no desea que esta herramienta aproveche los dispositivos de GPU disponibles en el sistema, cree una variable de entorno de sistema CUDA_VISIBLE_DEVICES, establezca su valor en -1 y reinicie la aplicación. Así, la herramienta se ejecutará usando la CPU únicamente. Para permitir que la herramienta vuelva a usar un dispositivo GPU, elimine la variable de entorno de sistema CUDA_VISIBLE_DEVICES o establezca el valor de esta variable de entorno en el valor del índice (0 para el primero, 1 para el segundo y así sucesivamente) del dispositivo GPU que le gustaría utilizar y reinicie la aplicación.

Sintaxis

arcpy.3d.Viewshed2(in_raster, in_observer_features, out_raster, {out_agl_raster}, {analysis_type}, {vertical_error}, {out_observer_region_relationship_table}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {inner_radius_is_3d}, {outer_radius}, {outer_radius_is_3d}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle}, {analysis_method})
ParámetroExplicaciónTipo de datos
in_raster

Ráster de entrada de superficie. El ráster puede ser un entero o punto flotante.

El ráster de entrada se transforma en un sistema de coordenadas geocéntricas 3D durante el cálculo de la visibilidad. Las celdas NoData del ráster de entrada no bloquean la determinación de visibilidad.

Raster Layer
in_observer_features

La clase de entidad de entrada que identifica las ubicaciones del observador. Pueden ser entidades de punto, multipunto o de polilínea.

La clase de entidad de entrada se transforma en un sistema de coordenadas geocéntricas 3D durante el cálculo de la visibilidad. En el cálculo se ignorarán los observadores que estén fuera de la extensión del ráster de superficie o ubicados en celdas NoData.

Feature Layer
out_raster

El ráster de salida.

Para el tipo de análisis de Frecuencia, si el parámetro de error vertical es 0 o no se ha especificado, el ráster de salida registra el número de veces que cada ubicación de celda en el ráster de superficie de entrada puede ser vista por los puntos de observación de entrada. Si el parámetro de error vertical es mayor que 0, cada celda del ráster de salida registrará la suma de probabilidades de que la celda sea visible para cualquiera de los observadores. Para el tipo de análisis de Observadores, el ráster de salida registra los Id. de región únicos para las áreas visibles, que se pueden volver a relacionar con las entidades del observador mediante la tabla de relaciones observador-región de salida.

Raster Dataset
out_agl_raster
(Opcional)

El ráster de nivel sobre el suelo (AGL) de salida.

El resultado del AGL es un ráster en el que cada valor de celda es la altura mínima que se debe agregar a una celda por lo demás no visible para que resulte visible al menos para un observador. Se asignará 0 a las celdas que ya estaban visibles en este ráster de salida.

Cuando el parámetro de error vertical sea 0, el ráster AGL de salida será un ráster de una banda. Cuando el error vertical sea mayor que 0, para tener en cuenta los efectos aleatorios del ráster de entrada, el ráster AGL de salida se creará como un ráster de tres bandas. La primera banda representa los valores medios AGL; la segunda banda representa los valores mínimos AGL y la tercera banda representa los valores máximos AGL.

Raster Dataset
analysis_type
(Opcional)

Seleccione el tipo de análisis de visibilidad que desea realizar, ya sea determinando el grado de visibilidad de cada celda para los observadores, o bien identificando qué observadores estarán visibles para cada ubicación de la superficie.

  • FREQUENCYLa salida registra el número de veces que cada ubicación de celda en el ráster de superficie de entrada puede ser vista por las ubicaciones de observación de entrada (como puntos o vértices para entidades de observador de polilínea). Esta es la opción predeterminada.
  • OBSERVERSLa salida identifica exactamente qué puntos de observador son visibles desde cada ubicación de superficie de ráster. Con este tipo de análisis, el número máximo permitido de observadores de entrada es 32.
String
vertical_error
(Opcional)

La cantidad de incertidumbre (error cuadrático medio o RMSE) en los valores de elevación de superficie. Se trata de un valor de punto flotante que representa el error esperado en los valores de elevación de entrada. Cuando este parámetro tiene asignado un valor mayor que 0, el ráster de visibilidad de salida será de punto flotante. En este caso, cada uno de los valores de celda del ráster de visibilidad representará la suma de probabilidades de que la celda sea visible para cualquiera de los observadores.

Cuando el tipo de análisis es Observadores o el método de análisis es Líneas de visión de perímetro, este parámetro se deshabilita.

Linear Unit
out_observer_region_relationship_table
(Opcional)

La tabla de salida para identificar las regiones que son visibles para cada observador. Esta tabla se puede relacionar con la clase de entidad de observador de entrada y con el ráster de visibilidad de salida para identificar las regiones visibles para determinados observadores.

Esta salida solo se crea cuando el tipo de análisis es de Observadores.

Table
refractivity_coefficient
(Opcional)

El coeficiente de la refracción de la luz visible en el aire.

El valor predeterminado es 0.13.

Double
surface_offset
(Opcional)

Una distancia vertical que se agregará al valor z de cada celda según se considere para la visibilidad. Debe ser un entero positivo o un valor de punto flotante.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

El valor predeterminado es 0.

Linear Unit; Field
observer_elevation
(Opcional)

Las elevaciones de superficie de los vértices o puntos de observador.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si no se especifica este parámetro, la elevación del observador se obtendrá del ráster de superficie mediante interpolación bilineal. Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

Linear Unit; Field
observer_offset
(Opcional)

Una distancia vertical que se agregará a la elevación de observador. Debe ser un entero positivo o un valor de punto flotante.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

El valor predeterminado es 1 metro.

Linear Unit; Field
inner_radius
(Opcional)

La distancia inicial desde donde se determina la visibilidad. Las celdas que están más cerca que esta distancia no están visibles en la salida, pero pueden seguir bloqueando la visibilidad de las celdas entre el radio interior y el radio exterior.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

El valor predeterminado es 0.

Linear Unit; Field
inner_radius_is_3d
(Opcional)

Tipo de distancia del parámetro de radio interno.

  • GROUNDEl radio interno se va a interpretar como una distancia 2D. Esta es la opción predeterminada.
  • 3DEl radio interno se va a interpretar como una distancia 3D.
Boolean
outer_radius
(Opcional)

La distancia máxima desde donde se determina la visibilidad. Las celdas más allá de esta distancia se excluyen del análisis.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

Linear Unit; Field
outer_radius_is_3d
(Opcional)

Tipo de distancia del parámetro de radio externo.

  • GROUNDEl radio externo se va a interpretar como una distancia 2D. Esta es la opción predeterminada.
  • 3DEl radio externo se va a interpretar como una distancia 3D.
Boolean
horizontal_start_angle
(Opcional)

El ángulo inicial del rango de escaneo horizontal. El valor debe especificarse en grados de 0 a 360, ya sea como un entero o como un punto flotante, con 0 orientado al norte. El valor predeterminado es 0.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

Double; Field
horizontal_end_angle
(Opcional)

El ángulo final del rango de escaneo horizontal. El valor debe especificarse en grados de 0 a 360, ya sea como un entero o como un punto flotante, con 0 orientado al norte. El valor predeterminado es 360.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

Double; Field
vertical_upper_angle
(Opcional)

El límite del ángulo vertical superior del escaneo en relación con el plano horizontal. El valor está especificado en grados y puede ser un entero o punto flotante. El rango permitido es a partir de -90 hasta 90 inclusive.

Este valor de parámetro debe ser mayor que el valor del parámetro Ángulo inferior vertical.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

El valor predeterminado es 90 (en línea recta hacia arriba).

Double; Field
vertical_lower_angle
(Opcional)

El límite del ángulo vertical inferior del escaneo en relación con el plano horizontal. El valor está especificado en grados y puede ser un entero o punto flotante. El rango permitido es desde -90 hasta 90, no inclusive.

Este valor de parámetro debe ser menor que el valor del parámetro Ángulo superior vertical.

Puede seleccionar un campo en el dataset de observadores de entrada o puede especificar un valor numérico.

Si se establece un valor para este parámetro, ese valor se aplicará a todos los observadores. Para especificar valores diferentes para cada observador, establezca este parámetro con un campo del dataset de entidades de observador de entrada.

El valor predeterminado es -90 (en línea recta hacia abajo).

Double; Field
analysis_method
(Opcional)

Seleccione el método por el cual se calculará la visibilidad. Esta opción le permite restar cierto grado de precisión para aumentar el rendimiento.

  • ALL_SIGHTLINESSe ejecuta una línea de visión para cada celda del ráster a fin de establecer las áreas visibles. Este es el método predeterminado.
  • PERIMETER_SIGHTLINESLas líneas de visión solo se ejecutan para las celdas en el perímetro de las áreas visibles a fin de establecer las áreas de visibilidad. Con este método se obtiene un rendimiento mejor que con el método Todas las líneas de visión pues en el cálculo se ejecutan menos líneas de visión.
String

Muestra de código

Ejemplo 1 de Viewshed2 (ventana de Python)

En este ejemplo se determinan las ubicaciones de superficie visibles para un conjunto de observadores sin usar ningún parámetro de observador.

import arcpy
from arcpy import env
env.workspace = "C:/data"
result = arcpy.Viewshed2_3d("elevation", "obser1.shp", "C:/output/outvwshd01",
                            "", "OBSERVERS", "", "C:/output/obstable01.dbf")
Ejemplo 2 de Viewshed2 (script independiente)

En este ejemplo se determinan las ubicaciones de superficie visibles para un conjunto de observadores usando los atributos de la clase de entidad de entrada como parámetros del observador.

# Name: Viewshed_3d_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
#              observer features.
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"


parmSurface = "elevation"
parmObservers = "obser2.shp"
parmOutput = "c:/output/outvshd02"
parmAGL = ""
parmAnalysisType="OBSERVERS"
parmVerticalError = ""
parmAnalysisRelationTable = "C:/output/obser_region2.dbf"
parmRefractCoeff = ""
parmSurfaceOffset = "offsetb"
parmObserverElevation="spot"
parm_ObserverOffset="offseta"
parmInnerRadius = "radius1"
parmInnerIs3D="False"
parmOuterRadius = "radius2"
parmOuterIs3D="True"
parmAz1 = "azimuth1"
parmAz2 = "azimuth2"
parmVert1 = "vert1"
parmVert2 = "vert2"

# Execute Viewshed2
result = arcpy.Viewshed2_3d(parmSurface, parmObservers, parmOutput, parmAGL,
parmAnalysisType, parmVerticalError, parmAnalysisRelationTable,
parmRefractCoeff, parmSurfaceOffset, parmObserverElevation,
parm_ObserverOffset,parmInnerRadius, parmInnerIs3D, parmOuterRadius,
parmOuterIs3D, parmAz1, parmAz2, parmVert1, parmVert2)

Información de licenciamiento

  • Basic: Requiere 3D Analyst oSpatial Analyst
  • Standard: Requiere 3D Analyst oSpatial Analyst
  • Advanced: Requiere 3D Analyst oSpatial Analyst

Temas relacionados