lunes, 22 de febrero de 2016

QGIS Cloud: nuestros mapas en la web.

Hace ya mucho tiempo que conocemos QGIS Cloud, el servicio en la nube que QGIS nos ofrece para publicar nuestros mapas en la web, accesibles a todo el mundo. Todo este tiempo que lo estuve probando me daba continuos errores, tanto a la hora de subir los datos como a la hora de visualizar los mapas, y el servicio era tan errático e impredecible, que acabé por dejar de usarlo. Últimamente me ha vuelto a funcionar bastante bien, y mis últimas pruebas han sido exitosas, así que confiando en su estabilidad es el momento de hablaros de este gran invento.
¿Qué es QGIS Cloud? Básicamente es una infraestructura de datos espaciales que nos permite publicar y compartir mapas en la web sin las complicaciones ni requisitos necesarios habitualmente (servidor de alojamiento, conocimientos avanzados, adecuación de las bases de datos, etc...). Simplemente crearemos nuestro mapa en QGIS y lo publicaremos en la web tal cual mediante QGIS Cloud.
Vamos a explicar paso por paso y con detalle el proceso completo, aún a riesgo de aburriros...

1.- Crear una cuenta en QGIS Cloud.
Lo primero que debemos hacer es darnos de alta en QGIS Cloud creando una cuenta gratuita. Para ello accedemos a su web http://qgiscloud.com/ y nos registraremos mediante el botón Sign Up. Simplemente un nombre de usuario, una contraseña y un correo electrónico bastarán para ello.
Web de QGIS Cloud. Sign Up para registrarnos, Login para acceder al servicio una vez creada la cuenta.
El plan gratuito de QGIS Cloud nos permite publicar mapas ilimitados con un límite de espacio de 50 megas o 5 bases de datos PostGIS. Obviamente para un proyecto ambicioso sería insuficiente, pero para publicar varios de nuestros mapas este servicio gratuito cubre de sobra nuestras necesidades.

2.- Instalar el complemento QGIS Cloud en QGIS.
El siguiente paso es instalar en QGIS el complemento específico de QGIS Cloud que nos permitirá gestionar desde el programa la subida de datos a la nube y la publicación del mapa. Abrimos QGIS y desde su administrador de complementos buscamos el plugin y lo instalamos de manera muy sencilla.
Una vez instalado sin ningún misterio, podremos acceder a la ventana de configuración del complemento tanto desde el menú Complementos, como desde el icono que se nos crea en la barra de botones.
El panel de QGIS Cloud activado desde uno de los dos lugares posibles: menú Complementos o botón propio.
Aunque QGIS Cloud admite que le carguemos mapas desde servicios WMS, es MUY recomendable tener instalado también el complemento OpenLayers, que nos permitirá añadir desde el mismo plugin QGIS Cloud, como mapas de fondo, la cartografía on line de los principales proveedores (Google, Bing, OSM, etc...).

3.- Crear nuestro mapa en QGIS.
Ahora es el momento de crear nuestro mapa. Para este sencillo ejemplo yo he utilizado varias capas vectoriales de la BTN25: poblaciones, edificios, ríos, toponimia, ... Modificamos apariencia, simbología, etiquetado y demás para dejar el mapa a nuestro gusto. También renombramos las capas con un nombre más sencillo, pues con ese nombre se subirán a QGIS Cloud. Como fondo de mapa yo he elegido el sombreado de relieve del mapa base del IGN (cargado desde su servicio WMS) pero desde el mismo panel de QGIS Cloud podemos seleccionar alguna de las cartografías más conocidas.

El sistema no soporta la carga de archivos ráster, por lo que si hemos incluido alguno en nuestro mapa antes de subir los datos a QGIS Cloud se nos avisa con el siguiente mensaje ("topo" es el mapa ráster que intentábamos incluir como capa) y se nos recomienda usar una capa WMS:

Mapa preparado listo para publicar. En el panel de QGIS Cloud, posibilidad de incluir mapa de fondo.
4.- Publicar desde panel de control de QGIS Cloud.
Una vez compuesto nuestro mapa debemos acceder a QGIS Cloud a través del panel de control. Para ello en la pestaña Account accedemos a nuestra cuenta.
El programa nos informa del espacio libre en la cuenta (0 de 50 megas en este caso). Como el mapa contiene datos en local (todas las capas vectoriales) debemos subir primero los datos a la nube desde la pestaña UploadData (si intentamos publicar sin haber subido los datos el programa nos lo recuerda):
Accedemos pues a la pestaña UploadData, cuya captura vemos a continuación:
Pestaña UploadData con las capas vectoriales. Recomendable pulsar Refresh layers para que se actualice el contenido antes de subirlo. Como vemos en naranja no tenemos creada ninguna base de datos aún en QGIS Cloud, por lo que al pulsar en Upload data nos aparece el siguiente mensaje....

