Continuando con lo visto en la anterior entrada, ahora vamos a terminar de conocer los otros tipos de visualizaciones que podemos generar con la herramienta RVT. Se busca brindar el marco teórico sobre los que se sustentan las funciones y parámetors de la librería de Python que se emplean.
Factor de Vista del Cielo, Factor de Vista Anisotrópico y Apertura
Factor de Vista del Cielo - Sky-View Factor (svf)
Es una nueva técnica de visualización en relieve basada en iluminación difusa, en lugar de directa. Utiliza el factor de vista del cielo, un parámetro que corresponde a la porción de cielo visible limitada por el relieve. Utiliza el factor de vista del cielo como una técnica general de visualización del relieve para mostrar las características del relieve. En particular, mostramos que esta visualización es una herramienta muy útil en arqueología, ya que mejora el reconocimiento de características a pequeña escala desde un DEM de alta resolución. La SVF varía entre 0 y 1. Valores cercanos a 1 significan que casi todo el hemisferio es visible, como es el caso de las características expuestas (planos y picos), mientras que valores cercanos a 0 están presentes en sumideros profundos y partes bajas de valles profundos desde donde casi no se ve el cielo (1).
Fig. 1: El factor de vista del cielo se define por la parte del cielo visible (Ω) por encima de un cierto punto de observación visto desde una representación bidimensional (a). El algoritmo calcula el ángulo de elevación vertical del horizonte γi en n (aquí se presentan ocho) direcciones al radio especificado R (b). Fuente (1) |
Factor de Vista del Cielo Anisotrópico - Anisotropic Sky-View Factor (asvf)
El factor de vista del cielo anisotrópico asume que el cielo es más brillante en algunas direcciones que en otras. Los pesos se basan en la función coseno de la mitad del ángulo (2). Hay tres parámetros que normalmente deben establecerse: el acimut del peso más alto, el exponente que define el gradiente del peso máximo al mínimo y el peso mínimo posible. El exponente y el peso mínimo definen el nivel de anisotropía: cuanto mayor es el exponente y menor el peso mínimo, más fuerte es el efecto. Esto se ha simplificado a los niveles de anisotropía bajo y alto donde los pesos mínimos posibles son 0.4 y 0.1, y los exponentes son 4 y 8 respectivamente (3).
Apertura - Openness (opns)
La apertura también es un sustituto de la iluminación difusa y se basa en una estimación de un ángulo medio de elevación del horizonte dentro de un radio de búsqueda definido. El valor medio de todos los ángulos cenitales da una apertura positiva, mientras que el valor medio del nadir da una apertura negativa (Fig. 2). La apertura positiva es similar al factor de vista del cielo, con una "sensación más aplanada", mientras que la apertura negativa brinda información adicional sobre las características convexas (4). Debido a que es independiente de la dirección y el sombreado y elimina la topografía general, es útil para el reconocimiento automático de características (3).
Fig. 2: Cálculo de la apertura positiva (α) y negativa (β) a lo largo de dos perfiles (a lo largo de la dirección Este (α 90, β90) y Oeste (α270, β270)) dentro de una distancia radial dada (r) en dos situaciones topográficas diferentes. Fuente (5). |
Uso de RVT
- dem (numpy.ndarray) - Ingrese el modelo de elevación digital como matriz numérica 2D.
- resolution (int) - Resolución de nuestro DEM
- compute_svf (bool)- Si es verdadero (True), calcula el factor de vista del cielo,
- compute_asvf (bool)- Si es verdadero (True), calcula svf anisotrópico,
- compute_opns (bool)- Si es verdadero (True), calcula la apertura positiva),
- svf_n_dir (int)- Número de direcciones, teniendo como rango valores de 4 a 360, pero el valor de 16 es óptimo para la mayoría de aplicaciones,
- svf_r_max (int)- Radio de búsqueda máximo en píxeles, recomendando valores pequeños como 5-10 si los elementos a distinguir son pequeños,
- svf_noise (int)- Nivel de eliminación de ruido (0-no eliminar, 1-bajo, 2-medio, 3-alto),
- asvf_level(int)- Nivel de anisotropía (1-bajo, 2 -alto),
- asvf_dir(int or float)- Dirección de anisotropía (0 es el Norte y 90 es el Este. 315 presenta la dirección habitual para el relieve sombreado),
- ve_factor (int or float)- Factor de exageración vertical (Sin exageración = 1, para uso en relieve plano> 1),
- no_data (int or float)- Valor que representa no_data, todos los píxeles con este valor se cambian a np.nan.,
- fill_no_data (bool)- Si es Verdadero (True), se llena donde np.nan (no_data) con la media de píxeles circundantes (3x3),
- keep_original_no_data(bool)- . Si es Verdadero (True), cambia todos los píxeles de salida a np.nan donde dem tiene no_data.
Se comparte el código:
Los resultados obtenidos son:
Fig. 3: Vista en el QGIS de las salidas de las cuatro visualizaciones ejecutando el código previo |
Dominancia Local
La visualización del dominio local de un DEM se basa en calcular, para cada píxel del DEM, qué tan dominante sería un observador parado en ese punto para un área circundante local. La dominancia, como se usa aquí, es la inclinación promedio del ángulo en el que el observador mira hacia la superficie terrestre circundante. Es más alto para puntos en elevaciones locales y más bajo para puntos en depresiones locales. La dominancia local se calcula para píxeles dentro de un radio máximo especificado y una altura de observador especificada sobre la superficie. Para reducir la apariencia ruidosa de la imagen resultante debido a la rugosidad de la superficie a pequeña escala, se puede especificar un radio mínimo. El brillo de los píxeles se deriva de los valores de dominancia local aplicando una extensión de histograma de escala de grises adecuada (6).
Para calcular el dominio local, use la función rvt.vis.local_dominance (). Los parámetros nuevos son:
- min_rad (int)- Distancia radial mínima (en píxeles) para que el algoritmo comience con el cálculo de visualización,
- max_rad(int)- Distancia radial máxima (en píxeles) para que el algoritmo comience con el cálculo de visualización,
- rad_inc(int)- Pasos de distancia radial en píxeles,
- angular_res(int)- Paso angular para la determinación del número de direcciones angulares,
- observer_height(int or float)- Altura a la que observamos el terreno.
Se comparte el código:
Fig.4: Resultado en QGIS de la visualización "Dominancia Local" |
Iluminación del Cielo - Sky Illumination
- sky_model(str)- Modelo de cielo, puede ser 'overcast' (nublado) o 'uniform' (uniforme),
- compute_shadow(bool) - Si es Verdadero (True) agrega sombreado,
- max_fine_radius(int)- Distancia máxima de modelado de sombras en píxeles,
- num_directions(int)- Número de direcciones para buscar horizonte,
- shadow_az(int or float)- Azimut de sombra,
- shadow_el(int or float)- Elevación de sombra,
Fig. 5: Resultado en QGIS de la visualización "Iluminación del Cielo". |
Fig.6: Funciones del RVT Toolbox empleadas y los resultados obtenidos |
- Sky-View Factor as a Relief Visualization Technique (https://www.mdpi.com/2072-4292/3/2/398/htm)
- Hill-Shading based on anisotropic diffuse illumination (http://gisak.vsb.cz/GIS_Ostrava/GIS_Ova_2012/sbornik/papers/zaksek.pdf)
- RVT manual, version 2.2.1 (https://www.zrc-sazu.si/sites/default/files/rvt_2.2.1_0.pdf)
- Visualizing Topography by Openness: A New Application of Image Processing to Digital Elevation Models (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.451.9798&rep=rep1&type=pdf)
- Openness as Visualization Technique for Interpretative Mapping of Airborne Lidar Derived Digital Terrain Models (https://www.mdpi.com/2072-4292/5/12/6427/htm)
- DEM visualisation techniques: Local dominance (https://blog23d.wordpress.com/2013/06/13/dem-visualisation-techniques-local-dominance/)
- General sky models for illuminating terrains (https://www.tandfonline.com/doi/abs/10.1080/13658816.2013.848985)
No hay comentarios.:
Publicar un comentario