Filtrado básico y estilización con expresiones (QGIS3)¶
Contribución de: Steven Kim
Las expresiones ofrecen una potente forma de manipular valores de atributos, geometrías y variables para modificar dinámicamente los objetos espaciales de los mapas sobre la marcha. Este tutorial es una introducción a algunas expresiones comunes y cómo se utilizan en la creación de mapas.
Visión general de la tarea¶
Utilizaremos expresiones para filtrar objetos espaciales por atributos a partir de una capa de países de Natural Earth y, a continuación, las estilizaremos para crear un mapa del Sudeste Asiático con cada país estilizado en un tono de verde.
Obtener los datos¶
Natural Earth tiene los archivos shape de los países. En la página de descargas, busque la opción Cultural en
Medium scale data
.
Descargue el archivo shape
Admin 0 - Países
. Verá el archivone_50m_admin_0_countries.zip
descargado que se utiliza para este tutorial.
Para mayor comodidad, puede descargar directamente una copia de la capa anterior desde abajo:
Fuente de datos [NATURALEARTH]
Procedimiento¶
Localice el archivo
Natural_Earth_quick_start.zip
en el navegador QGIS y expándalo. Seleccione el archivone_50m_admin_0_countries.shp
y arrástrelo al lienzo.
Ahora se cargará una nueva capa
ne_50m_admin_0_countries
en QGIS y debería ver un mapa del mundo. Haga clic en Abrir panel de estilo de capa.
Cambiar de Simbolo único a Basado en reglas.
Haga doble clic en la regla predeterminada para entrar en el cuadro de diálogo Editar regla.
Para filtrar utilizando una expresión, haga clic en el filtro ε.
Ha entrado en el Constructor de expresiones. Este cuadro de diálogo proporciona la interfaz principal para escribir expresiones y se puede acceder a él de muchas maneras. Contiene un cuadro de entrada a la izquierda, una lista de funciones en el centro y un cuadro de ayuda a la derecha.
Desde la lista del centro, expanda
para explorar los campos que se encuentran en la capane_50m_admin_0_countries
.
Haga clic para seleccionar el campo
SUBREGION
y haga clic en Todos Únicos en el panel derecho para ver todos los valores únicos de subregión.
Después de explorar, seleccione la casilla Expresión de la izquierda para introducir la expresión como se indica a continuación y haga clic en Aceptar.
"SUBREGION" = 'South-Eastern Asia'
Debería ver el SE de Asia. Desplázate y haz zoom hasta el centro de la región en la ventana del mapa.
Ahora que hemos utilizado una expresión para filtrar características, vamos a utilizar una expresión para colorear cada país basándonos en un campo
MAPCOLOR7
. Desplácese hacia abajo hasta las opciones de Symbol en el panel de estilo y seleccione Simple Fill para que aparezcan las opciones de estilo como el color de relleno, el color de la línea y más. Haga clic en el botón Datos definen sobreescritura de Color de relleno y seleccione Editar… en el menú.
Aparecerá el cuadro de diálogo Constructor de expresiones para Color de relleno. Introduzca la siguiente expresión:
set_color_part(ramp_color('Greens',scale_linear("MAPCOLOR7",1,7,0.2,1)),'alpha',100)
Esta expresión contiene varias funciones: set_color_part()
para establecer el alfa o la transparencia, ramp_color()
para aplicar una rampa de color y scale_linear()
para utilizar el campo MAPCOLOR7 al establecer el color de cada país. En este ejemplo, estamos usando verdes, estableciendo el alfa en 100 de 255 y escalando MAPCOLOR7 de su rango original de 1-7 a 0.2-1, lo que se verá bien con ramp_color.
Nota
La capa de datos Natural Earth tiene varios campos denominados MAPCOLOR7, MAPCOLOR8, etc. Estos campos contienen valores numéricos que se utilizan para colorear el mapa de forma que los polígonos adyacentes no tengan el mismo color. Existen versiones con 7,8,9 o 13 colores.
Haga clic en Aceptar para salir del cuadro de diálogo. En el cuadro de diálogo Editar regla, cambie Estilo de trazo a . Ahora debería ver los países en verde. Haga clic en Aplicar.
Hemos creado un mapa con un bonito estilo filtrando y aplicando una rampa de color a la capa de datos con sólo utilizar expresiones.
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)