viernes, 30 de agosto de 2019

QGIS complementos: Track Profile to Web.

Uno de los complementos para QGIS que nos ha resultado más útil y atractivo últimamente es Track Profile to Web, o lo que es lo mismo generar un perfil de un track en formato web. Su repositorio de código está disponible en GitHub y podemos instalarlo con facilidad desde el Administrador de complementos de QGIS de la manera habitual.
Complemento disponible a través del administrador de QGIS.
¿Qué hace Track Profile to Web?
El complemento permite seleccionar una línea vectorial con valores de altitud y crear un perfil de elevación interactivo. Dicho perfil puede exportarse como un solo archivo html o como una combinación de dos archivos (html+geojson). De esta forma podemos integrar de manera muy sencilla este perfil interactivo en una página web.
Muchos de los que nos leéis, aficionados a la cartografía pero también a los dispositivos GPS, habréis imaginado inmediatamente una primera utilidad de este complemento: generar perfiles de nuestras rutas en un mapa interactivo que podemos utilizar en las descripciones de los recorridos. Yo pensé lo mismo, así que vamos con ello.

1.- Abrimos QGIS y cargamos nuestro track en formato GPX.
Aquí es bueno puntualizar que si el track ya está limpio de puntos aberrantes, picos de altitud y esas cosas que todos solemos limpiar en el track definitivo, mucho mejor para un resultado final a publicar. Para este ejemplo vamos a utilizar el track de la subida al Pico Sacro realizado por la Gata con Botas.
Track GPX cargado. No es necesario aplicarle simbología pues el complemento tiene la suya propia.
2.- Abrimos el complemento Track Profile to Web.
Esto podemos hacerlo desde el menú Web de QGIS o desde el icono del complemento que se crea en la barra de botones al instalarlo.
En cualquiera de los casos se nos abrirá la ventana principal del complemento que contiene todas las opciones de configuración del mapa de salida y que son bastante intuitivas.
La configuración es muy sencilla: una pestaña para seleccionar el track sobre el que vamos a trabajar y otra pestaña para seleccionar un mapa base (1), la zona de configuración avanzada (2) en la que podemos cambiar entre otras opciones los colores, grosores y transparencias del perfil o marcador (también la ubicación del perfil en el mapa), y un botón para generar la Preview del resultado en la parte inferior de la ventana (3).
Respecto al mapa base se nos ofrecen, en el momento de escribir este artículo, cinco posibilidades: OpenTopoMap, OpenStreetMap Standard, Wikimedia, y las imágenes aéreas de Google o ESRI.  Creemos que el usuario puede añadir un mapa base en formato tiles, o al menos eso deducimos de la expresión 'insert your tile here' de la pestaña BaseMap, pero no hemos adivinado cómo hacerlo. Configurado todo a nuestro gusto podemos ejecutar el Update Preview para comprobar el aspecto del resultado.
Ya podemos interactuar con el perfil en la ventana de previsualización, obteniendo distancias y alturas en una combinación sincronizada entre el punto de track y el mapa base. También podemos hacer zoom o seleccionar un tramo en la ventana del perfil para visualizarlo en detalle sobre el mapa. Se activan también los botones inferiores que nos permiten abrir la visualización en nuestro navegador (1) y exportar el resultado en html o html+geojson (track) (2).
Si no disponéis de un sitio web al que subir el archivo HTML podéis ejecutarlo en local para visualizar todo el resultado final de una forma cómoda. Os dejo un archivo Perfil_web.html por si queréis probarlo. Y si disponemos de un sitio web sólo tenemos que cargarle dicho archivo HTML para que nuestro perfil de ruta interactivo esté disponible en nuestra web. Nosotros hemos probado a subir el HTML al host cutre que usamos para pruebas, y quizá por eso mismo algunas características del mapa (selección de tramo de perfil, recorrido del ratón por línea de perfil, etc...) no funcionan. Si hacéis las probaturas oportunas en una web decente ya nos comentáis si todo funciona correctamente.

Hemos intentado también subir el código HTML resultante a esta plantilla Blogger pero imagino que no es del todo compatible y sólo se nos muestra la parte del perfil... como es molona la dejamos. Saludos!

QGIS Track Profile 2 Web
Total Length: 0Max Elevation: 0Min Elevation: 0

9 comentarios:

  1. Interesantísimo... Tengo que intentar ponerlo en práctica y subirlo a las descripciones de rutas de mi blog.. gracias por compartir y explicar tan bien, a probar toca

    ResponderEliminar
    Respuestas
    1. Ahí está el tema que menciono en el artículo y por lo que he comentado que la gente reporte... No se si Blogger está preparado para insertar estos códigos más complejos o yo no he sabido hacerlo. Quizá se necesite un host completo con todas las funciones. A ver si con el tiempo salimos de duda. Saludos!

      Eliminar
    2. Se puede y es muy sencillo.
      Simplemente hay que cambiar una línea de código.
      Yo lo he probado en mi blog de blogger y funciona:

      https://vivacazorla.blogspot.com/2020/06/prueba.html

      Eliminar
    3. Claro hombre, compártelo con todo el que lea este artículo que estará encantado del aporte.

      Eliminar
    4. Este comentario ha sido eliminado por el autor.

      Eliminar
    5. Lo que he hecho es copiar el texto que sale de QGIS, quitando las líneas donde están los tags:

      <head>
      <title>...</title>
      <meta .../>
      </head>
      <body>
      </body>
      </code>
      Para que no se peleen con lo que haya escrito blogguer
      y luego cambiar estas dos lineas de style css:

      en #map {
      cambias
      height 75%;
      por
      height: 400px;

      y en

      .data-summary {

      position: absolute;
      por
      position: relative;

      Eliminar
  2. probado en local y de película, pero en blogger es necesario incrustar el código con "iframe", yo como no tengo donde subir el html pues no puedo inscrustarlo.
    Gracias

    ResponderEliminar
  3. Genial entrada, a ver si me pongo a aprender bien el QGIS, que mis programas para trabajar con mapas están ya muy anticuados.
    Lo he probado en local y muy bien
    Para blogger también va bien, no hace falta meterlo dentro de un iframe ni nada de eso. se puede poner editando una entrada en html solo hay que hacer un mínimo cambio.

    https://vivacazorla.blogspot.com/2020/06/prueba.html

    ResponderEliminar
    Respuestas
    1. dime los cambios que hacer para que aparezca en la entrada del blog

      Eliminar