Este es el comando r.viewshedgrass que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
r.viewhed - Calcula la cuenca visual de un punto en un mapa ráster de elevación.
Formato predeterminado: NULL (invisible), ángulo vertical con punto de vista (visible).
PALABRAS CLAVE
raster, cuenca visual, línea de visión
SINOPSIS
r.viewhed
r.viewhed --ayuda
r.viewhed [-crbe] Las opciones de entrada=nombre salida=nombre coordenadas=Noreste
[observador_elevación=propuesta de] [elevación_objetivo=propuesta de] [distancia maxima=propuesta de]
[refracción_coeff=flotar] [memoria=propuesta de] [directorio=cadena] [-exagerar] [-ayuda]
[-verboso] [-tranquilo] [-ui]
Banderas
-c
Considere la curvatura de la tierra (elipsoide actual)
-r
Considere el efecto de la refracción atmosférica.
-b
El formato de salida es invisible = 0, visible = 1
-e
El formato de salida es invisible = NULL, de lo contrario elev actual - viewpoint_elev
--Sobrescribir
Permitir que los archivos de salida sobrescriban los archivos existentes
--ayuda
Resumen de uso de impresión
--verboso
Salida del módulo detallado
--tranquilo
Salida de módulo silencioso
--ui
Forzar el inicio del cuadro de diálogo GUI
parámetros:
Las opciones de entrada=nombre [requerido]
Nombre del mapa ráster de elevación de entrada
salida=nombre [requerido]
Nombre del mapa ráster de salida
coordenadas=Noreste [requerido]
Coordenadas de la posición de visualización
observador_elevación=propuesta de
Ver elevación sobre el suelo
Por defecto: 1.75
elevación_objetivo=propuesta de
Desplazamiento para la elevación del objetivo sobre el suelo
Por defecto: 0.0
distancia maxima=propuesta de
Radio de visibilidad máximo. Por defecto infinito (-1)
Por defecto: -1
refracción_coeff=flotar
Coeficiente de refracción
Opciones: 0.0 - 1.0
Por defecto: 0.14286
memoria=propuesta de
Cantidad de memoria para usar en MB
Por defecto: 500
directorio=cadena
Directorio para almacenar archivos temporales (pueden ser grandes)
DESCRIPCIÓN
r.viewhed es un módulo que calcula la cuenca visual de un punto en un terreno ráster. Es decir,
dado un ráster de elevación y la ubicación de un observador, genera una salida ráster
mapa que muestra qué celdas son visibles desde la ubicación dada. El algoritmo subyacente
r.viewhed minimiza tanto las operaciones de la CPU como la transferencia de datos entre la memoria principal
y disco; como resultado r.viewhed se ejecuta rápidamente en rásteres muy grandes.
NOTAS
Correr r.viewhed, el usuario debe especificar un nombre de mapa de elevación de entrada, un mapa ráster de salida
nombre y ubicación del mirador.
Por el momento el mirador (coordenadas parámetro) se supone que se encuentra dentro
el terreno. La ubicación del mirador se da en coordenadas del mapa.
El mapa ráster de salida puede tener uno de los tres formatos posibles, según los indicadores
conjunto.
De forma predeterminada, si no se establece ningún indicador, la salida está en modo de ángulo y cada punto de la salida
El mapa se marca como NULO si el punto no es visible o el punto respectivo en la elevación
mapa es NULO. De lo contrario, un valor en [0, 180] que representa el ángulo vertical con respecto
al mirador, en grados, si el punto es visible. Un valor de 0 está directamente debajo del
posición de visualización especificada, 90 es horizontal. El ángulo de la celda que contiene el
La posición de visualización no está definida y se establece en 180.
Si -b se establece la bandera, la salida está en modo booleano y cada punto en el mapa de salida es
marcado como:
· 0 si el punto es sin datos / nulo o no visible
· 1 si el punto es visible.
Si -e la bandera está configurada, la salida está en modo de elevación y cada punto en el mapa de salida
está marcado como:
· Sin datos (nulo), si el punto respectivo en el mapa de elevación es sin datos (nulo)
· -1, si el punto no es visible
· La diferencia de elevación entre el punto y el mirador, si el punto es
visible.
Si desea identificar el área del mapa que se encuentra dentro del radio de búsqueda pero no
visible, una combinación de r.búfer y r.mapcalc se puede utilizar para crear un negativo de la
mapa de la cuenca visual.
Por defecto, las elevaciones no se ajustan a la curvatura de la tierra. El usuario puede
enciende esto con bandera -c.
De forma predeterminada, se supone que el observador tiene una altura de 1.75 unidades de mapa sobre el terreno. los
el usuario puede cambiar esto usando la opción observador_elevación. El valor ingresado es el mismo
unidades como la elevación.
De forma predeterminada, se asume que el objetivo tiene una altura de 0 unidades de mapa sobre el terreno. los
el usuario puede cambiar esto usando la opción elevación_objetivo para determinar si los objetos de un determinado
la altura sería visible. El valor ingresado está en las mismas unidades que la elevación.
De forma predeterminada, no hay restricciones sobre la distancia máxima a la que el observador puede ver.
El usuario puede establecer una distancia máxima de visibilidad usando la opción distancia maxima. El valor
ingresado está en las mismas unidades que el tamaño de celda del ráster.
Uso de la memoria principal: por defecto r.viewhed asume que tiene 500 MB de memoria principal y configura
sus estructuras de datos internas para que no requiera más que esta cantidad de RAM.
El usuario puede establecer la cantidad de memoria utilizada por el programa configurando el uso de memoria a
la cantidad de MB de memoria que les gustaría utilizar.
Salud Cerebral modo
El algoritmo se puede ejecutar en dos modos: en la memoria interna, lo que significa que mantiene todos
estructuras de datos necesarias en la memoria durante el cálculo. Y en la memoria externa, que
significa que las estructuras de datos son externas, es decir, en disco. r.viewhed decide que modo
para ejecutar usando la cantidad de memoria principal especificada por el usuario. El modo interno es
(mucho) más rápido que el modo externo.
Idealmente, el usuario debe especificar en la línea de comando la cantidad de memoria física que se
gratis para que lo utilice el programa. Subestimar la memoria puede resultar en r.viewhed correr
en modo externo en lugar de interno, que es más lento. Sobrestimando la cantidad de gratis
la memoria puede resultar en r.viewhed ejecutándose en modo interno y usando memoria virtual, que
es más lento que el modo externo.
La algoritmo
r.viewhed utiliza el siguiente modelo para determinar la visibilidad: La altura de una celda es
se supone que es variable, y la altura real de un punto que cae dentro de una celda, pero no
idéntico al centro celular, se interpola. Por lo tanto, el terreno se ve como un suave
superficie. Dos puntos son visibles entre sí si su línea de visión no se cruza
el terreno. La altura de un punto x arbitrario en el terreno se interpola de los 4
vecinos de los alrededores. Esto significa que este modelo hace una interpolación bilineal de
alturas. Este modelo es adecuado tanto para rásteres de baja y alta resolución como para
Terreno con desniveles planos y empinados.
El núcleo del algoritmo es determinar, para cada celda, la línea de visión y su
intersecciones con las celdas del terreno. Para una cuadrícula (cuadrada) de n células, puede haber
En 1 / 2) celdas que se cruzan con la LOS. Si probamos cada una de esas celdas para cada punto
en la cuadrícula, esto se suma a O (n3 / 2) pruebas. Podemos hacer todas estas pruebas más rápido si reutilizamos
información de un punto al siguiente (dos puntos de la cuadrícula que están cerca uno del otro
ser intersecado por muchos de los mismos puntos) y organizar el cálculo de manera diferente.
Más precisamente, el algoritmo utiliza una técnica llamada línea barrido: Considera un
media línea centrada en el punto de vista, y la gira radialmente alrededor del punto de vista, 360
grados. Durante el barrido, realiza un seguimiento de todas las celdas que se cruzan con la línea de barrido.
En ese tiempo; Estos se llaman lector activo células. Una celda tiene 3 eventos asociados: cuando
primero se encuentra con la línea de barrido y se inserta en la estructura activa; cuando se cumplió por última vez
por la línea de barrido y eliminado de la estructura activa; y cuando pasa la línea de barrido
sobre su punto central, momento en el que se determina su visibilidad. Para determinar el
visibilidad de una celda todas las celdas que se cruzan con la línea de visión deben estar activas, por lo que
están en la estructura activa. El algoritmo analiza todas las celdas activas que se encuentran entre
el punto y el mirador, y encuentra el gradiente máximo entre estos. Si la celda
el gradiente es más alto, se marca como visible, mientras que si es más bajo, se marca como
invisible.
Para un ráster (cuadrado) de n punto en total, el algoritmo de cuenca visual estándar utiliza En
sqrt (n)) = O (n3 / 2) tiempo, mientras que el algoritmo de barrido utiliza En lg n) tiempo. Esta
El algoritmo es eficiente en términos de operaciones de CPU y también puede hacerse eficiente en términos
de operaciones de E / S. Para obtener todos los detalles, consulte las REFERENCIAS a continuación.
La línea de barrido. Las células activas.
EJEMPLOS
Usando el conjunto de datos de Carolina del Norte: Calcule la cuenca visual desde un punto de observación (coordenadas:
638728.087167, 220609.261501) que está a 5 metros sobre el suelo:
g.region raster = elev_lid792_1m -p
r.viewshed entrada=elev_lid792_1m salida=elev_lid792_1m_viewshed
coordenadas = 638728.087167,220609.261501 observer_elevation = 5.0
Cuenca visual Usando el conjunto de datos Spearfish: calcular el punto de vista desde la cima de una montaña:
g.region ráster = elevación.10m
r.viewshed input=elevation.10m salida=viewshed
coordenadas = 598869,4916642 mem = 800
Referencias
· Computación de la Visibilidad de Terrenos en Memoria Externa. Herman Haverkort y Laura Toma
y Yi Zhuang. En ACM Actualidad on Emparejamiento Algoritmia (JEA) 13 (2009).
· Computación de la Visibilidad de Terrenos en Memoria Externa. Herman Haverkort y Laura Toma
y Yi Zhuang. En el Proceso of los 9 Taller on Algoritmo Ingeniería y
Experimentos / Taller on Analítico Algoritmos y Combinatoria (ALENEX / ANALCO
2007)..
Utilice r.viewshedgrass en línea utilizando los servicios de onworks.net