Visibilidad (Spatial Analyst)

Resumen

Determina las ubicaciones de superficie de ráster visibles para un conjunto de entidades de observador, o identifica qué puntos de observador son visibles desde cada ubicación de superficie de ráster.

La herramienta Cuenca visual geodésica proporciona una funcionalidad o rendimiento mejorados.

Ilustración

Salida de Visibilidad con la opción de frecuencia
Salida de visibilidad con la opción Frecuencia, mostrada sobre una superficie de elevación sombreada
Salida de Visibilidad con la opción de observadores
Salida de visibilidad con la opción Observadores, mostrada sobre una superficie de elevación sombreada

Uso

  • Esta herramienta admite dos tipos de análisis de visibilidad, Frecuencia y Observadores, que se controlan mediante el parámetro de herramienta Tipo de análisis. Para el primer tipo, la herramienta determina qué ubicaciones de superficie de ráster están visibles para un conjunto de observadores. Para el otro, identifica qué observadores están visibles desde cada ubicación de superficie de ráster.

  • 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 Valor medio de la herramienta Estadísticas focalizadas, antes de ejecutar esta herramienta.

  • La visibilidad de cada centro de celda se calcula comparando el ángulo de altitud hacia el centro de celda con el ángulo de altitud hacia el horizonte local. El horizonte local se obtiene teniendo en cuenta el terreno que interviene entre el punto de observación y el centro de la celda actual. Si el punto se encuentra por encima del horizonte local, se considera visible.

  • La herramienta proporciona un ráster de salida sobre el nivel del suelo (AGL) opcional. Cada celda del ráster de salida AGL registra la altura mínima que se debe agregar a esa celda para que resulte visible al menos para un observador.

    Cuando las entidades de observador de entrada contienen varios observadores, el valor de salida es el mínimo de los valores de AGL de todos los observadores individuales.

  • Utilice los parámetros de observador para tener más control sobre el proceso de análisis de visibilidad. Por ejemplo, mediante el parámetro de desplazamiento del observador, puede especificar un desplazamiento para la elevación de observador en el análisis de visibilidad.

  • 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.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

Ráster de entrada de superficie.

Raster Layer
Entidades de puntos y polilíneas de observador de entrada

La clase de entidad que identifica las ubicaciones del observador.

La entrada puede ser entidades de punto o polilínea.

Feature Layer
Ráster sobre el nivel del suelo de salida
(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.

Las celdas que ya estaban visibles tendrán un valor de 0 en este ráster de salida.

Raster Dataset
Tipo de análisis
(Opcional)

El tipo de análisis de visibilidad.

  • FrecuenciaLa 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 como vértices para entidades de observador de polilínea). Esta es la opción predeterminada.
  • ObservadoresLa salida identifica exactamente qué puntos de observador son visibles desde cada ubicación de superficie de ráster.
String
Usar Sin datos para celdas no visibles
(Opcional)

Valor asignado a las celdas no visibles.

  • Desactivado: se asigna 0 a las celdas no visibles. Esta es la opción predeterminada.
  • Activado: se asigna NoData a las celdas no visibles.
Boolean
Factor z
(Opcional)

Cantidad de unidades x,y de suelo en una unidad z de superficie.

El factor z ajusta las unidades de medida para las unidades z cuando son diferentes de las unidades x, y de la superficie de entrada. Los valores z de la superficie de entrada se multiplican por el factor z al calcular la superficie de salida final.

Si las unidades z y las unidades x,y están en las mismas unidades de medida, el factor z es 1. Esta es la opción predeterminada.

Si las unidades z y las unidades x,y están en diferentes unidades de medida, el factor z se debe establecer en el factor adecuado o los resultados serán incorrectos. Por ejemplo, si las unidades z son pies y las unidades x, y son metros, debe utilizar un factor z de 0,3048 para convertir las unidades z de pies a metros (1 pie = 0,3048 metros).

Double
Utilizar las correcciones de la curvatura de la Tierra
(Opcional)

Especifica si se aplicará la corrección de la curvatura de la Tierra.

  • Desactivada: no se aplicará ninguna corrección de la curvatura. Esta es la opción predeterminada.
  • Activada: se aplicará la corrección de la curvatura.
Boolean
Coeficiente de refracción
(Opcional)

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

El valor predeterminado es 0,13.

