Este módulo introduce al alumno en el uso del mapa como herramienta en el Periodismo. A lo largo de dos sesiones aprenderemos a utilizar dos de las herramientas más populares para realizar mapas: CARTO y QGIS.
La metodología del módulo consiste en ir conociendo las posibilidades que nos ofrecen las herramientas GIS para realizar análisis, manipulación y creación de nuevos campos y variables que nos sirvan para representar información sobre un mapa. Iremos cambiando de una herramienta a otra con el objetivo de ir conociendo el potencial y las posibilidades que nos ofrece cada una. A lo largo de las dos sesiones vamos a tratar aspectos como:
-
El Color: la utilización del color es fundamental a la hora de dar estilo a un mapa. La elección de una paleta de colores adecuada, así como de la escala correcta es fundamental a la hora de comunicar la información.
-
Fuentes de información: dónde podemos encontrar datos GIS para crear mapas: IGN, Natural Earth, OSM y Geofabrik entre otros.
-
Ser capaces de crear mapas de puntos. Nos sirven para geolocalizar acontecimientos como estaciones de servicio, de bicicleta pública, un accidente o un acontecimiento de última hora.
-
Manipulación de shapefiles con QGIS. Realizar procesos de manipulación de archivos vectoriales, operaciones con atributos, uniones entre shapefiles o asígnación de datos externos a un shapefile. Utilizaremos como ejemplo guía la creación de un mapa de la densidad de población por municipio en España.
- Descarga de los shapefiles oficiales: Obtener los shapefiles oficiales de los diferentes niveles administrativos de España.
- Conversión a un tipo de sistema de referencia de coordenadas diferente.
- Unir o mergear dos archivos shapefile en uno solo.
- Realizar cálculos con los campos de la tabla de atributos: extracción de información de un campo con la calculadora de campos para obtener el código del INE.
- Añadir un csv externo: asignar datos de un
csv
a polígonos como municipios, provincias, etc. - Join entre capas: Realizar joins o uniones entre dos tablas.
- Calcular la densidad de población: Calcular la densidad de población por municipios con la calculadora de campos.
- Aplicar una escala de color en QGIS.
- Extracción de información sobre geometería: calcular el área de un polígono con la calculadora de campos.
-
- Subir datos a CARTO. Aprenderemos a subir tanto archivos
csv
comoshp
. - Mapa de la Tasa de Paro por provincias.
- Realizar una unión entre dos tablas.
- Mapa de puntos.
- Añadir widgets.
- Realizar análisis.
- Subir datos a CARTO. Aprenderemos a subir tanto archivos
-
Conversión entre sistemas de coodenadas diferentes con QGIS.
-
A la hora de escoger una escala de color existente, Colorbrewer es una muy buena herramienta para acceder a una paleta de colores adecuada. Los colores que nos ofrece estánb basados en los estudios de la Dr. Cynthia A. Brewer y nos permite seleccionar escalas de color secuenciales, qualitativas o divergentes. Esta herramienta nos permite exportar los colores como una paleta de colores para GIMP (Software libre para trabajo vectorial), clases CSS o un array JavaScript con los colores en formato rgb.
-
Pero, ¿y si estas escalas no nos convencen o estamos cansados de verlas replicadas en todos los mapas? Podemos crear nuestra propia escala de color. A la hora de crear una escala existen multitud de factores a tener en cuenta, como son la interpolación de los colores, la manera en que aplicamos los propios colores en función de una determinada escala, o la corrección automática de la luminosidad. Ambas exceden los límites de este módulo pero a quien le interese puede echar un ojo a este post de Gregor Aisch o directamente a esta herramienta que él mismo desarrolló. Gregor Aisch es el responsable de Chroma.js, una librería JavaScript que permite crear escalas de color corregidas y ajustadas.
-
Para conocer más sobre escalas de color podeis visitar este post de Adam Pearce en el que explica las diferencias entre una escala de color lineal, quantitativa o quantil.
En las siguientes páginas se pueden descargar shapefiles y archivos raster de carácter político, natural o cultural:
-
Centro de descargas del CNIG. Es el centro de referencia a nivel nacional para descargar datos SIG. Tiene todos los vuelos con sus correspondientes ortofotos, datos ráster, modelos de elevación del terreno (incluso generados con lidar de 2x2m) o datos de tipo vectorial: información sobre carreteras, puertos, estaciones, etc.
-
Ministerio de Agricultura y Pesca, Alimentación y Medio Ambiente (Magrama). Datos sobre Agricultura, Biodiversidad, Calidad y evaluación ambiental, Agua y muchos más. Aquí podemos acceder de una manera sencilla a datos sobre parques naturales, cuencas hidrográficas o zonas con riesgo de inundación. Los datos suelen estar en formato shp o kmz/kml.
-
Natura Earth Data es un proyecto open source donde podemos encontrar mucha información tanto de tipo vectorial como ráster. A pesar de que es un proyecto serio y consolidado, siempre debemos intentar acudir a las fuentes de datos oficiales. Aunque en Natural Earth encontramos archivos shape con códigos o datos sobre población, por ejemplo, estos no se actualizan con la frecuencia que lo hacen los respectivos organismos oficiales.
-
Diva-gis.org nos ofrece datos GIS de cualquier país del mundo. Aunque son datos sin mucho nivel de detalle, nos pueden salvar cuando estamos realizando un mapa de algún país concreto y no encontramos datos sobre su contorno, ríos, carretas o límites administrativos.
Mapshaper es una herramienta open source desarrollada por Mathew Bloch. Además de una aplicación por línea de comandos que nos permite manipular archivos Shapefile, GeoJSON, TopoJSON, CSV entre otros formatos, también cuenta con una interfaz web. Podemos utilizar Mapshaper para reducir el peso de los archivos shapefile.
Cuando estamos trabajando en un mapa que va ser publicado en la web, el peso de los archivos es muy importante. Además, servicios como CARTO tienen un límite de almacenamiento gratuito.
- Para reducir el peso de un shapefile arrastramos y soltamos el conjunto de archivos comprimidos a la web.
- . Si tienes los archivos sin comprimir, simplemente selecciona todos los archivos,
.dbf
,.shp
,.prj
,.qpj
,.shx
y comprimelos juntos.
- Seleccionamos
import
. - Seleccionamos en el botón
Simplify
. Mapshaper nos ofrece varios algoritmos de simplificación (reduce el peso del archivo eliminando puntos). Podemos dejar las opciones por defecto →Apply
. - A continuación aplicamos un porcentaje de Simplificación. Un 20% será suficiente como para reducir el peso del archivo aproximadamente 30Mb (en función del archivo).
- Si ha encontrado errores (aparece un
warning
arriba a la derecha) podemos seleccionar la opciónrepair
. - Por último, exportamos el archivo en formato
shp
.
En este apartado vamos a aprender a realizar varias operaciones básicas con QGIS. Nuestro objetivo final será crear un mapa de la densidad de población por municipio en España.
-
Descargamos los shapefiles oficiales del enlace del CNIG: Centro de descargas del Instituto Geográfico Nacional (Enlace ). Este archivo incluye más shapefiles de los que vamos a necesitar. Si existe algún problema con la descarga los shapefiles necesarios para este módulo también se encuentra en la carpeta
shapefiles
del repositorio. -
Descomprimimos los archivos. Vamos a trabajar con dos archivos incluidos en dos carpetas diferentes:
recintos_municipales_inspire_peninbal_etrs89
recintos_municipales_inspire_canarias_wgs84
El sufijo de los archivos nos indica en qué Sistema de Coordenadas se encuentra cada conjunto de datos (ETRS89
y WGS84
).
El resto de carpetas contienen las entidades Comunidades Autónomas y Provincias (recintos) además de los contornos (líneas).
- Añadimos los dos archivos al proyecto que hemos creado en QGIS mediante la opción capa → añadir capa → Añadir capa vectorial. Es importante seleccionar la codificación
UTF-8
para no perder información.
En nuestro panel de capas de la izquierda tenemos dos capas abiertas. Una capa representa todos los municipios españoles de la Península junto con Baleares, Ceuta y Melilla. La otra capa contiene los municipios de las Islas Canarias.
En este apartado vamos a aprender como unir estos dos archivos en uno solo. Para poder hacer operaciones entre dos archivos shp
los dos deben estar bajo el mismo sistema de coordenadas. Para ello vamos a convertir el archivo de Canarias al sistema de referencia de coordenadas ETRS89
.
- Click derecho sobre el archivo de Canarias y seleccionamos Guardar como...
- En
Formato
seleccionamosArchivo shape de ESRI
. - Seleccionamos donde queremos guardar el archivo (asegurarnos de que tenemos permisos en la carpeta) y el nombre que queremos (por ejemplo
recintos_municipales_inspire_canarias_etrs89.shp
). - En el apartado
SRC
seleccionamos como Sistema de CoordenadasETRS89
oEPSG:4258
. - Nos aseguramos de que la pestaña
Añadir archivo guardado al mapa
se encuentra seleccionada. Al aceptar deberíamos tener una nueva capa añadida al proyecto, de lo contrario la añadimos manualmente. Podemos eliminar la capa de Canarias en WGS84.
En este apartado vamos a obtener un único shapefile con todos los municipios de España (Península y Baleras y Canarias) mediante un proceso de union o merge
. Es fundamental que el paso anterior se haya realizado correctamente y que los dos archivos con los que vamos a trabajar se encuentren bajo el mismo sistema de coordenadas.
-
Seleccionamos la pestaña
procesos
del menú superior. SeguidamenteCaja de Herramientas
. Y a continuación la herramientaMerge Vector Layers
(podemos hacer una búsqueda conmerge
). -
Seleccionamos las dos capas y la ruta donde queremos guardar el resultado. Podemos nombrar el archivo de salida como
recintos_municipales_spain_etrs89
para diferenciarlo de las otras capas. Podemos comprobar como las dos se encuentran enEPSG:4528
. Si las dos capas no tienen el mismo sisema de coordenadas el proceso fallará. -
Hacemos click sobre
Run
para realizar elmerge
entre los dos shapefiles. Deberíamos haber obtenido un nuevo archivo que incluye los polígonos de todos los municipios del país.
Vamos a extraer el código del INE de los shapefiles de CNIG. Para acceder a la tabla de atributos de un shapefile
tenemos que hacer click con el botón derecho sobre la capa (Abrir tabla de atributos
) o en el icono . Se nos abrirá la siguiente ventana:
Gracias a haber seleccionado la codificación UTF-8
vemos como los nombres de los municipios presentan todos sus caracteres correctamente. De lo contrario podemos cambiar la codificación en el panel General
de las propiedades de la capa. Sobre esta tabla de atributos podemos realizar cálculos para filtrar en base a unas reglas, modificar o incluso crear nuevos campos.
En este caso nos interesa el campo NATCODE
. Este código identifica de manera única a cualquier polígono (en este caso a cualquier municipio). Podemos extraer el código del INE de este campo para poder cruzarlo con un csv que hayamos obtenido del INE. Nuestro objetivo es poder asociar unos valores a cada municipio desde otra tabla y para ello necesitamos un id
.
Para éste propósito contamos con la calculadora de campos
. Hacemos click sobre el icono. Vamos a extraer una cadena de texto de uno de los campos de la tabla de atributos y a crear una nueva columna con el resultado.
-
Introducimos el nombre que vamos a dar a la nueva columna en la tabla de atributos, por ejemplo
cod_ine
. Si queremos que el resultado de esta operación sea una cadena de texto y por lo tanto que conserve los ceros por la izquierda (04004
vs) tenemos que seleccionar el tipo de campo de salida como4004
Texto
(cadena). De lo contrario dejamos el valorNumero entero (int)
por defecto. Dado que en este tutorial vamos a subir después los datos a CARTO, podemos crear una columna en la que el código del INE tenga ceros por la izquierda y otra en la que no. -
Todos los desplegables de la derecha nos permiten ir construyendo una consulta a la tabla de atributos, una query, cuyo resultado será el nuevo campo. Además, nos permiten consultar la documentación asociada a cada función en la caja de la derecha.
-
A continuación vamos a utilizar un método del grupo
Cadena
(String) llamadosubstring
. Vamos a extraer parte de ese código y generar un nuevo campo. Este método nos permitirá modificar el valor de una celda en base a tres argumentos:cadena_de_entrada
→ nombre de la columna de la que queremos obtener nuestro nuevo campo.startpos
→ posición inicial desde la que comenzaremos a extraer caracteres (empezando por el primero).longitud
→ longitud de la cadena a extraer.
En este caso nuestra consulta será como muestra la imagen:
En la parte inferior izquierda de la calculadora tenemos una vista preliminar del campo de salida. Si hemos elegido como campo un número entero, al salvar se perderán los ceros por la izquierda aunque en la previsualizacón sí aparezcan.
Si en algún momento de este proceso nos equivocamos deberemos eliminar el campo y crear uno nuevo o actualizarlo en la opción superior derecha actualizar campo existente
(tan sólo podremos actualizar el contenido, no la naturaleza del campo). Al finalizar deberemos salvar desde la tabla de atributos .
4. Ya tenemos el codigo del INE para cada municipio.
5. Ahora podemos continuar con el tutorial para ver cómo generar un nuevo campo con el área del municipio o subir este shapefile a CARTO y mergearlo con algunos datos que tengamos a nivel municipal.
- Si vamos a subir este shapefile a CARTO es una buena oportunidad para utilizar Mapshaper para reducir el peso del archivo.
A continuación vamos a cargar los datos que queremos asociar a cada municipio. Vamos a utilizar los datos de Revisión del padrón municipal a 1 de enero de 2017. Si descargamos todo el conjunto de datos obtenemos una carpeta por provincia con sus respectivos municipios. La descarga tamibién incluye un archivo con todos los municipios que es el que nos interesa (suele llevar el sufijo 00
). Este archivo requiere de una pequeña manipulación para extrar el código de municipio (código de provincia + código de municipio
). Este cálculo podemos hacerlo en Excel, libre office o incluso en QGIS. Podéis procesar los datos y guardarlos como csv o bien utilizar el csv poblacion_municipios.csv
de la carpeta data
del repositorio. Lamentablemente los datos vienen con el punto como separador de unidades de millar. Debemos eliminarlo ya que queremos los datos así 13409
y no así ya que se confundiría el punto con el separador de decimales (sistema anglosajón).13.409
QGIS tiene una opción muy completa para añadir capas de texto delimitado (csv
, tsv
, etc.). Pero si queremos que los campos sean tratados como texto (y no elimine los ceros por la izquierda) necesitamos incluir un archivo en el mismo directorio cuya extensión incluya una t
(de type
) al final. Por ejemplo, si el archivo se llama data.csv
, tenemos que crear un archivo llamado data.csvt
. Dentro de este archivo debemos especificar la naturaleza de los campos: si queremos que todas las columnas sean tratadas como texto (String
) este archivo deberá tener el siguiente contenido ("String"
,"String"
,...) una por cada columna. Si una columna es un número entero:int
, decimal: real
, etc.
Aunque conviene conocer esta opción, también podemos ahorrarnos este paso y añadir el csv como hemos hecho con los shapefiles, como si fuera una capa vectorial (añadir capa vectorial).
La calculadora de campos de QGIS nos ofrece funciones relacionadas con la geometría y la geodesia que vamos a utilizar. Estas funciones las podemos encontrar en el apartado Geomegetría de la calculadora de campos. Calcular el área de un polígono.
- El proceso es parecido al que seguimos para crear un nuevo campo.
- Seleccionamos el nombre de la nueva columna, su naturaleza.
- Por último, seleccionamos la opción $area del apartado Geometría (podemos utilizar el buscador).
A continuación vamos a unir los datos del csv con los polígonos de los municipios. Hacemos click con el botón derecha sobre nuestro shapefile → propiedades → Uniones
y en el icono . Seleccionamos la capa con la cual queremos hacer el join
y los dos campos que cruzaremos. Podemos elegir qué campos queremos unir, en este caso sólo nos interesa el de población.
También podemos elegir qué campos del csv queremos añadir a la capa de origen y el prefijo del campo.
Si abrimos la tabla de atributos veremos como hemos añadido un nuevo campo. PERO es un campo virtual, sólo existe temporalmente y no en el shapefile original. Además no podemos hacer operaciones sobre él. Si creamos una copia de este shapefile se añadirá el nuevo campo como uno más. botón derecho → guardar como → etc.
Volvemos a abrir la calculadora de campos. Seguimos los pasos aprendidos para generar un nuevo campo. Esta vez la densidad de población. Importante:
- Seleccionar como tipo de salida de campo
Número decimal (real)
longitud de campo de salida
:20
- Precision mínima de
10
.
Introducimos la siguiente expresión:
to_real( "data_POB00" / $area ) * 10000
(si ya hemos creado el campo area en el apartado anterior podemos seleccionar su columna o volver a utilizar la función $area).
Dividimos la población entre el área del polígono. Lo multiplicamos por 10.000 para obtener habitantes por hectarea y parseamos el dato a número real (decimal) para conservar los decimales con to_real(...)
. Esta operación generará un nuevo campo con la densidad de población por municipio. A continuación
sólo deberemos aplicar una escala de color a nuestros datos.
NUNCA debemos representar datos absolutos en un mapa. Siempre hemos de ponerlos en contexto con alguna otra variable.
A continuación vamos aplicar una escala de color para poder apreciar la densidad de población de cada municipio. En propiedades de la capa → pestaña estilo y en el desplegable seleccionamos → graduado. En el apartado columna seleccionamos nuestra variable densidad
, elegimos la rampa o escala de color que queramos y pulsamos sobre Clasificar
. Si elegimos un buen número Clases
podremos apreciar mejor la distribución del color.
La opción Modo nos permite utilizar diferentes tipos de escalas. En nuestro contexto la opción Quantil (cuenta igual)
o Rupturas naturales (Jenks)
nos permiten apreciar mejor la distribución de los valores.
El print composer de QGIS es una herramienta que nos permite crear diseños para nuestros mapas y generar un mapa listo para publicar.
- Pulsamos en el icono . Podemos rellenar el campo nombre. A continuación en añadir mapa .
- Con el ratón pulsado arrastramos desde una esquina hacia la contraria dibujando la extensión del
canvas
. Apareceá exactamente lo mismo que estabamos viendo en la ventana principal deQGIS
. Existe la posibilidad de eliminar el fondo y exportar la imagen con transparencia (muy útil si luego vamos a trabajar con ella en algún otro programa). En la pestañaDiseño
del menú derecho y en el apartadoConfiguración de página
seleccionamosCambiar
: borde y relleno transparente.
En la pestañaPropiedades del elemento
deseleccionamos la pestañafondo
. - Si queremos crear una composición que incluya las Islas Canarias cerca de la península tendríamos que crear dos mapas en nuestro
print composer
:
- Eliminamos o deseleccionamos el mapa.
- Sin cerrar esta ventana volvemos a la vista principal de QGIS. Hacemos zoom sobre la península.
- Volvemos al diseño de impresión y añadimos un nuevo mapa. En esta ocasión debería aparecer sólo la península.
- De nuevo en la ventana principal hacemos zoom sobre las Canarias. En el diseño de impresión añadimos un nuevo mapa. Aparecerán las Islas Canarias. Podemos ayudarnos de la herrmienta
Mover contenido del elemento
para manejar mejor las dos capas y de las opciones bloquear del menú superior derechoElementos
. - En el apartado
Propiedades principales
podemos servirnos de la opciónEscala
para asegurarnos de que los dos mapas conservan el mismo nivel de zoom.
- Si queremos podemos añadir un rectángulo alrededor del archipiélago para remarcar la composición en
Añadir figura geométrica
.
Una vez que nos hayamos registrado en la plataforma tenemos acceso a unos 500Mb de almacenamiento gratuito. Podemos añadir tanto archivos csv, kml o shapefiles. Teniendo en cuenta que estos últimos suelen ser bastante pesados, la mejor opción será subirlos una sola vez y utilizar siempre el mismo Dataset de origen para crear nuevos mapas así como utilizar algún algoritmo de simplificación como los que nos ofrece la herramienta Mapshaper.
- Para subir un nuevo archivo a CARTO deberemos ir a la pestaña
Datasets
. - En esta interfaz podemos arrastrar y soltar el archivo que queramos subir o podemos utilizar otros servicios si hacemos click en la opción
NEW DATASET
. En esta pestaña también podemos arrastrar y soltar un archivo, abrir una ventana para seleccionarlo en nuestro sistema, conectar con un Spreasheet de Google Drive, Dropbox, etc. - Seleccionamos en
CONNECT DATASET
. Carto Geolocalizará automaticamente aquellos elementos que pueda reconocer por alguno de los campos de la tabla. - Automáticamente todos los Dataset que subimos a CARTO se almacenan en la pestaña de
Datasets
. Aquí podemos variar las opciones de nuestros Dataset. Podemos añadir descripciones, cambiar el nombre, hacerlos públicos, añadirtags
para clasificarlos, ordenarlos por número de visitas, etc. - Vamos a subir un Dataset con los últimos datos sobre la Tasa de Paro por provincias del INE correspondientes al tercer Trimestre de 2017. Los datos requieren de una pequeña manipulación para sustituir la coma por el punto como separador de decimales o separar el código de provincia del nombre. Podemos utilizar el Dataset
tasa_de_paro_provincias.csv
que se encuentra en la carpetadata
del repositorio. - Para crear un coropleta sobre la Tasa de Paro por provincias accede al siguiente apartado Mapa de la Tasa de Paro por provincias con CARTO.
- Si ya tenemos el Dataset de la Tasa de Paro por provincias en nuestro Dashboard pinchamos sobre él y después sobre la opción
Create map
. - Si tienes un shapefile de provincias, ve a las sección Realizar una unión entre dos tablas en CARTO. De lo contrario, continúa con este apartado.
- En un primer momento, no vemos ninguna geometría asociada a nuestros datos y sobre la capa aparece un pequeño icono de warning que nos dice
Layer doesn't have geometry
. En estecsv
tenemos los datos pero no los polígonos con los que asociarlos, tenemos que georreferenciar nuestros datos. CARTO nos ofrece esta posibilidad añadiendo un tio de anñalisis llamadoGeoreference
. Tenemos que pinchar sobre la capa y sobre la pestañaANALYSIS
. - Accedemos a un panel donde CARTO incluye muchos tipos de análisis para realizar sobre nuestros datos. La mayoría de estas herramientas son propios de los software GIS aunque CARTO nos permite hacer mapas verdaderamente impresionantes de una manera fácil e intuitiva.
- Vamos a utilizar la opción
Georeference
. Pulsamos sobre esta opción y después sobreADD ANALYSIS
. Y volvemos a la pantalla del mapa donde están todas nuestras capas cargadas. - Para continuar con el análisis debemos especificar qué tipo de georreferenciación vamos a llevar a cabo. En este caso, vamos a georreferenciado las provincias con su nombre. En el apartado [2] Georeference seleccionamos en la opción
Admin. Regions
del deplegableType
. - En el apartado [3] Parameters seleccionamos el nombre de la columna donde se encuentran los nombres de las provincias que queremos georreferenciar (si has utilizado el csv del repo deberías seleccionar
name
). - Por últmo pulsamos sobre el botón
APPLY
. - Automaticamente vemos como CARTO ha georreferenciado nuestros datos y podemos ver los polígonos de las provincias en nuestro mapa.
- A continuación vamos a aplicar una escala de color a los datos para apreciar la distribución de los valores. Pulsamos sobre la pestaña
STYLE
. - Por defecto todos los polígonos tienen la misma apariencia, el mismo contorno y color de relleno. Vamos a aplicar una escala de color en función de los valores de la Tasa que hemos asociado desde el csv con los polígonos.
- Dentro de la pestaña
STYLE
pulsamos sobreCOLOR
. En lugar del valor por defectoSOLID
pulsamosBY VALUE
. Seleccionamos qué columna del csv queremos utilizar para aplicar la escala de color. Si has utiliado elcsv
del repo el nombre de la columna esvalue
. Dentro de esta opción tenemos acceso a:
- En primer lugar podemos seleccionar el número de
buckets
que es el número de colores, de pasos en los que queremos que se divida la escala de color. - El tipo de escala que queremos aplicar:
Quantiles
,Jenks
,Equal Interval
, etc. y de las que hemos hablado al comienzo del taller. - CARTO nos ofrece diferentes escalas de color predefinidas. Si nos posamos con el ratón encima de cada una tenemos la opción de invertir la escala de color. Al principio son escalas secuenciales y hacia el final escalas divergentes. En este caso nos interesa una escala secuencial.
- Otro aspecto que convierte a CARTO en una herramienta muy potente es la posibilidad de tanto de realizar consultas SQL para seleccionar nuevos conjuntos de datos como de personalizar el mapa mediante
CARTOCSS
. Dentro de la pestañaSTYLE
y abajo del todo tenemos unswitch
un botón que nos permite acceder al modoCARTOCSS
. Pulsamos sobre esta opción.
- Aquí podemos editar manualmente la escala de color junto con otros muchos aspectos.
- Vamos a acceder a la página de Carto Colors y a seleccionar una escala secuencial (
SEQUENTIAL SCHEMES
) que nos guste y a aplicarla a nuestro mapa. Si pulsamos sobre una escala de color se nos copia en el portapapeles. - En el panel de
CARTOCSS
editamos el valor de el identificador css#layer
para incluir la nueva escala.
#layer {
polygon-fill: ramp([value], (#f3e79b,#fac484,#f8a07e,#eb7f86,#ce6693,#a059a0,#5c53a5), quantiles);
}
- También podemos añadir aquí nuestra propia escala que hayamos creado según los patrones que hemos aprendido al comienzo de la sesión.
- Como crear un
tooltip
opop-up
:
- Seleccionamos la pestaña
POP-UP
. - Los
pop-ups
pueden tener dos comportamientos:click
yhover
. Uno se despliega al hacer click sobre el polígono y el otro al posicionar el ratón sobre el polígono. - Sólo tenemos que escoger el estilo más adecuado para nuestro mapa:
Light
,Dark
, etc. - En el apartado
Show items
, seleccionar los campos que queremos mostrar en la ventana de información. - El panel
POP-UP
también ofrece la posibilidad de dar estilo alpop-up
mediante html si pulsamos sobre elswitch
HTML
.
- Añadir una leyenda:
- En la pestaña
LEGEND
podemos seleccionar el tipo de leyenda que queremos mostrar. - Podemos customizar el título de la leyenda.
- Podemos añadir subijos o prefijos a los valores.
- También podemos añadir elementos mediante HTML.
En este apartado vamos a aprender a realizar un join o unión entre dos tablas en CARTO. Vamos a realizar un mapa de la tasa de población femenina por municipios.
Para realizar esta parte del módulo tienes que haber creado un shapefile de los municipios en el que esté el código del INE como hemos aprendido en el apartado Manipulación de archivos shp.
También recomendamos simplificar la geometría de los shapefiles que vayamos a subir a CARTO para ahorrarnos espacio de almacenamiento.
- Subimos el csv
poblacion_municipios.csv
de la carpetadata
del repositorio. Es un csv con los datos de la Revisión del padrón municipal a 1 de enero de 2017 que tiene tres columnas preprocesadas:cod_ine
,tasa_varones
,tasa_mujeres
. Podéis realizar este proceso manualmente si queréis conocer todos los pasos al detalle. - Subimos el archivo
shp
de municipios comprimido y simplificado mediante Mapshaper. - En nuestro Dashboard pulsamos sobre el Dataset que contiene los polígonos de los municipios y pulsamos sobre
CREATE MAP
. - Una vez sobre el mapa pulsamos sobre la capa de los polígonos.
- En la pestaña análisis, seleccionamos el tipo de análisis
Join columns from 2nd layer
yADD ANALYSIS
. - En el apartado [2] Join columns from 2nd layer tenemos que seleccionar con que otro Dataset queremos hacer el join. En este caso seleccionamos el csv con los datos de población.
- En el apartado [3] Key columns indicamos cuáles van a ser las columnas de los respectivos Dataset mediante las que vamos a realizar la unión entre las dos tablas. En este caso, será el campo que contenga el código del INE.
- En el apartado [4] Output data seleccionamos qué campos queremos conservar de cada Dataset para la nueva tabla que va a resultar de esta unión. En este caso podemos seleccionar el nombre del municipio de la capa de los polígonos
NAMEUNIT
y de la capa delcsv
la población total, ṕoblación de hombres y mujeres y tasa de hombres y tasa de mujeres. Aplicamos el análisis pulsando en el botónAPPLY
. - Por último, sólo nos queda aplicar una escala de color en función del campo que queramos representar en la pestaña
STYLE
. - Podemos customizar un
pop-up
para mostrar los datos que queramos.
Los mapas de puntos son utilizados para localizar en un mapa eventos puntuales como terremotos, ataques terroristas, mediciones de ruido, avistamientos de aves o accidentes de algún tipo. Sus datos no son vectoriales sino que dependen de unas coordenadas para ser representados. Estas coordenadas pueden estar representadas bajo diferentes sistemas de referencia de coordenadas si bien es cierto que uno de los sistemas más populares es el medido en coordenadas geográficas. Si tienes tus datos en un sistema UTM de coordenadas proyectadas y quieres pasarlo a un sistema de coordenadas geográficas puedes consultar el apartado Conversión entre sistemas de coodenadas diferentes.
En este apartado vamos a representar los terremotos de los últimos 3 años. Para ello vamos a descargarnos datos de terremotos del Servicio Geológico de los Estados Unidos (USGS).
En base a los filtros descargaremos un csv con la localización de todos los terremotos de los últimos 3 años: magnitud mayor de 4.5, filtro de fecha: últimos 3 años y en Output options seleccionamoss csv
.
Este buscador tiene un limite para exportar de 20000 registros.
A continuación vamos a subir los datos a CARTO como hemos visto en el apartado correspondiente. Creamos un nuevo mapa a partir del Dataset. En este enlace podemos comprobar el significado de cada uno de los campos del csv
. También existe un Eartquakes.csv
disponible en la carpeta data
.
A continuación vamos a ver que opciones nos ofrece CARTO para dar estilo a un mapa de puntos.
-
POINTS
: este tipo de layout nos permite representar los datos en puntos. Es útil cuando queremos mostrar una distribución o controlar el tamaño de los círculos en función de los datos.- El estilo por defecto suele ser un stroke blanco con relleno rojo. Si no queremos controlar el tamaño de los bubbles en función de su tabla de atributos, podemos mejorar la apariencia de este Dataset simplemente aliminando el stroke o contorno del punto y haciendolo más pequeño. Apreciaremos mejor la distribución de los datos. Desde la pestaña de estilo dejamos el valor
aggregation
por defecto y nos centramos en [2] Style. - Aplicar el tamaño de los puntos en función de un campo de la tabla de atributos. En este caso, debemos seleccionar en
SIZE/COLOR
by value y seleccionar la columna que queramos de la tabla, por ejemplo el campomag
(Magnitude for the event). En esta opción podemos establecer el valor mínimo y el valor maximo que recibiran los bubbles en función del valor de la tabla. - Si pinchamos en la barra de color también podemos colorear los puntos en función de los datos de la tabla.
- En el apartado
BLENDING
controlamos el modo de fusión entre los círculos. Es útil cuando tenemos muchos datos y se solapan entre ellos.
- El estilo por defecto suele ser un stroke blanco con relleno rojo. Si no queremos controlar el tamaño de los bubbles en función de su tabla de atributos, podemos mejorar la apariencia de este Dataset simplemente aliminando el stroke o contorno del punto y haciendolo más pequeño. Apreciaremos mejor la distribución de los datos. Desde la pestaña de estilo dejamos el valor
-
SQUARES
/HEXBINS
: crea una regilla de cuadrados o hexagonos donde la intensidad del color refleja la cantidad de eventos (datos) que se concentran en el área que ocupa cada cuadrado. En las opciones de agregado podemos controlar este factor y en lugar de una cuenta, podemos hacer una suma, máximo o mínimo valor o media. Si elegimos alguna operación como suma, media debemos de nuevo elegir el campo en base al cual se va a realizar la operación. Estas opciones pueden ser muy útiles si, por ejemplo, tuvieramos datos de accidentes de tráfico y quisiéramos calcular la media o la suma total de heridos en una zona. Con los datos actuales podemos calcular la media de la magnitud de los terremotos en una región. Podríamos ver si existen zonas que pese a registrar más terremotos, suelen ser de menor magnitud y por lo tanto tener menos consecuencias. -
ADMIN. REGIONS
: parecido al geoproceso points in polygons. Realiza el recuento de los eventos en función de las áreas administrativas que los contienen. Este algoritmo tiene el defecto de asignar un color, aunque muy claro, a aquellas zonas para las que no hay datos (induciendo a error). -
ANIMATED
: permite animar nuestros datos en función de alguno de sus campos. Si, como es el caso para el Dataset de terremotos, tenemos un campo en nuestra tabla que es de tipo fecha, podemos animar nuestros datos de manera cronológica, creando una animación. En este caso debemos seleccionar la columna en base a la que se realiza el órden en el campoCOLUMN
(para los terremotos es el campotime
). Puede ser un id que hayamos asignado nosotros o un campo de tipo fecha. Esta opción también nos permite una opcion heatmap para apreciar la concentración de valores. -
PIXEL
: crea una foto fija de los datos en modo heatmap aunque no permite seleccionar columnas de la tabla para personalizar la apariencia.
La mayoría de todas estas opciones pueden ser enriquecidas con pop-ups y leyendas. Sigue hasta el siguiente apartado para aprender a utilizar los widgets de CARTO para filtrar los datos en tiempo real.
Los widgets son herramientas interactivas que nos permiten explorar los datos sobre el mapa y filtrarlos en tiempo real. Si reutilizamos los datos sobre terremotos podemos realizar un filtrado para ver qué terremotos de todos los puntos que vemos sobre el mapa tuvieron una magnitud mayor de 7.
- Para poder añadir un widget debemos estar en el panel principal del mapa (y no dentro de una capa). Pulsamos sobre la pestaña
WIDGETS
yADD
. - Accedemos a un panel en el que podemos seleccionar diferentes tipos de widgets en función de la naturaleza de nuestros campos, si son datos cuantitativos o categóricos.
- Para los terremotos podemos incluir un widget en la pestaña
HISTOGRAM
para la variable magnitud (mag
). - Podemos añadir otro widget de tipo
time
en la pestañaTIME-SERIES
. - Los widgets nos permitern conocer y filtrar los datos en tiempo real y lo que es mejor, de manera dinámica en función de la zona del mapa en que nos encontremos.
- Algunos widgets nos permiten utilizar la pestaña Auto Style, que colorea de manera automática los datos en función de sus valores.
CARTO ha añadido recientemente toda una colección de herramientas de análisis que podemos utilizar sobre nuestras capas. A lo largo de este módulo trabajamos con dos de ellas: realizar uniones con otras tablas, o georeferenciar los datos de una tabla, pero son solo dos de entre las más de 15 herramientas que posee CARTO en este momento. Podemos filtrar datos en función de otra tabla, crear zonas de influencia (buffers), contar puntos en polígonos, filtrar por atributos de la tabla en base a una expresión, etc.
La complejidad que supone representar una esfera sobre un plano ha supuesto la creación de diferentes maneras de representar un punto sobre un plano. Aunque existen varios sistemas para representar la información sobre un plano, vamos a centrarnos en dos de los principales sistemas de referencia de coordenadas: proyectadas (UTM) y esféricas (Lon/Lat).
En esta parte del módulo vamos a ver cómo convertir coordenadas del sistema UTM (433743.5,4480432
) a Lon/Lat (40.471927,-3.781607
) que es el sistema con el que tradicionalmente trabajan los servicios de representación de datos como CARTO. Es muy importante seguir paso a paso el siguiente proceso ya que de lo contrario fallará.
-
Vamos a trabajar con el Dataset de todas las paradas de la EMT que la empresa ofrece en su portal de datos abiertos. Hacemos click en este enlace y descargamos el xlsx de la pestaña Paradas. Convertimos el archivo a csv para poder abrirlo con QGIS.
-
Creamos un nuevo proyecto en QGIS. Accedemos a propiedades del proyecto y seleccionamos el Sistema de Referencia de Coordenadas en coordenadas UTM, podemos buscar el correspondiente código
EPSG:25830
o por su nombreETRS89 / UTM zone 30N
. -
Cargamos el archivo csv de las paradas de la EMT. Es posible que QGIS nos avise de que la capa no tiene un CRS definido. Hacemos click derecho sobre la capa y pulsamos sobre Establecer SRC de la capa. En el desplegable seleccionamos el mismo sistema de coordenadas del proyecto: EPSG:25830 o ETRS89 / UTM zone 30N.
-
A continuación vamos a guardar esta capa como shapefile: botón derecho sobre la capa y guardar como En este paso, también vamos a generar la nueva capa bajo el sistema de coordenadas geográficas
WGS84
. Es importante que al salvar el archivo como shapefile seleccionemos en el apartado SRC el sistema WGS84 o EPSG:4326. -
Añadimos la nueva capa al proyecto sólo si no se ha añadido automáticamente.
-
A continuación vamos a crear dos nuevos campos, uno correspondiente a la Longitud y otro a la Latitud en grados. Para ello necesitamos la calculadora de campos. Esta herramienta nos permite generar nuevos campos, realizando cálculos entre los valores de las columnas en base a su geometría como nos interesa ahora mismo.
-
Pulsamos sobre la
calculadora de campos
. Creamos u nuevo campo que cumpla las siguientes caracteristicas:
- Nombre del campo:
longitud
. - Tipo del campo de salida*:
Numero decimal (real)
. - Longitud del campo de salida*: seleccionamos una precisión de 6 decimales.
- Ahora vamos a utilizar una función del apartado Geometría. Podemos utilizar el buscador para encontrar la función $x.
- Acemos doble click sobre $x y nos aseguramos de que se añade a la caja de la izquierda llamada Expresión como se muestra en la imagen:
-
Podemos asegurarnos de que estamos realizando bien todos los pasos comprobando que en el apartado inferior
Vista preliminar de la salida
vemos un valor parecido a-3.78160697225065
para la longitud y que no nos aparece unnull
o algún otro valor erróneo. -
Pulsamos sobre aceptar para generar este nuevo campo.
-
Repetimos los mismos pasos para calcular la latitud:
- Nombre del campo:
latitud
. - En el apartado Geometría buscamos la función $y.
- Comprobamos que en el apartado inferior
Vista preliminar de la salida
vemos un valor parecido a40.4719271557661
para la latitud y que no nos aparece unnull
o algún otro valor erróneo. - Pulsamos sobre aceptar para generar este nuevo campo.
- Nombre del campo:
-
Por último, salvamos los cambios en el icono y salimos del modo edición haciendo click sobre el icono
Commutar edición
que se activa cuando creamos nuevos campos. -
Si queremos exportar estos resultados a un formato csv tenemos que hacer click derecho sobre la capa y guardar como. En formato seleccionamos Valores separados por comas [CSV].
-
Ya hemos realizado la conversión entre un sistema de coordenadas en metros UTM a un sistema de coordenadas en grados Lon/Lat!.