miércoles, 17 de octubre de 2018

TopoCanarias: venta anticipada.

TopoCanarias para Garmin es ya una realidad y será lanzado a la venta general el próximo miércoles 24 de octubre a un precio de 20 €uros. Hasta ese día y desde ya mismo abrimos una semana de venta anticipada del mapa.
TopoCanarias: La Palma a zoom 500 metros en BaseCamp.
Los usuarios que se acojan a la misma dispondrán de las siguientes ventajas y regalos:
  • Precio del mapa: 16 €uros (20% de descuento).
  • REGALO de archivo(s) JNX multicapa de gran calidad de tu isla de interés, con la cartografía IGN 25k (MTN25 1994-2017 CC-BY 4.0 ign.es © Instituto Geográfico Nacional) y la última ortofoto de las islas (OrtoExpress 2017. Propiedad del Gobierno de Canarias.© GRAFCAN). Este archivo JNX puede utilizarse tanto en BaseCamp como en dispositivos Garmin parcheados*.
  • REGALO de mapa IMG ráster** con las Cartas Marinas Navionics de tu isla de interés. Un mapa de enorme utilidad en un territorio de gran importancia marítima como Canarias.

Para ejecutar la compra anticipada de TopoCanarias y beneficiarte de todas estas ventajas, selecciona cuidadosamente tu Sistema Operativo, la isla de tu interés para los regalos y pulsa Pagar ahora (16 €uros):
  • La compra anticipada estará disponible hasta las 24 horas del martes 23 de octubre.
  • Los envíos del lote de archivos por compra anticipada se efectuarán a partir del mismo día 24, fecha de publicación oficial de TopoCanarias, por riguroso orden de pedido.
  • El lote de archivos incluirá instalador del mapa TopoCanarias para BaseCamp (Pc/Mac), archivo IMG del mapa TopoCanarias para copia directa en el GPS Garmin, archivo de texto con breves instrucciones + contraseña del instalador y los regalos de la isla escogida.
Aprovéchate de las enormes ventajas a cambio de unos pocos días de espera en los que iremos preparando tus regalos.
Ejemplo de archivo JNX multicapa de regalo.
Detalles de archivo de Carta Marina.

* Para ver JNX de usuario en un dispositivo Garmin es necesario parchear el firmware de la unidad. Toda la info en Iogrea. Para verlo en BaseCamp podemos hacerlo desde un GPS virtual desde el que luego podemos transferir el JNX a una lista del programa.
** El mapa IMG con las Cartas Naúticas puede copiarse directamente en el Garmin sin necesidad de operaciones adicionales.
TopoCanarias, mapa topográfico artesano por Cartografía Digital ©
Comparte para que la oferta llegue a los posibles interesados.

miércoles, 3 de octubre de 2018

Caso práctico QGIS: estilo Tanaka en curvas de nivel.

Hoy vamos a intentar desarrollar un caso práctico con QGIS consistente en aplicar un estilo a las curvas de nivel conocido como Tanaka. Dicho en tres palabras este método consiste en aplicar una fuente de luz a los contornos de las curvas, con lo que se consigue una representación similar al 3D proporcionando un efecto de sombra realista sin necesidad de datos de relieve verdaderos. Dibujando en tonos más claros las líneas que miran directamente a la fuente de luz y en tonos más oscuros las que caen en sombra, y apoyados también en diferentes grosores (más delgadas las perpendiculares a la luz) se termina de pulir ese efecto realista del paisaje.
Dado que para este tipo de operaciones se requieren conocimientos avanzados de expresiones y funciones (que yo por desgracia no tengo), seguimos el excelente tutorial de LandscapeArchaeology. Todo lo que necesitamos para este caso práctico es un MDT (o DEM). Vamos con ello:

1.- Cargar en QGIS el MDT sobre el que trabajar.
Hemos elegido para este caso práctico una zona costera de las Rías Baixas para una mejor visualización del efecto.
2.- Extraer las curvas de nivel.
En QGIS disponemos de varias fórmulas para realizar esta operación: SAGA, GRASS, GDAL... Según nuestro guía parece conveniente para un resultado más óptimo que las curvas tengan la misma orientación o sentido (a favor o en contra de las agujas del reloj, pero nunca ambas). Y parece también que el algoritmo GDAL es el que nos asegura la consistencia en este proceso. Así pues, procedemos a generar las curvas de nivel con él.
Con los parámetros por defecto simplemente generamos las curvas con una equidistancia de p,ej. 20 metros.
Una rápida comprobación usando la simbología de flechas para comprobar que la orientación de las curvas es uniforme.