Lo que significa que debemos ir a la pestaña Account y crear una base de datos en la que alojar nuestras capas. Accedemos a ella y pulsamos en Create, con lo que el sistema nos genera una base de datos de nombre aleatorio y bastante difícil de recordar, por cierto... En nuestro caso: oonzch_srunkv.
Ahora podemos volver a la pestaña Upload Data y comenzar la subida de datos, ya que en la pestaña Database figura seleccionada nuestra recién creada base de datos:
Terminada la carga de datos locales en QGIS Cloud el proyecto necesita guardarse por lo que os saldrá una ventana para ello. Lo guardamos si no lo habíamos hecho ya con el nombre que queramos (ese nombre formará parte de la URL del mapa publicado) y ya podemos pulsar en Publish Map en la ventana principal (pestaña Map) del panel de control de QGIS Cloud. Una vez terminado el proceso de publicación QGIS nos lo notifica en la barra de estado y nos genera los enlaces correspondientes a cada versión de nuestro mapa:
Os dejo los enlaces por si queréis echar un vistazo a cómo queda publicado nuestro mapa, y lo que es más importante, respetando perfectamente la estética que le hemos dado:
Igualmente si accedemos ahora a la web de QGIS Cloud y entramos en nuestra cuenta, en la sección Maps figura nuestro mapa en el listado, con los enlaces y algunas acciones básicas (descargar proyecto, editar algunos parámetros del mapa o eliminarlo).
No os asustéis pues es un proceso muy fácil; seguramente yo me haya excedido explicándolo, pero el propio sistema nos va guiando si hemos omitido algún paso. Probad y veréis que es muy sencillo subir el mapa al servicio.

5.- Servicio WMS de QGIS Cloud.
Como habréis visto en los enlaces que se nos generan al publicar un mapa en QGIS Cloud, uno de ellos corresponde a la URL de un servicio WMS público. Sin duda esta es para mi una de las grandes utilidades de QGIS Cloud, pues de esta manera tan simple podemos ofrecer nuestro mapa en un WMS que, de otra forma, sería bastante engorroso de conseguir. Sin servidores dedicados, sin estructuras ni bases de datos complejas, QGIS Cloud nos regala esta magnífica posibilidad respetando además al 100% la estética que le hayamos dado al mapa. Una maravilla.
Esto significa que podemos ver nuestro mapa en cualquier software que admita visionado de servicios WMS...
Nuestra URL del servicio WMS abierta en Global Mapper. Impecable: estética del mapa y leyenda de capas respetada 100%.
Nuestra URL del servicio WMS abierta en gvSIG. Impecable de nuevo.
Además, si le añadimos la petición a nuestra URL también podemos ver el archivo de capacidades:
En el que entre otras cosas descubrimos las proyecciones disponibles para el mapa, su estructura de capas o los formatos de imagen admitidos. Con ello teóricamente podemos elaborar los archivos necesarios para poder visualizar nuestro mapa WMS en programas como SASPlanet o MOBAC.

6.- Base de datos PostGIS.
Por último, y muy brevemente, indicaros que las capas vectoriales subidas a QGIS Cloud quedan disponibles como base de datos PostGIS, por lo que también podremos cargarlas desde QGIS como una nueva capa PostGIS. Otra ventaja añadida (aunque de este modo no conservan el aspecto que les dimos).
Acceso a los datos de nuestra base en QGIS Cloud a través de capa PostGIS.
En definitiva. una herramienta magnífica este QGIS Cloud. Perdonad la extensión, el número de imágenes y lo aburrido que haya podido ser este artículo, pero no quería dejarme nada de lo básico a la hora de mostraros la enorme utilidad que QGIS Cloud puede tener para nosotros. Ojalá el servicio siga así de estable y duradero por mucho tiempo. Saludos!!
Versiones utilizadas: QGIS 2.12 Lyon y QGIS Cloud 1.1.19

