miércoles, 18 de marzo de 2015

Mapa de sombras y relieve de color en QGIS.

En el articulo anterior vimos como añadir un sombreado de relieve a un mapa ráster con Global Mapper, dotándole así de un aspecto tridimensional muy efectivo. En esta ocasión vamos a mostrar cómo hacerlo desde QGIS 2.8, y ya puestos, también algunas herramientas más que podemos utilizar a partir de un MDT o DEM (Modelo Digital del Terreno): relieve de color, mapa de pendientes y mapa de orientaciones. Usaremos para todo ello los mismos archivos del artículo anterior: MTN50 hoja 157, y MDT05 de la misma hoja, disponibles como siempre recuerdo en el Centro de Descargas del CNIG.

1.- Sombreado de relieve.
Para conseguir aplicar un sombreado de relieve a un mapa en QGIS lo primero que debemos hacer es conseguir un mapa de sombras a partir del MDT. Abrimos el MDT en QGIS y con él seleccionado en el panel de capas procedemos a extraer el mapa de sombras (hillshade). Menú Ráster/Análisis de terreno/Mapa de sombras.
En la ventana de opciones tenemos la capa de altitud (el MDT sobre el que vamos a trabajar), la capa de salida (el destino y el nombre del archivo de sombras que vamos a generar), el formato de salida (de entre los muchos que hay recomendamos GeoTIFF), el Factor Z (es la exageración de las alturas, lo dejamos por defecto en 1), Añadir resultado al proyecto (lo dejamos seleccionado para que la nueva capa de sombras se nos añada a la ventana de QGIS) y dos campos bajo el epígrafe Iluminación: Azimuth es el ángolo desde el que el sol ilumina la escena (lo dejamos por defecto en los 300 grados, o sea, Noroeste); y Ángulo vertical que es la altura a la que el sol se encuentra respecto al horizonte (también lo dejamos por defecto en 40). Por supuesto podéis variar estos parámetros para ir observando los resultados, pues siempre lo recomiendo y es una de las mejores formas de aprender. Pulsamos Aceptar.
Tras unos segundos de trabajo del programa la capa Sombreado (o el nombre que le hayamos dado como capa de salida) se nos carga en QGIS añadiéndose a nuestro MDT original.
Abrimos ahora en QGIS nuestro archivo de mapa correspondiente a la hoja 157 del MTN50; lo colocamos el primero en la lista de capas de forma que sea lo primero visible (simplemente arrastrando la capa sobre las demás se consigue). Una vez cargado hacemos doble click sobre su nombre (o botón derecho/Propiedades) para que se nos abra la ventana de Propiedades de capa.
En dicha ventana seleccionamos la pestaña Estilo, y en el marco Renderizado de color (destacado en amarillo) tenemos todas las opciones a modificar. De nuevo podéis jugar con el brillo, la saturación o el contraste para ir aprendiendo y visualizando los cambios hasta estar a nuestro gusto. Pero lo básico por ahora es que en la pestaña Modo de mezcla (destacada en naranja) seleccionemos Multiplicar. Aplicamos los cambios si queremos previsualizarlos y los aceptamos si los creemos definitivos.
Nuestro mapa plano del MTN50 queda fusionado con el mapa de sombras extraído del MDT
 generando la sensación de relieve que buscábamos.