3.- Aplicando el estilo.
Dado que el método Tanaka busca aplicar el estilo a cada tramo de línea, es necesario segmentar la curva para disponer de polilíneas individualizadas cada dos nodos. Entendemos que este es uno de los quiz de la cuestión: a tramos más cortos el estilo se aplicará con mayor precisión que tratando la curva completa, pues cada segmento de la misma dispone de una orientación diferente respecto a la fuente de luz.
Aunque ya Anita Graser utilizó esta segmentación previa, parece que las últimas versiones de QGIS permiten integrarla dentro de la misma fórmula de estilo ahorrando este paso adicional.
  • Usamos Geometry generator como tipo de símbolo de la línea y la expresión segments_to_lines( $geometry) para conseguir la división de la línea en segmentos (split).
  • Introducimos el estilo como una expresión mediante el botón Edit. Primero para el color:
color_hsl( 0,0,
  scale_linear(
    abs(
      (135 +
        degrees(
          azimuth(
             end_point(geometry_n($geometry,@geometry_part_num)),
            start_point(geometry_n($geometry,@geometry_part_num))
     )))
      % 360 - 180),
  0, 180 ,0, 100))
  • Y después la expresión para el grosor:
scale_linear(
  abs(
    (135 +
      degrees(
        azimuth(
          end_point(geometry_n($geometry,@geometry_part_num)),
          start_point(geometry_n($geometry,@geometry_part_num))
      ) ))
    % 180 - 90),
 0, 90 ,0.2, 1)

Obviamente, sin tener los conocimientos necesarios de Python, la explicación técnica completa de estas expresiones a nosotros se nos escapa en gran parte (sigo sin entender por qué situar el Noroeste en 135° en vez de los 315° habituales depende de que las curvas estén en el sentido de las agujas del reloj o en el sentido contrario...), por lo que es conveniente que recurráis al artículo original para los detalles extra. Para variaciones en la dirección de la luz podéis modificar el "135" en ambas fórmulas (color y grosor).
  • Un par de retoques finales redondeando los extremos de línea y aplicando el modo de representación Overlay (Superponer) para un resultado más fino e integrado...

... y ya podemos Aplicar todos los cambios para ver el resultado.

4.- Podemos dar algún color al DEM para estar más cerca de un resultado realista mediante el uso de un Singleband pseudocolor.

Aunque creemos que la magia de este método es conseguir el efecto sin necesitar un DEM degradado por alturas, por lo que la prueba con un fondo plano es igualmente efectista. Hemos añadido algunos elementos básicos del mapa para comprobar el efecto conjunto:

Aún así, y a falta de probarlo a fondo, compartimos la impresión de Zoran Čučković cuando dice que "los ejemplos originales de Tanaka de contornos sombreados se usan principalmente para representar la topografía natural. Encuentro ese acercamiento visualmente demasiado pesado; es difícil agregar información adicional sin sobrecargar el mapa (pero eso es solo una impresión ...). Lo que funciona mejor son todos esos mapas de calor que, de otro modo, son salpicaduras de colores: ¡los contornos de Tanaka les dan vida! Solo echa un vistazo al hermoso mapa de profundidad a continuación ...".
Maravilloso ejemplo en el artículo original en el que se aprecia el radical efecto tras el cambio del color base y el ángulo de iluminación.
Decir por último que en el artículo original que nos ha servido de guía está disponible para descarga el archivo de definición de estilo generado con este efecto (tanaka_style.qml), y que como sabéis podemos cargar directamente en nuestra capa ahorrándonos todo el proceso, pero... ¿y lo bonito que es descubrir cómo se hacen las cosas?

Desde Cartografía Digital agradecemos de nuevo la impagable labor de estos profesionales que gracias a sus conocimientos descubren nuevas fórmulas de representación cartográfica, enriqueciendo desde la nada las posibilidades estéticas de nuestros mapas. 
Y brindamos por ellos.