Disponible con una licencia de Spatial 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
Uso
Existen dos tipos de análisis de visibilidad que puede realizar esta herramienta, definidos por el parámetro Tipo de análisis. Para el primer tipo, FREQUENCY, la herramienta determina qué ubicaciones de superficie de ráster están visibles para un conjunto de observadores. Para el otro, OBSERVADORES, identifica qué observadores son visibles desde cada ubicación de superficie de ráster.
Esta herramienta se puede agilizar mediante una GPU, lo que significa que si en el sistema hay disponible un dispositivo de GPU (unidad de procesamiento de gráficos), se utilizará para mejorar el rendimiento de la herramienta.
Actualmente, esta herramienta solo admite tarjetas gráficas NVIDIA con función de cómputo CUDA 2.0 u OpenCL 1.2, y depende de que el sistema tenga instalada una tarjeta adecuada. Para garantizar una correcta ejecución de la herramienta, consulte la página de actualización del controlador NVIDIA para obtener el controlador más reciente disponible.
Puede ocurrir que se devuelva un error de GPU y que la herramienta no funcione si el valor de la clave de registro TdrDelay (demora en el tiempo de espera y recuperación) de Windows es demasiado bajo para el funcionamiento. El valor predeterminado de TdrDelay es 2 segundos, pero es posible que necesite ajustarlo a un valor mayor, como 60 segundos. En casi todos los sistemas Windows, la ruta a la clave TdrDelay en el registro es HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers. Si la clave TdrDelay no existe, deberá crearla en esta ruta y asignarle un valor mayor. Debe reiniciar el equipo para que el cambio tenga efecto. Para obtener más información sobre cómo definir la clave de registro TdrDelay, visite la página web de claves de registro TDR de Microsoft.
A diferencia de otras herramientas similares, Cuenca visual 2 no dispone de un parámetro de factor Z. Para garantizar la corrección del ráster de visibilidad de salida, asigne un sistema de coordenadas verticales esferoide al ráster de entrada si todavía no tiene ninguno.
La visibilidad de cada centro de celda viene determinada por una prueba de línea de visión entre el destino y el observador. Si un observador puede ver el destino en el centro de la celda, se considera que la celda es visible. Esta herramienta siempre tiene en cuenta la curvatura de la tierra a la hora de determinar la visibilidad.
En el ráster de visibilidad de salida, a las celdas que no son visibles se les asigna el valor NoData.
Para el OBSERVADORES tipo de análisis, el número máximo permitido de puntos de observador de entrada es 32.
Si en el ráster de entrada hay ruido no deseado causado por los errores de muestreo, puede suavizar el ráster con un filtro de paso bajo, como la opción Media de Estadísticas focalizadas, antes de ejecutar esta herramienta.
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.
De forma predeterminada, la cuenca visual se calcula con la extensión máxima del ráster de entrada. Para un rendimiento mayor, se recomienda configurar explícitamente el parámetro Radio externo con la distancia de interés máxima del análisis. Este parámetro permitirá a la herramienta realizar sus cálculos solo en las celdas que quedan dentro de cierta distancia respecto de los observadores.
Es posible utilizar el parámetro Método de análisis para controlar la calidad del resultado y el tiempo necesario para obtenerlo. Se abre el PERIMETER_SIGHTLINES Este método está destinado a realizar un análisis exploratorio, ya que es más rápido a costa de la calidad del resultado. Para obtener la salida más precise, utilice ALL_SIGHTLINES de resultado puede recuperar la salida.
Para obtener más información sobre los aspectos técnicos de la implementación de esta herramienta, consulte el recurso siguiente.
http://support.esri.com/en/knowledgebase/techarticles/detail/42804
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento válidos para esta herramienta.
Sintaxis
Viewshed2 (in_raster, in_observer_features, {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ámetro | Explicación | Tipo 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_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 |
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.
| 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 PERIMETER_SIGHTLINES, este parámetro está desactivado. | 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. Este resultado solo se genera cuando el tipo de análisis es OBSERVADORES. | Table |
refractivity_coefficient (Opcional) | Coeficiente de la refracción de la luz visible en el aire. El valor predeterminado es 0.13. | Double |
surface_offset (Opcional) | Este valor indica una distancia vertical (en unidades de superficie) que se agregará al valor z de cada celda de destino según se considere para la visibilidad. Debe ser un entero positivo o un valor de punto flotante. Puede ser un campo en el dataset de entidades del observador de entrada o 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 |
observer_elevation (Opcional) | Este valor se usa para definir las elevaciones de superficie de los vértices o puntos de observador. Puede ser un campo en el dataset de entidades del observador de entrada o 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) | Este valor indica una distancia vertical (en unidades de superficie) que se añadirá a la elevación del observador. Debe ser un entero positivo o un valor de punto flotante. Puede ser un campo en el dataset de entidades del observador de entrada o 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 |
inner_radius (Opcional) | Este valor define la distancia (mínima) inicial desde donde se determina la visibilidad. Las celdas que están más cerca que esta distancia se consideran no visibles en la salida, pero pueden seguir bloqueando la visibilidad de las celdas entre el radio interno y el radio externo. El valor predeterminado es 0. Puede ser un campo en el dataset de entidades del observador de entrada o un valor numérico. Si se establece un valor para este parámetro, dicho 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 |
inner_radius_is_3d (Opcional) | Tipo de distancia del parámetro de radio interno.
| Boolean |
outer_radius (Opcional) | Este valor define la distancia máxima desde donde se determina la visibilidad. Las celdas más allá de esta distancia se excluyen del análisis. Puede ser un campo en el dataset de entidades del observador de entrada o un valor numérico. Si se establece un valor para este parámetro, dicho 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.
| Boolean |
horizontal_start_angle (Opcional) | Este valor define el ángulo inicial del rango de escaneo horizontal. El valor debe especificarse en grados de 0 a 360.0, con 0 orientado al norte. El valor predeterminado es 0. Puede ser un campo en el dataset de entidades del observador de entrada o un valor numérico. Si se establece un valor para este parámetro, dicho 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. | Constant | Field |
horizontal_end_angle (Opcional) | Este valor define el ángulo final del rango de escaneo horizontal. El valor debe especificarse en grados de 0 a 360.0, con 0 orientado al norte. El valor predeterminado es 360.0. Puede ser un campo en el dataset de entidades del observador de entrada o un valor numérico. Si se establece un valor para este parámetro, dicho 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. | Constant | Field |
vertical_upper_angle (Opcional) | Este valor define el límite del ángulo vertical superior del escaneo sobre un plano horizontal. El valor debe especificarse en grados de 0 a 90.0 y puede ser un entero o un número de punto flotante. El valor predeterminado es 90.0. Puede ser un campo en el dataset de entidades del observador de entrada o un valor numérico. Si se establece un valor para este parámetro, dicho 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. | Constant | Field |
vertical_lower_angle (Opcional) | Este valor define el límite del ángulo vertical inferior del escaneo debajo de un plano horizontal. El valor debe especificarse en grados de -90.0 a 0 y puede ser un entero o un número de punto flotante. El valor predeterminado es -90,0. Puede ser un campo en el dataset de entidades del observador de entrada o un valor numérico. Si se establece un valor para este parámetro, dicho 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. | Constant | Field |
analysis_method (Opcional) | Seleccione el método por el cual se calculará la visibilidad. Esta opción resta un cierto grado de precisión a cambio de un mayor rendimiento.
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster | El ráster de salida. Para el FREQUENCY 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 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 |
Ejemplo 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
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outViewshed2 = Viewshed2("elevation", "obser1.shp", "", "OBSERVERS", "",
"C:/sapyexamples/output/obstable01.dbf",
analysis_method="ALL_SIGHTLINES")
outViewshed2.save("C:/sapyexamples/output/outvwshd2_01")
Ejemplo 2 de Viewshed2(secuencia de comandos 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: Viewshed2_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
# observer features.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
inRaster = "elevation"
inObservers = "obser2.shp"
outAGL = ""
analysisType = "OBSERVERS"
verticalError = ""
outAnalysisRelationTable = "C:/sapyexamples/output/obser_region2.dbf"
refractCoeff = ""
surfaceOffset = "offsetb"
observerElevation = "spot"
observerOffset = "offseta"
innerRadius = "radius1"
innerIs3D = "False"
outerRadius = "radius2"
outerIs3D = "True"
horizStartAngle = "azimuth1"
horizEndAngle = "azimuth2"
vertUpperAngle = "vert1"
vertLowerAngle = "vert2"
analysisMethod = "ALL_SIGHTLINES"
# Execute Viewshed2
outViewshed2 = Viewshed2(inRaster, inObservers, outAGL, analysisType,
verticalError, outAnalysisRelationTable, refractCoeff,
surfaceOffset, observerElevation, observerOffset,
innerRadius, innerIs3D, outerRadius, outerIs3D,
horizStartAngle, horizEndAngle, vertUpperAngle,
vertLowerAngle, analysisMethod)
# Save the output
outViewshed2.save("C:/sapyexamples/output/outvwshd2_02")
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Requiere Spatial Analyst o 3D Analyst
- ArcGIS for Desktop Standard: Requiere Spatial Analyst o 3D Analyst
- ArcGIS for Desktop Advanced: Requiere Spatial Analyst o 3D Analyst