Creación de un Mapa Mundial de Bloques (QGIS3)

Contribución de: Steven Kim

En el tutorial anterior Filtrado básico y estilización con expresiones (QGIS3) vimos cómo se pueden utilizar expresiones simples para filtrar y estilizar datos en QGIS. Ampliaremos este tema creando un mundo de bloques a partir de una cuadrícula hexagonal con valores de elevación.

Visión general de la tarea

Tomaremos una rejilla hexadecimal que contiene valores de elevación y utilizaremos una función matemática para establecer una variable de altura para el renderizador 2.5d y una sentencia condicional para aplicar una rampa de color.

../../_images/output.png

Otras competencias que aprenderá

  • Descubrir y descargar conjuntos de datos de elevación.

  • Creación de una cuadrícula hexagonal y extracción de estadísticas raster para cada celda de la cuadrícula.

  • Añadir una nueva rampa de color a QGIS.

Obtener los datos

OpenTopography proporciona acceso a muchos conjuntos de datos de elevación con licencia abierta. Extraeremos y descargaremos un DEM para su región de interés a partir de un DEM global y un conjunto de datos de batimetría oceánica alojados en OpenTopography.

  1. Visite la página de datos Global Bathymetry and Topography at 15 Arc Sec: SRTM15+ V2.5.5 en el sitio web OpenTopography. Se trata de un conjunto de datos globales de 500 m de resolución derivados del MDE SRTM y de varios conjuntos de datos batimétricos oceánicos.

../../_images/data12.png
  1. Desplácese hasta la sección 1. Seleccione el área de datos a procesar Haga clic en el botón :guilabel:`SELECCIONE UNA REGIÓN y dibuje un rectángulo que cubra su región de interés.

../../_images/data21.png
  1. Una vez definida la región, desplácese hasta la sección 2. Formatos de salida de datos y seleccione GeoTiff. Formatos de salida de datos` y seleccione GeoTiff. Deje el resto de opciones por defecto y desplácese hasta la sección Descripción del trabajo. Introduzca su dirección de correo electrónico para recibir una notificación cuando la descarga esté lista. Haga clic en el botón ENVIAR.

../../_images/data31.png
  1. La descarga puede tardar unos minutos en procesarse. Una vez lista, recibirá un enlace para descargar el subconjunto seleccionado. Descargue el archivo en su ordenador. El archivo descargado es un archivo comprimido tar que necesita ser descomprimido para ser abierto en QGIS. En Windows, puede utilizar un programa externo como 7-Zip para descomprimir y extraer el archivo output_SRTM15Plus.tif.

../../_images/data41.png
  1. En QGIS, localice el archivo output_SRTM15Plus.tif en la etiqueta Navegador. Arrástrelo y suéltelo en el lienzo de QGIS. Se añadirá una nueva capa output_SRTM15Plus al panel Capas.

../../_images/data51.png
  1. Abra la Caja de Herramientas de Procesado desde Procesos ‣ Caja de Herramientas. Busque y localice el algoritmo Creación de vectores ‣ Crear rejilla. Haga doble clic para abrirlo.

../../_images/data61.png
  1. En el cuadro de diálogo Crear rejilla, elija Hexágono como Tipo de rejilla. Crearemos una cuadrícula que abarque todo el MDE. Para la Amplitud de la malla, haga clic en la flecha hacia abajo y seleccione Calcular forma Capa ‣ output_SRTM15Plus.

../../_images/data71.png
  1. Nuestra región seleccionada es bastante grande, por lo que podemos crear una cuadrícula de 1 grado. Seleccione 1 tanto para Espaciado horizontal como para Espaciado vertical. Si está trabajando en una región más pequeña, puede elegir un espaciado de cuadrícula menor. Deje las demás opciones en sus valores por defecto y pulse el botón Ejecutar para crear la rejilla.

../../_images/data8.png
  1. Se añadirá una nueva capa Grid al panel Capas`. Ahora extraeremos los valores mínimo, máximo y medio de elevación en cada polígono de la cuadrícula. Seleccione la capa Grid y localice el algoritmo Análisis raster ‣ Estadísticas zonales de la caja de herramientas de procesado. Haga doble clic para abrirlo.

../../_images/data9.png
  1. Seleccione Grid como Capa de entrada y output_SRTM15Plus como Capa ráster. Introduce dem_ como Prefijo de columna de salida. A continuación configuraremos las estadísticas que queremos extraer del raster. Haga clic en el botón situado junto a Estadísticas a calcular.

../../_images/data10.png
  1. Marque las opciones de valores Media, Máximo y Mínimo y haga clic en Aceptar`. Guardaremos los resultados en un archivo. Haga clic en el botón situado junto a Estadísticas zonales y seleccione Guardar en archivo….

