Resumen
Crea áreas en las que un observador puede ver objetos sobre el terreno. Los puntos de observador de entrada pueden representar observadores (como por ejemplo, personas en el suelo o puestos de vigilancia en una torre de control de incendios) u objetos observados (como por ejemplo aerogeneradores, torres de agua, vehículos u otras personas).
Tanto los observadores como los objetos observados pueden tener una altura por encima del suelo y estas alturas se utilizan para determinar la visibilidad. Por ejemplo, una cuenca visual calculada para aerogeneradores de 90 metros y una persona de 1,80 m de pie en el suelo normalmente será mayor que una cuenca visual calculada para aerogeneradores de 60 metros y una persona de 1,50 m.
La capa de resultados registra la cantidad de veces que los puntos de observación de entrada pueden ver cada ubicación de celda en el ráster de superficie de entrada. Las celdas no visibles reciben valores NoData.
Ilustración
Uso
Esta herramienta de portal de análisis ráster está disponible cuando se inicia sesión en un ArcGIS Enterprise que tiene un ArcGIS Image Server configurado para Raster Analysis . Cuando se invoca la herramienta, ArcGIS Pro funciona como cliente y tiene lugar el procesamiento en los servidores federados con ArcGIS Enterprise. La herramienta del portal acepta las capas de su portal como entrada y crea la salida en su portal.
La capa ráster de entrada admite una capa del portal, una URI o URL de un servicio de imágenes o la salida procedente de la herramienta Crear capa de servidor de imágenes. La capa de entidades de entrada puede ser una capa del portal o una URI o URL de un servicio de entidades. Esta herramienta no admite capas o datos ráster locales. Aunque puede usar las capas y los datos de entidades locales como entradas de esta herramienta del portal, la práctica recomendada es usar capas del portal como entrada.
La visibilidad de cada centro de celda viene determinada por una prueba de línea de visión entre el destino y el observador.
Sintaxis
arcpy.ra.CreateViewshed(inputElevationSurface, inputObserverFeatures, outputName, {optimizeFor}, {maximumViewingDistanceType}, {maximumViewingDistance}, {maximumViewingDistanceField}, {minimumViewingDistanceType}, {minimumViewingDistance}, {minimumViewingDistanceField}, {viewingDistanceIs3D}, {observersElevationType}, {observersElevation}, {observersElevationField}, {observersHeightType}, {observersHeight}, {observersHeightField}, {targetHeightType}, {targetHeight}, {targetHeightField}, {aboveGroundLevelOutputName})
Parámetro | Explicación | Tipo de datos |
inputElevationSurface | La superficie de elevación que se va a utilizar para calcular la cuenca visual. Si la unidad vertical de la superficie de entrada es distinta de la unidad horizontal, por ejemplo, cuando los valores de elevación se representan en pies, pero el sistema de coordenadas está en metros, la superficie debe tener definido un sistema de coordenadas verticales. Esto se debe a que la herramienta utiliza las unidades verticales (Z) y horizontales (XY) para calcular un factor z para el análisis de la cuenca visual. Sin un sistema de coordenadas verticales y, por lo tanto, sin información de unidad Z disponible, la herramienta considerará que la unidad Z es la misma que la unidad XY. Como resultado, se utilizará un factor z interno de 1.0 para el análisis, lo que puede dar lugar a resultados inesperados. La superficie de elevación puede ser un entero o un punto flotante. | Raster Layer; Image Service; String |
inputObserverFeatures | Las entidades de puntos que representan las ubicaciones del observador al calcular las cuencas visuales. | Feature Set |
outputName | Nombre del servicio ráster de salida. El nombre predeterminado se basa en el nombre de la herramienta y en el nombre de la capa de entrada. Si el nombre de capa ya existe, se le pedirá que indique otro nombre. | String |
optimizeFor (Opcional) | El método de optimización que se va a utilizar para calcular la cuenca visual.
| String |
maximumViewingDistanceType (Opcional) | El método que se usará para determinar la distancia de visualización máxima.
| String |
maximumViewingDistance (Opcional) | Es una distancia de valor límite en la que se detiene el cómputo de las áreas visibles. Más allá de esta distancia, no se sabe si los puntos de observador y el resto de objetos pueden verse mutuamente. Las unidades pueden ser kilómetros, metros, millas, yardas o pies. La opción predeterminada son las millas. | Linear Unit |
maximumViewingDistanceField (Opcional) | Este campo se puede usar para especificar la distancia de visualización máxima para cada observador. Los valores contenidos en el campo deberán estar expresados en la misma unidad que la unidad XY de la superficie de elevación de entrada. La distancia de visualización máxima es una distancia de valor límite en la que se detiene el cómputo de las áreas visibles. Más allá de esta distancia, no se sabe si los puntos de observador y el resto de objetos pueden verse mutuamente. | Field |
minimumViewingDistanceType (Opcional) | Elija el método que se usará para determinar la distancia visible mínima.
| String |
minimumViewingDistance (Opcional) | Es la distancia en la que empieza el cómputo de las áreas visibles. Las celdas de la superficie que están a menos de esta distancia no son visibles en la salida, pero pueden seguir bloqueando la visibilidad de las celdas situadas entre la distancia de visualización mínima y la máxima. Las unidades pueden ser kilómetros, metros, millas, yardas o pies. La unidad predeterminada es el metro. | Linear Unit |
minimumViewingDistanceField (Opcional) | Este campo se puede usar para especificar la distancia de visualización mínima para cada observador. Los valores contenidos en el campo deberán estar expresados en la misma unidad que la unidad XY de la superficie de elevación de entrada. La distancia de visualización mínima define dónde empieza el cómputo de las áreas visibles. Las celdas de la superficie que están a menos de esta distancia no son visibles en la salida, pero pueden seguir bloqueando la visibilidad de las celdas situadas entre la distancia de visualización mínima y la máxima. | Field |
viewingDistanceIs3D (Opcional) | Especifique si los parámetros de distancia de visualización mínima y máxima se van a medir de forma tridimensional o bidimensional. Una distancia 2D es la distancia lineal simple medida entre un observador y el objetivo utilizando sus ubicaciones proyectadas a nivel del mar. Una distancia 3D ofrece un valor más realista al tener en cuenta las alturas relativas.
| Boolean |
observersElevationType (Opcional) | El método que se usará para determinar la elevación de los observadores.
| String |
observersElevation (Opcional) | Es la elevación de las ubicaciones de los observadores. 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 en un campo en las entidades de observador de entrada. Las unidades pueden ser kilómetros, metros, millas, yardas o pies. La unidad predeterminada es el metro. | Linear Unit |
observersElevationField (Opcional) | Este campo se puede usar para especificar la elevación de los observadores. Los valores contenidos en el campo deberán estar expresados en la misma unidad que la unidad Z de la superficie de elevación de entrada. Si no se especifica este parámetro, la elevación del observador se obtendrá del ráster de superficie mediante interpolación bilineal. | Field |
observersHeightType (Opcional) | El método que se usará para determinar la altura de los observadores.
| String |
observersHeight (Opcional) | Es la altura utilizada para las ubicaciones de los observadores. Las unidades pueden ser kilómetros, metros, millas, yardas o pies. La unidad predeterminada es el metro. | Linear Unit |
observersHeightField (Opcional) | Este campo se puede usar para especificar la altura de los observadores. Los valores contenidos en el campo deberán estar expresados en la misma unidad que la unidad Z de la superficie de elevación de entrada. | Field |
targetHeightType (Opcional) | El método que se usará para determinar la altura de los objetivos.
| String |
targetHeight (Opcional) | Es la altura de estructuras o personas en el suelo, utilizada para establecer la visibilidad. La cuenca visual resultante se compone de las áreas en las que un punto de observador puede ver estos otros objetos. Lo contrario también es cierto; los objetos pueden ver un punto de observador. Las unidades pueden ser kilómetros, metros, millas, yardas o pies. La unidad predeterminada es el metro. | Linear Unit |
targetHeightField (Opcional) | Este campo se usa para especificar la altura de los objetivos. Los valores contenidos en el campo deberán estar expresados en la misma unidad que la unidad Z de la superficie de elevación de entrada. | Field |
aboveGroundLevelOutputName (Opcional) | El nombre del ráster sobre el nivel del 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. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
outputRaster | El ráster de cuenca visual de salida. | Capa ráster |
outputAboveGroundLevelRaster | El ráster sobre el nivel del suelo de salida. | Capa ráster |
Muestra de código
En este ejemplo se crea un servicio de imágenes de cuenca visual usando la superficie dada y puntos de observador.
import arcpy
arcpy.CreateViewshed_ra(
"https://myserver/rest/services/elevation/ImageServer",
"https://myserver/rest/services/destination/FeatureServer/0",
"outview1", "SPEED", "DISTANCE", "9 Miles", "#", "DISTANCE",
"0 Meters", "#", "2D", "ELEVATION", "#", "#", "HEIGHT",
"6 Feet", "#", "HEIGHT", "3 Feet", "#", "outagl1")
En este ejemplo se crea un servicio de imágenes de cuenca visual usando la superficie dada y puntos de observador.
#---------------------------------------------------------------------------
# Name: CreateViewshed_example02.py
# Description: Creates a viewshed image service raster from given surface
# and observer points.
#
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSurface = "https://myserver/rest/services/elevation/ImageServer"
inObservers = "https://myserver/rest/services/destination/FeatureServer/0"
outputViewshed = "outview1"
optimizeFor = "Speed"
maxDistType = "Distance"
maxDist = "9 Miles"
maxDistField = "#"
minDistType = "Distance"
minDist = "0 Miles"
minDistField = "#"
distanceIs3D = "2D"
obsElevationType = "Elevation"
obsElevation = "#"
obsElevationField = "#"
obsOffsetType = "Height"
obsOffset = "6 Feet"
obsOffsetField = "#"
surfOffsetType = "Height"
surfOffset = "3 Feet"
surfOffsetField = "#"
outputAgl = "outagl1"
# Execute Create Viewshed raster analysis tool
arcpy.CreateViewshed_ra(
inSurface, inObservers, outputViewshed, optimizeFor,
maxDistType, maxDist, maxDistField, minDistType, minDist,
minDistField, distanceIs3D, obsElevationType, obsElevation,
obsElevationField, obsOffsetType, obsOffset, obsOffsetField,
surfOffsetType, surfOffset, surfOffsetField, outputAgl)
Información de licenciamiento
- Basic: Requiere ArcGIS Image Server
- Standard: Requiere ArcGIS Image Server
- Advanced: Requiere ArcGIS Image Server