Double
Desplazamiento de superficie
(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.

De forma predeterminada, se utiliza el campo numérico OFFSETB si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, el valor predeterminado es 0.

Double; Field
Elevación de observador
(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.

De forma predeterminada, se utiliza el campo numérico SPOT si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, se estimará mediante interpolación bilineal con los valores de elevación de superficie en las celdas vecinas de la ubicación del observador.

Double; Field
Desplazamiento de observador
(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.

De forma predeterminada, se utiliza el campo numérico OFFSETA si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado 1.

Double; Field
Radio interno
(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 ser un entero positivo o negativo o un valor de punto flotante. Si es un valor positivo, se interpreta como una distancia de línea de visión tridimensional. Si es un valor negativo, se interpreta como una distancia planimétrica bidimensional.

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

De forma predeterminada, se utiliza el campo numérico RADIUS1 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, el valor predeterminado es 0.

Double; Field
Radio externo
(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 ser un entero positivo o negativo o un valor de punto flotante. Si es un valor positivo, se interpreta como una distancia de línea de visión tridimensional. Si es un valor negativo, se interpreta como una distancia planimétrica bidimensional.

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

De forma predeterminada, se utiliza el campo numérico RADIUS2 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado infinito.

Double; Field
Ángulo de inicio horizontal
(Opcional)

El ángulo inicial del rango de escaneo horizontal. Especifique el valor 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.

De forma predeterminada, se utiliza el campo numérico AZIMUTH1 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, el valor predeterminado es 0.

Double; Field
Ángulo de finalización horizontal
(Opcional)

El ángulo final del rango de escaneo horizontal. Especifique el valor 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.

De forma predeterminada, se utiliza el campo numérico AZIMUTH2 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado 360.

Double; Field
Ángulo superior vertical
(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.

De forma predeterminada, se utiliza el campo numérico VERT1 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado 90.

Double; Field
Ángulo inferior vertical
(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.

De forma predeterminada, se utiliza el campo numérico VERT2 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado -90.

Double; Field

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de salida

El ráster de salida.

La salida registrará el número de veces que cada ubicación de celda del ráster de superficie de entrada puede ser vista por las ubicaciones de observación de entrada (tipo de análisis de frecuencia), o registrará las ubicaciones de observador que se ven desde cada celda en la superficie del ráster (tipo observadores).

Raster

Visibility(in_raster, in_observer_features, {out_agl_raster}, {analysis_type}, {nonvisible_cell_value}, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {outer_radius}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle})
NombreExplicaciónTipo de datos
in_raster

Ráster de entrada de superficie.

Raster Layer
in_observer_features

La clase de entidad que identifica las ubicaciones del observador.

La entrada puede ser entidades de punto o polilínea.

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.

Las celdas que ya estaban visibles tendrán un valor de 0 en este ráster de salida.

Raster Dataset
analysis_type
(Opcional)

El tipo de análisis de visibilidad.

  • 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 como 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.
String
nonvisible_cell_value
(Opcional)

Valor asignado a las celdas no visibles.

  • ZEROSe asigna 0 a las celdas no visibles. Esta es la opción predeterminada.
  • NODATASe asigna NoData a las celdas no visibles.
Boolean
z_factor
(Opcional)

Cantidad de unidades x,y de suelo en una unidad z de superficie.

El factor z ajusta las unidades de medida para las unidades z cuando son diferentes de las unidades x, y de la superficie de entrada. Los valores z de la superficie de entrada se multiplican por el factor z al calcular la superficie de salida final.

Si las unidades z y las unidades x,y están en las mismas unidades de medida, el factor z es 1. Esta es la opción predeterminada.

Si las unidades z y las unidades x,y están en diferentes unidades de medida, el factor z se debe establecer en el factor adecuado o los resultados serán incorrectos. Por ejemplo, si las unidades z son pies y las unidades x, y son metros, debe utilizar un factor z de 0,3048 para convertir las unidades z de pies a metros (1 pie = 0,3048 metros).

Double
curvature_correction
(Opcional)

Especifica si se aplicará la corrección de la curvatura de la Tierra.

  • FLAT_EARTHNo se aplicará ninguna corrección de la curvatura. Esta es la opción predeterminada.
  • CURVED_EARTHSe aplicará la corrección de la curvatura.
Boolean
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.

De forma predeterminada, se utiliza el campo numérico OFFSETB si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, el valor predeterminado es 0.

Double; 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.

De forma predeterminada, se utiliza el campo numérico SPOT si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, se estimará mediante interpolación bilineal con los valores de elevación de superficie en las celdas vecinas de la ubicación del observador.

Double; 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.

De forma predeterminada, se utiliza el campo numérico OFFSETA si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado 1.

Double; 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 ser un entero positivo o negativo o un valor de punto flotante. Si es un valor positivo, se interpreta como una distancia de línea de visión tridimensional. Si es un valor negativo, se interpreta como una distancia planimétrica bidimensional.

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

De forma predeterminada, se utiliza el campo numérico RADIUS1 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, el valor predeterminado es 0.

Double; Field
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 ser un entero positivo o negativo o un valor de punto flotante. Si es un valor positivo, se interpreta como una distancia de línea de visión tridimensional. Si es un valor negativo, se interpreta como una distancia planimétrica bidimensional.

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

De forma predeterminada, se utiliza el campo numérico RADIUS2 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado infinito.

Double; Field
horizontal_start_angle
(Opcional)

El ángulo inicial del rango de escaneo horizontal. Especifique el valor 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.

De forma predeterminada, se utiliza el campo numérico AZIMUTH1 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, el valor predeterminado es 0.

Double; Field
horizontal_end_angle
(Opcional)

El ángulo final del rango de escaneo horizontal. Especifique el valor 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.

De forma predeterminada, se utiliza el campo numérico AZIMUTH2 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado 360.

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.

De forma predeterminada, se utiliza el campo numérico VERT1 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado 90.

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.

De forma predeterminada, se utiliza el campo numérico VERT2 si existe en la tabla de atributos de entidades del observador de entrada. Se puede sobrescribir especificando otro campo numérico o un valor.

Si no se especifica este parámetro y el campo predeterminado no existe en la tabla de atributos de entidades del observador de entrada, asumirá el valor predeterminado -90.

Double; Field

Valor de retorno

NombreExplicaciónTipo de datos
out_raster

El ráster de salida.

La salida registrará el número de veces que cada ubicación de celda del ráster de superficie de entrada puede ser vista por las ubicaciones de observación de entrada (tipo de análisis de frecuencia), o registrará las ubicaciones de observador que se ven desde cada celda en la superficie del ráster (tipo observadores).

Raster

Muestra de código

Ejemplo 1 de visibilidad (ventana de Python)

En este ejemplo se determinan las ubicaciones de superficie visibles para un conjunto de observadores definidos en un shapefile.

import arcpy
from arcpy import env
from arcpy.sa import *

env.workspace = "c:/sapyexamples/data"

outvis = arcpy.sa.Visibility("elevation", "observers.shp", "c:/sapyexamples/output/aglout1",
                            "FREQUENCY", "NODATA", "1", "CURVED_EARTH", "0.13",
                            "OFFSETB", "SPOT", "OFFSETA", "RADIUS1", "RADIUS2",
                            "AZIMUTH1", "AZIMUTH2", "VERT1", "VERT2")

outvis.save("c:/sapyexamples/output/visiout1")
Ejemplo 2 de visibilidad (secuencia de comandos independiente)

En este ejemplo se determina qué observadores están visibles en cada ubicación de superficie.

# Name: Visibility_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"

# set local variables
inRaster = "elevation"
inObserverFeatures = "observers.shp"
aglOutput = "c:/sapyexamples/output/aglout1"
analysisType = "OBSERVERS"
nonVisibleValue = "ZERO"
zFactor = 1
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.13
surfaceOffset = 500
observerElevation = 2000
observerOffset = 500
innerRadius = 20000
outerRadius = 100000
horizStartAngle = 45
horizEndAngle = 215
vertUpperAngle = 5
vertLowerAngle = -5

# Execute Visibility
outvis = arcpy.sa.Visibility(inRaster, inObserverFeatures, algOutput, analysisType,
                            nonVisibleValue, zFactor, useEarthCurvature,
                            refractivityCoefficient, surfaceOffset, observerElevation,
                            observerOffset, innerRadius, outerRadius, horizStartAngle,
                            horizEndAngle, vertUpperAngle, vertLowerAngle)

# Save the output
outvis.save("c:/sapyexamples/output/visiout1")