18 comentarios:

  1. Hola, estoy buscando información para un proyecto y no se si esta herramienta podría venirme bien.La cuestión es la siguiente: sobre la base de los mapas del IGN, deseo colocar en ellos un conjunto de fotos (geolocalizadas) y después poder compartir este mapa. ¿Es posible hacerlo con esta herramienta?. Si es así, ¿cómo se haría?. Se que es mucho pedir, pero a ver si alguien me pone en la pista de cómo podría hacerse. Muchas gracias y un saludo.

    ResponderEliminar
    Respuestas
    1. Hola Francisco! En principio te diría que no, no estoy seguro que acepte imágenes, pero tengo que probar si asociadas a un punto vectorial QGIS Cloud las abriría... En cuanto pueda lo pruebo. Mientras tanto te diría que con Google Maps lo que quieres hacer es muy sencillo, pero claro al querer de fondo los mapas IGN ya no vale. Echa un ojo a la sección Digimapas del blog y al mapa Tierra de la Reina, donde tienes un enlace al artículo de cómo se hizo. Es lo más parecido que se me ocurre ahora usando QGIS... y mañana mismo pruebo lo otro a ver si me sale. Saludos!

      Eliminar
    2. Hola Francisco:
      Yo QGISWEB, no lo conozco, pero te recomiendo para lo que quieres hacer los mapas de ARCGIS storymaps.
      http://storymaps.arcgis.com/es/app-list/

      Eliminar
    3. How to publish images and photos on QGIS Cloud have a look at:
      http://blog.sourcepole.ch/2015/11/18/image-tooltip-with-qgis-cloud/

      Eliminar
  2. Muchas gracias a todos por vuestra ayuda. Me pongo manos a la obra para ver las aplicaciones que comentáis. Un saludo.

    ResponderEliminar
  3. Saludos, estoy realizando pruebas con la aplicación de Qgui Cloud,pero tengo una incognita,¿yo puedo saber cuanta visitas se realizan al geoportal que publique?.

    ResponderEliminar
    Respuestas
    1. Bueno, llamar "geoportal" a un mapa publicado en la web es mucho llamar... Cuando entras en tu cuenta y tu sección de mapas publicados hay un contador "access count" que supuestamente te dice las veces que se ha visto el mapa. Saludos.

      Eliminar
  4. Respuestas
    1. No se muy bien a que te refieres... QGIS Cloud sube el mapa a una web, con lo que ya tienes una dirección HTML del mapa como las que se citan en el artículo en la propia web. Si te refieres a conseguir la estructura HTML de tu mapa para subirlo a un hosting QGIS Cloud no es lo indicado (prueba algún complemento como qgis2web). Saludos.

      Eliminar
  5. Hola, he estado leyendo con mucha atención este estupendo tutorial sobre QGis Cloud a ver si encontraba un problema que me ocurre con un proyecto a la hora de subirlo. La cuestión es que no se me cargan todas las capas a la nube a pesar de que creo que están bien organizadas (son todas vectoriales). Trabajo con la versión 3.4.2 Madeira.

    ResponderEliminar
    Respuestas
    1. Hola Santos, la verdad es que a mi también me daba muchos errores al subir los vectores y entre eso y el poco espacio disponible en la cuenta free apenas lo he usado... Muy difícil saber el motivo desde fuera pero se me ocurre que compruebes eso: que las capas de vectores que intentas subir no ocupen más del espacio que tienes disponible de almacenamiento en QGIS Cloud (que como digo es muy poco si es cuenta free).
      Y también que si las tienes en diferentes formatos procures subirlas todas en shp o algún formato comprobado que las admite. Pero poco más te puedo decir desde fuera... Saludos!

      Eliminar
    2. Gracias por tu respuesta. Al final harto de los fallos que me daba esta versión 3.4.2 decidí probar con la versión 2.18 "Las Palmas" y todos los problemas se acabaron.
      Aprovecho para preguntarte sobre otra cuestión. Una vez subido un mapa al servidor, es posible añadir alguna otra nueva capa? o sobrescribir una anterior ya subida para modificarla con nuevos datos? como se hace en las web a través de un cliente FTP.
      Gracias y saludos

      Eliminar
    3. Claro, puedes subir nuevos datos simplemente añadiéndolos y cargando en el mismo proyecto de Cloud. O modificarlos. Prueba con lo que menciono en el articulo de la Base PostGIS, es la mejor alternativa para estos casos de actualizar el mapa al vuelo. Yo desde que pusieron una marca de agua con su logo en el servicio WMS que generan no he vuelto a usar QGIS Cloud.... Saludos!!

      Eliminar
  6. Buen dia una pregunta es posible subir alguna imagen el momento de publicar el mapa, me refiero en algún punto que se haga click y se ve la información se puede visualizar automático una imagen ?

    ResponderEliminar
    Respuestas
    1. No sabría decirte 100% porque no todas las funciones que dejas preparadas en QGIS luego se trasladan con exactitud a QGIS Cloud (y lo de foto insertada no se si es una de ellas). Es probar a preparar un proyecto así y subirlo a ver si lo respeta. Saludos.

      Eliminar
  7. Hola,
    He publicado en mi qgis cloud pro un mapa pero para poder ver su leyenda se necesita siempre hacer clik en la parte superior de la herramienta y luego es que se abre. Mi pregunta es la siguiente: Es posible que mi leyenda se quede permanente en mi mapa si tener que hacer clik?
    Tendria que hacer esta operacion dentro de mi CSS en el viewer personalizado?
    En espera de una respuesta. Gracias.

    ResponderEliminar
    Respuestas
    1. No lo sé, ya que dependerá de las posibilidades que ofrezca la propia herramienta... Quizá contactar con ellos y formularles la duda sea lo más adecuado. Saludos!

      Eliminar