viernes, 6 de febrero de 2015

Publicar mapa web 3D de QGIS.

Siguiendo con otro de los plugins interesantes de QGIS en cuanto a publicar mapas en la web, hoy hablamos de Qgis2threejs. Es este un complemento de QGIS creado por Minoru Akagi que nos permite exportar datos de relieve, imagen de mapa y datos vectoriales a un navegador de internet. O lo que es lo mismo, nos permite representar el mapa en 3D en aquellos navegadores que soporten WebGL (los más comunes). El repositorio del complemento, así como la explicación de su funcionamiento lo tenéis en su web https://github.com/minorua/Qgis2threejs

Nos ponemos a elaborar nuestro sencillo ejemplo.
Preparamos en QGIS el mapa que queramos representar, que en esta ocasión consta de:
- Ortofoto PNOA, hoja 157 según la distribución MTN50, en formato .ecw disponible en el Centro de Descargas del CNIG.
- Modelo Digital del Terreno con paso de malla 25 metros (MDT25) de la misma hoja 157 en formato .asc disponible en el mismo sitio.
- Vectoriales shape .shp de la BTN25, hoja 157-2, conteniendo los ríos y los puntos de cota de esa cuadrícula, disponibles también en el Centro de Descargas.
Todos los elementos de nuestro mapa cargados en bruto en QGIS:
Interfaz del plugin Qgis2threejs.
El resto es cuestión de jugar con todos los parámetros de simbología y etiquetado hasta que nuestro mapa esté a nuestro gusto. Qgis2threejs asumirá todos esos cambios y los representará en pantalla (aparte de las decenas de opciones que el propio plugin tiene). También distingue los vectoriales en puntos, líneas o polígonos para darle a cada uno de ellos distintas opciones de representación. Para que os hagáis una idea, si ejecutamos el plugin tal cual está el mapa en la captura de arriba, sin tocar nada, tendríamos este resultado en nuestro navegador:

Y modificando cuatro cosillas a nuestro gusto, tanto en QGIS como alguna de las variadas opciones del plugin, enseguida podemos llegar a tener algo como esto:
Las opciones del plugin son muchísimas, pudiendo modificar texturas de mapa, ubicación y etiqueta de los vectoriales, resolución del DEM, etc, etc...Un último ejemplo con algunas modificaciones más:

El complemento trabajará en un directorio temporal para abrir el navegador y mostrarnos el resultado. Pero si le especificamos un directorio de salida, nos genera una estructura HTML que puede ser aprovechada para publicar nuestro mapa web en Google Drive o Dropbox, como explicamos en el artículo anterior. Esta es la verdadera razón de haber hablado sobre este plugin: que nos permite generar una estructura de archivos OpenLayers ideal para la publicación web. Saludos!!

12 comentarios:

  1. Hola Javier, por más que pincho en "prueba mapa web en 3D" no consigo que se abra el mapa, la pantalla se me queda en blanco. Lo he intentado en varios ordenadores y nada. Échale un vistazo, puede que halla algún problema. Saludos!!!

    ResponderEliminar
    Respuestas
    1. A mi si se me abre Diego, comprobado ahora mismo... A ver si es el navegador tuyo que le falte alguna librería WebGL, ni idea. Yo lo veo en Chrome. En la web del plugin creo que hay un link para comprobar si tu navegador es compatible. Saludos.

      Eliminar
  2. Interesante Blog Javier, yo que soy estudiante de topografía, y que ahora me inicio en esto del QGIS y las llamadas IDES. Un saludo y enhorabuena ya que para el etrex que poseo y demás explicaciones, este blog es un verdadero lujo y ayuda.

    ResponderEliminar
    Respuestas
    1. Gracias a ti por los ánimos, los piropos y la visita. Y ánimo con esos estudios que yo no tengo. Un saludo.

      Eliminar
  3. Hola Javier, muy buen artículo. Si nos permites, queremos recordar a los lectores de tu blog que si quieren ver cualquier territorio de España en 3D pueden entrar en la web del Instituto Geográfico Nacional y podrán hacerlo: http://www.ign.es/3d-stereo/. ¡Gracias!

    ResponderEliminar
  4. Muy útil, mi problema es que cuando lo proyecto los bordes del mapa se elevan hasta el infinito creando como un prisma de lo que quiero representar ¿Tienes idea de por que puede ser?

    Gracias por el blog

    ResponderEliminar
    Respuestas
    1. Juega y prueba con las distintas opciones de alturas del complemento; no es muy intuitivo y a mi también me costó varias pruebas que lo representara bien. Varia mucho dependiendo de si le das las alturas por algún atributo del vector o del valor que le pongas en Z. Cada caso es un caso depende de los valores del vector.... En unas pocas pruebas seguro que te sale la buena. Saludos.

      Eliminar
  5. Buenos días, tengo una capa vectorial tipo punto con coordenada Z en atributos y otra tipo línea en la que quiero que conecte puntos de la anterior. He intentando de todo, los puntos me los representa en su elevación, pero las líneas sólo permite una cota (o eso creo) y no soy capaz de unir los puntos por las líneas. En el ejemplo que ilustras se ve como los ríos se adaptan al MDT, aunque mi efecto quería que fuesen líneas rectas.
    Espero que me puedas ayudar.
    Saludos y enhorabuena por el blog. Raúl.

    ResponderEliminar
    Respuestas
    1. Bueno en mi caso la base utilizada BTN25 es 3D, o sea, que tiene ya datos de altura en sus vectores. Para el caso de que no imagino que antes hay que dárselos a partir de un MDT. Saludos.

      Eliminar
  6. Hola Javier,
    Interesante blog. ¿Tienes más información acerca de cómo modificar la simbología y el etiquetado en el plugin Qgis2threejs?

    Gracias y enhorabuena!

    ResponderEliminar
    Respuestas
    1. No, sobre Qgis2threejs solo tengo esta entrada y otra hablando de una escena 3D: https://digimapas.blogspot.com/2018/04/caso-practico-escena-3d.html
      De todas formas el plugin Qgis2threejs cambió bastante en la versión 3 de QGIS y me gustaría hacer una entrada con la nueva versión que es bastante diferente. Todo es cuestión de que saque tiempo. Saludos!

      Eliminar