2.- Relieve de color.
Otra variante muy interesante al mapa de sombras es generar un relieve coloreado en función, normalmente, de las altitudes del terreno. Podemos seguir en el punto en el que estábamos. Apagamos las capas del mapa MTN50 y del sombreado, y seleccionando el MDT original en la lista de capas, vamos al menú Ráster/Análisis del terreno/Relieve...
En la ventana de opciones de nuevo seleccionamos el MDT como Capa de altitud, seleccionamos un nombre y un destino para la Capa de salida, dejamos el formato como GeoTIFF, el Factor Z en 1, y marcada la casilla Añadir resultado al proyecto para que nuestra capa se cargue al terminar. Pulsamos el botón Crear automáticamente para que el programa nos genere una rampa de colores que representen las altitudes por defecto del terreno (tarda un poco). Esta escala de colores puede modificarse importando una ya hecha o eliminando algunas bandas, cambiándolas de lugar, etc... pero de momento nos vale con lo que QGIS hace por defecto. Si el programa no importara correctamente el rango de alturas del MDT para asignar a cada banda de color, podemos introducirlas manualmente haciendo doble click sobre el valor de altura y de esta forma redistribuir uniformemente los límites de altura de cada banda de color. Pulsamos Aceptar.
Nuestra nueva capa relievecolor se añade a la lista de capas en pantalla.
Como ya tenemos nuestra capa de la hoja 157 del MTN50 retocada con el efecto Multiplicar que le dimos en las Propiedades de capa, sólo tenemos que encenderla para que ese mismo efecto se aplique sobre nuestro relieve de color que está debajo de ella en la lista. El resultado es espectacular.

Para las otras herramientas disponibles en el mismo menú (Pendientes, Orientaciones o Índice de escabrosidad), y por no alargar mucho esta entrada, simplemente tenéis que proceder de la misma forma. Todas ellas como veis son operaciones que podemos ejecutar sobre un archivo MDT de relieve y que nos permiten extraer distintos parámetros para distintas funcionalidades, no necesariamente para sombrear un ráster aunque fuera el propósito de este artículo. No me digáis que no queda precioso el mapa, ¿verdad?.

PD: Quedaría pendiente cómo exportar esa imagen tan preciosa de nuestro mapa sombreado, y si no usáis QGIS seguramente estaréis preguntándoos como diablos se hace. Hasta donde yo se sólo es posible a través del Diseñador de impresión de QGIS (en el menú Proyecto) pero por desgracia es demasiado largo explicarlo en este artículo.... Si lo necesitáis dejadme comentario debajo e intento hacer una entrada al respecto. Saludos!!

