La escala y el factor Z no tienen efecto en el análisis de sombreado en QGIS

10

Utilicé un SRTM DEM para crear un sombreado en QGIS 2.2.0. Sin embargo, la sombra resultante parece estar exagerada verticalmente. Además, cambiar la configuración de escala y factor z no tiene ningún efecto en el sombreado resultante. He probado ambas opciones en QGIS, Análisis-> DEM (Modelos de terreno) y Análisis de terreno -> Sombreado. Ambos métodos dieron los mismos resultados.

¿Es este un incidente aislado, un error o me falta algo?

PyMapr
fuente
44
Cuando usa un DEM con coordenadas de latlon en grados decimales y unidades verticales en metros, debe establecer la escala (relación de unidades verticales a unidades horizontales) en 111120. Intenté con un par de DEM de Aster, no tengo ningún problema. Esta configuración se aplica no solo al sombreado sino también a los cálculos de pendientes. Espero que ayude
Gerardo Jiménez
@GerardoJimenez, lo intenté y funcionó. Gracias
PyMapr
@GerardoJimenez, Thanderbolt, cualquiera de ustedes debe enviar y responder a esta pregunta y Thunderbolt debe aceptarlo para eliminar esta pregunta de la respuesta.
SS_Rebelious

Respuestas:

12

La respuesta de @ Gerardo solo es correcta en el ecuador. El documento de gdaldem señala que esos valores de escala son para "proyecciones LatLong cerca del ecuador"

Para calcular la escala o el factor Z (inverso de la escala) en otras latitudes para una dem con unidades verticales en metros, puede usar las siguientes ecuaciones:

s=111320*cos(latitude*pi/180)
z=1/(111320*cos(latitude*pi/180))

donde: 111320 es la longitud de un grado en el ecuador en metros (basado en WGS84, puede usar 111111 si es más fácil de recordar, o tiene una apreciación de la historia ) y la latitud es la latitud en el centro de su DEM.

Puede calcular rápidamente el factor de escala / z en Excel / Libre Office Calc con las siguientes fórmulas:

For -s scale parameter
=111320*COS(latitude*PI()/180)
or
=111320*COS(RADIANS(latitude))

For -z z factor parameter
=1/(111320*COS(latitude*PI()/180)
or
=1/(111320*COS(RADIANS(latitude))

Incluso puedes usar una simple búsqueda en Google:

111320 * cos(latitude deg)
or
1/(111320 * cos(latitude deg))

Por ejemplo, escala y factor z para Latitud = 38.5S

Para los DEM con unidades verticales en pies, simplemente convierta la longitud de un grado en el ecuador en metros a pies, es decir, 3.28 * 111320 = 365130. Entonces sus ecuaciones se convierten en:

s=365130*cos(latitude*pi/180)
z=1/(365130*cos(latitude*pi/180))

Alternativamente, puede reproyectar su DEM a un sistema coordinado proyectado (también sugerido por los documentos de gdaldem).

usuario2856
fuente
Esta respuesta realmente me ayudó hoy, pero estoy un poco confundido acerca de los términos utilizados en QGIS. Cuando voy a Ráster - Análisis de terreno - Pendiente obtengo el campo llamado "factor Z" pero aquí tengo que ingresar el valor que aquí se denomina "escala" y no el valor inverso que aquí se denomina "factor Z". No puede ingresar el número muy pequeño que obtengo al calcular el inverso con el cálculo anterior y el valor predeterminado ya le dice que tiene que ser un número grande, pero aún es un poco confuso porque pensé que ambos términos "escala" versus "factor z" no se puede usar como sinónimo.
Taya
@Taya No veo un campo "Factor Z" en la herramienta Ráster-> Análisis-> DEM (Modelos de terreno) del menú en QGIS 2.14. Solo veo un campo Escala. ¿Quizás fue un error en versiones anteriores de QGIS ...? Editar: Ahh, estás usando el complemento de análisis de terreno , que debe ser un error en el complemento.
user2856
Sugeriría un par de cambios a esta respuesta: 1. Para la mayoría de las aplicaciones, usaría el factor de escala s o el factor z, no ambos (s parece una opción más lógica y funciona mejor en QGIS). 2. El factor de escala norte-sur es siempre 111320, pero el factor de escala este-oeste es 111320*cos(latitude*pi/180). En latitudes altas, esta diferencia creará problemas importantes y probablemente deba reproyectar en un sistema de coordenadas del medidor (por ejemplo, UTM) antes de calcular. En latitudes más bajas, puede intentar dividir la diferencia: s = 111320 * 0.5 * (1 + cos(latitude*pi/180)).
Matthias Fripp
4

Cuando trabaje con DEM en coordenadas lat largas con sus unidades en grados decimales y las unidades verticales en metros, debe establecer la "escala (relación de unidades verticales a unidades horizontales) en 111120. En

http://www.gdal.org/gdaldem.html

incluso sugieren que esta configuración para DEM con coordenadas de lantlon y unidades verticales en pies, la escala debe establecerse en 370400

Esta configuración también afecta los cálculos de la pendiente.

Gerardo Jiménez
fuente