../../_images/data111.png
  1. Busque una carpeta en su ordenador e introduzca el nombre del archivo como hex_grid_with_elevation. Asegúrese de que el tipo de archivo está seleccionado como Archivos GeoPackage (*.gpkg). Haga clic en Guardar. Una vez configurado el cuadro de diálogo Estadísticas zonales, haga clic en Ejecutar.

../../_images/data121.png
  1. El proceso puede tardar unos minutos dependiendo del tamaño de su cuadrícula. Una vez completados los cálculos, se añadirá una nueva capa hex_grid_with_elevation al panel Capas`. Se trata de una capa vectorial con los atributos dem_mean, dem_min y dem_max que contiene las estadísticas de elevación extraídas del MDE.

../../_images/data13.png

Para mayor comodidad, puede descargar directamente una copia de la parrilla preparada desde abajo:

hex_grid_with_elevation.gpkg

Fuente de datos [OPENTOPOGRAPHY]

Procedimiento

  1. Localice el archivo hex_grid_with_elevation.gpkg en el navegador QGIS y expándalo. Seleccione la capa hex_grid_with_elevation y arrástrela al lienzo.

../../_images/120.png
  1. Una nueva capa hex_grid_with_elevation se cargará ahora en QGIS y debería ver una cuadrícula hexagonal.

../../_images/218.png
  1. Antes de continuar, debemos añadir una rampa de color adecuada para colorear los MDE. Haga clic en Configuración en la barra de menús y seleccione Administrador de estilos.

../../_images/316.png
  1. Haga clic en el signo Añadir elemento de la parte inferior y seleccione Catálogo: cpt-city….

../../_images/45.png
  1. Desplácese por las rampas de colores hasta encontrar wiki-1.02. Puede que haya varias con el mismo nombre, simplemente haga clic en una y pulse Aceptar.

../../_images/55.png
  1. En la ventana Guardar nueva rampa de color, introduzca el valor wiki-1.02 como Nombre.

../../_images/65.png
  1. Haga clic en Guardar para salir de la ventana y, a continuación, haga clic en Cerrar para salir del Gestor de estilos. Ahora la rampa de color wiki-1.02 está disponible para usarla en sus proyectos en adelante.

../../_images/75.png
  1. Click on Open Layer Styling Panel and switch from Single Symbol to 2.5 D. Click the ε button next to Height.

../../_images/85.png
  1. En la Constructor de expresiones, introduzca la siguiente expresión. Esta expresión utiliza la función scale_exp() para cambiar el rango de los valores del atributo dem_mean de 0-10000 a 0-4 y utilizar un exponente de 2. El escalado exponencial queda bonito en el mundo de bloques. El +8000 es para hacer que el fondo del océano sea igual a cero.

scale_exp(("dem_mean"+8000),0,10000,0,4,2)
../../_images/95.png
  1. Cambia la Ángulo a 135.

../../_images/108.png
  1. Aplicaremos nuestros propios colores a las rejillas. Desactive Sombrear paredes en función del aspecto y Sombra.

../../_images/1111.png
  1. Debería ver que la topografía de la región empieza a tomar forma. Haga clic en Abrir panel de estilos de capa y cambie de 2.5D a Simbolo único.

../../_images/128.png
  1. En la ventana Símbolo, observe que hay dos Generadores de Geometría, cada uno con un tipo de capa Relleno Simple. La primera Relleno Simple es la cara superior de cada bloque, mientras que la segunda Relleno Simple es la cara lateral.

../../_images/137.png
  1. Haga clic en la primera Relleno simple para cambiar el color de la cara superior. Haga clic en el botón Datos definen sobreescritura para el Color de relleno y seleccione Editar… en el menú.

../../_images/147.png
  1. Aparecerá el cuadro de diálogo Constructor de expresiones para Color de relleno. Introduzca la siguiente expresión. Esta expresión tiene una declaración condicional CASE para usar colores wiki-1.02 cuando el valor del atributo dem_mean es mayor o igual a cero y colores verde-azul cuando dem_mean es menor que cero.

CASE
WHEN "dem_mean" >= 0 THEN ramp_color('wiki-1.02',scale_linear("dem_min",0,1500,0.4,1))
ELSE ramp_color('GnBu',scale_linear("dem_mean",-6000,0,1,0))
END
../../_images/157.png
  1. La rejilla hexadecimal se muestra ahora en los colores determinados por nuestra expresión. Haga clic en el botón Datos definen sobreescritura para Color de relleno y seleccione Copiar en el menú.

../../_images/167.png
  1. Haga clic en el botón Datos definen sobreescritura para el Color de trazo y seleccione Pegar en el menú.

../../_images/177.png
  1. Deberías ver que los colores surten efecto y nuestro mapa está terminado. Siéntete libre de experimentar con las expresiones de este tutorial, como cambiar parámetros en la función de altura o añadir y probar nuevas rampas de color.

../../_images/185.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)