25 comentarios:

  1. Hola....no tengo mucha experiencia con el programa QGIS,pues normalmente efectuo este procedimiento como tu lo explicas en el anterior articulo,con el GlobalMapper.
    Pienso que este fenomenal programa que es el QGIS,tiene muchas opciones por descubrir y el articulo en el que has descrito el procedimiento estaria incompleto sin la posibilidad de exportar nuestro mapa a un formato adecuado a las utilidades con las que trabajamos
    Darte las gracias por los articulos que compartes con todos nosotros,que somos muchos los que te seguimos a diario (ya veo los mapas de visitas) y animarte para seguir haciendolo.
    Un saludo................................Laita !!

    ResponderEliminar
    Respuestas
    1. Llevas razón Laita, pero explicarlo en el mismo artículo hubiera sido demasiado. Además cuando genero el jpeg, o el png con sus correspondientes archivos de calibración (jgw, pgw), Global Mapper no me los abre y sin embargo CompeGPS si... Y debo generar alli el IMP de Compe para que entonces Global Mapper si me los abra. Muy curioso... Voy a ver si afino eso antes de publicar. Saludos!!

      Eliminar
  2. A los buenos dias, hola Javi.
    Tengo el problema de que no puedo cargar el MDT. No me deja.....
    Empiezo todo bien, pero cuando llego a la ventana Mapa de sombras, en el box de capa de altitud, no me deja escribir la ruta del MDT, ni siquiera se abre el desplegable.
    ¿Deberia hacer algo previamente? ¿Deberia estar ese MDT en alguna carpeta en concreto?
    Saludos

    ResponderEliminar
    Respuestas
    1. Hola tajo20... El box de capa de altitud no es para buscar ninguna ruta, sólo para seleccionar la capa MDT. O sea, el MDT tiene que estar abierto en QGIS y por tanto salir en ese box, no buscarlo desde ahí fuera del programa. Es lo único que se me ocurre según lo que me escribes...

      Eliminar
    2. Solucionado....muchas gracias majo.
      Tambien aprovecho para indicar otro problema que tengo......
      Estoy intentando descargarme el Qgis 2.8, y no se me descarga bien: lo mismo me descarga 90mb que 180 que 300 que 150... el caso es que no se descarga bien y cuando intento instalar una descarga, no hace mas que salirme mensajes de error. ¿Cuantos megas deberia tener la descarga correcta?

      Eliminar
    3. Mi instalador desde su web oficial y con nombre "QGIS-OSGeo4W-2.8.1-1-Setup-x86.exe" tiene un tamaño de 332 MB (340.608 KB).

      Eliminar
    4. Ese es el que yo descargo....pero que si quieres arroz, Catalina.
      ¿Y no tendrias la descarga para colgarla un ratito por ahi?

      Eliminar
    5. Te lo he subido a Dropbox, por si quieres probarlo, aunque si lo has descargado me extraña mucho que el error sea del archivo, pero bueno... Ahí te lo dejo:
      https://dl.dropboxusercontent.com/u/12651009/QGIS-OSGeo4W-2.8.1-1-Setup-x86.exe

      Eliminar
    6. Descargado, muchisimas gracias.
      Sigo teniendo problemas..ya te contare.

      Eliminar
  3. Hola otra vez....estoy que si le pudiera morder al dichoso Qgis............bueno, al lio.
    Como una imagen vale mas que mil palabras, aqui esta el problemilla que me da el simpatico Qgis.
    http://s8.postimg.org/njfmcqvyd/Wien.jpg

    ResponderEliminar
    Respuestas
    1. Parece que ese archivo DEM no está muy allá no? Al darle al botón "Crear automáticamente" te ha sacado ese rango de alturas? Por lo que veo es el DEM de la hoja 694... Voy a descargarla y hago la prueba a ver si me pasa lo mismo...

      Eliminar
    2. Aunque ahora que me fijo en el box "capa de altitud" tienes seleccionado el mapa ráster no el MDT....
      Aún así he probado con los MDT25 y con el MDT05 de tu hoja... Con todos importa los valores de altura para asignar a las bandas de color de manera errónea. Supongo que el programa fallará en eso o yo tuve mucha suerte con el que usé... Solución: se pueden introducir los valores de altura manualmente pinchando en ellos doble click y así los distribuimos uniformemente entre el mínimo y el máximo (esos si nos salen). Ya he introducido este detalle en el artículo; gracias por desvelar esta incidencia tajo20. Saludos!!

      Eliminar
  4. Hola amigo Javi, he conseguido convertir el proyecto de Qgis a .jnx. Sin animo de meterme a mojetero......si lo quieres ver......
    http://s6.postimg.org/up7ag01k1/QGIS_BASE.jpg
    http://s6.postimg.org/5x7o8rkdd/QGIS_BASE_3_D.jpg

    ResponderEliminar
    Respuestas
    1. Jaja... Hombre pasar un mapa a JNX no es muy complicado... Otra cosa es que lo hayas hecho con el propio QGIS o que fuera JNX multicapa (para mi la mayor razón para usar JNX). Y a qué espera para contar el proceso? jaja saludos!!!

      Eliminar
    2. Hombre, claro que no es complicado pasar un mapa a .jnx. A estas alturas con lo que ha llovido......
      Lo que he hecho ha sido pasar ese MDT coloreado con Qgis a .jnx y superponerle el Topohispania en el Global Mapper.
      No he exportado el proyecto de Qgis con el mismo programa, sino con el Quantum gis, que lo he bajado de Softonic.
      Con Quantum gis he exportado el proyecto como imagen a .jpg y de hay lo he pasado a .jnx con Global Mapper (podria haberlo hecho con Ok Map, por ejemplo).
      Vuelven a abrirse infinitas posibilidades, esta vez para enredar con el aspecto de los mapas raster.
      Seguimos enredando.

      Eliminar
    3. Ok, más o menos lo que suponía.. que estaba Global Mapper por medio. Pero una cosilla... que yo sepa Quantum GIS y QGIS son lo mismo, sólo que hace un tiempo cambiaron el nombre al QGIS definitivo. Y otra cosilla... a ti Global Mapper te abre bien el jpeg generado con QGIS? Porque a mi me da problemas el archivo adjunto .jgw que se genera con el jpeg y Global Mapper no lo sabe leer.
      Así me gusta a seguir enredando, eres peor que yo... jajaja... Un abrazo!

      Eliminar
  5. No,no son igual Quantum que Qgis. Con Quantum puedes exportar el mapa como imagen, con Qgis, no.
    Quantum te exporta el mapa a .jpgw. Exportalo con Quantum, que seguro que Global Mapper lo admite sin problemas.

    ResponderEliminar
    Respuestas
    1. La verdad que ahí discrepo... Quantum GIS son versiones mas antiguas de lo que hoy es QGIS, que por supuesto que te deja exportar el mapa como imagen. He descargado Quantum GIS 1.7.4 (creo) y es evidente que es versión antigua de QGIS. Lo mismo pero más viejo; mal asunto di hay que ir para atrás. Lo investigaré mejor, pero creo que esto es así.

      Eliminar
  6. Saludos
    muchas gracias por esta información
    Tengo el siguiente problema: cuando hago el Hillshade queda horrible porque la imagen queda como demaciado pixealeada no se distinguen bien las montañas ademas que queda demaciado oscuro en algunas partes,
    Espero me puedas ayudar ya intente todo lo que habia a mi alcance
    Gracias

    ResponderEliminar
    Respuestas
    1. Hola! por lo que cuentas lo primero que se me ocurre es que estés usando un MDT con muy poca resolución para lo que buscas, o que no lo veas con el zoom apropiado. Sin verlo no sabría qué más decirte... Qué relieve estás usando?

      Eliminar
  7. Hola,

    Antes de nada, Javier, enhorabuena por el blog y gracias por compartir tanta información, y así poder echarnos un cable unos a otros. La duda que tengo a ver si alguien me puede ayudar, es si es posible mostrar cada una de las rampas de color por separado como capas independientes, en vez que aparezcan todas juntas asociadas al ráster de origen. Lo mismo es una tontería, pero sería muy útil poder mostrar las áreas de un determinado rango de altitud por separado, etc.

    saludos!


    ResponderEliminar
    Respuestas
    1. Hola Antonio... Se me ocurre así a bote pronto duplicar la capa de relieve tantas veces como se necesite y así tendremos el coloreado por alturas diferente en cada capa. Luego simplemente apagando o encendiendo la capa en cuestión se podrían comparar muy bien, o incluso fusionar varios coloreados o lo que se quisiera. Pero estoy seguro de que hay varias formas de hacer lo que pides, a ver si alguien que controle más los procesos de QGIS dice algo... Gracias por tus palabras y un saludo!!

      Eliminar
  8. Gracias Javier, estoy probandolo así y haciendo transparente los tramos de alturas que no me interesan que se muestren, y si consigo que en la leyenda sólo se muestre la etiqueta del tramo de elegido, sería una alternativa. También me han comentado de reclasificar la capa con un algoritmo, pero de momento se me escapa ya que estoy aprendiendo el programa.

    saludos!

    ResponderEliminar
  9. Finalmente lo he arreglado con la calculadora de ráster, filtrando por rangos de altitud. Pierde un poco de calidad la imagen pero también depende porque el ráster original estaba algo pixelado, pero resuelto está. saludos!

    ResponderEliminar
    Respuestas
    1. Me alegro mucho Antonio; y muchas gracias por compartir con todos la fórmula utilizada. Un saludo!!

      Eliminar