Blog del Máster
en Tecnologías de la Información Geográfica y Ciencia de Datos
Espaciales

Mapa web dinámico de distribución y evolución del COVID-19 en España

Dando perspectiva espacio-temporal a la crisis del COVID-19

En tiempos de COVID-19 una de las principales potencialidades de la representación cartográfica de los datos es la visualización temporal de los mismos.

Durante las últimas semanas el Servicio de SIG y Teledetección de la Universitat de Girona hemos desarrollado este mapa dinámico sobre la evolución del COVID-19 en España. Hemos utilizado los datos oficiales del Instituto de Salud Carlos III que muestra la evolución de los enfermos, recuperados, y fallecidos por COVID-19 a nivel autonómico.

Mediante este enlace se accede al mapa web para ver la evolución de cada comunidad autónoma desde el inicio de la epidemia.

Mapa web dinámico sobre la evolución del coronavirus en España

Este mapa interactivo muestra los datos a partir de gráficos de burbujas para cada región autonómica. El control de tiempo permite avanzar, retroceder o congelar la evolución en un día concreto. La interacción con los elementos del mapa permite conocer las cifras concretas de cada comunidad en cada momento. Seleccionando una comunidad se pueden consultar los gráficos de barras y líneas para la conocer los casos acumulados y los nuevos casos diarios.

A continuación se especificarán los datos que se han utilizado para mostrar el timelapse  y las librerías a las que hemos recurrido para desarrollar la visualización y sus elementos gráficos.

Los datos disponibles

Empezamos retomando una de las ideas clave del post anterior respecto a los datos. En los estudios de SIG y salud existen parámetros de calidad de los datos que no siempre son fáciles de cumplir. Para poder visualizar, analizar y modelizar datos epidemiológicos se requieren datos lo más detallados, uniformes y veraces posible. Este es, justamente, uno de los principales inconvenientes en tiempos de COVID-19. La epidemia ha comprometido la capacidad del sistema sanitario español también por lo que respecta a la eficiencia en recopilar dichos parámetros. 

Por un lado, los datos oficiales no recogen las cifras relativas a la muestra completa de la población que sufre dicha enfermedad, sino que solamente se ha identificado como enfermos parte de la muestra y no la totalidad de los casos. Además, esta visualización sólo contempla aquellas personas que se han considerado enfermas según el recuento del Ministerio de Sanidad, Consumo y Bienestar Social

Según este criterio el número de personas enfermas equivale a los pacientes con resultado positivo en el test PCR. En cambio, los datos oficiales relativos a los pacientes recuperados y fallecidos contabilizan enfermos diagnosticados por PCR+ y por test rápidos. Por ello, la cifra de altas puede superar en cierto momento la cifra de enfermos. 

Datos en constante evolución

Esta inconsistencia en los datos y la falta de un criterio claro y homogéneo por parte del gobierno central, obligó a tomar medidas al respecto y a diseñar la Estrategia de detección precoz, vigilancia y control de COVID-19. Debido a la entrada en vigor de dicha estrategia, el 18/05/2020 el Instituto de Salud Carlos III  dejó de publicar en sus informes diarios los datos de recuperados. El día 21/05/2020 dejó de actualizar los datos históricos de PCR+ y fallecidos. Dos semanas más tarde, la serie histórica fué actualizada de acuerdo a los parámetros establecidos en dicha estrategia. Ahora solamente se proporcionan los nuevos casos diarios a nivel provincial, dejando al margen definitivamente los recuperados y los fallecidos. 

La visualización que presentamos muestra los PCR+, los recuperados (hasta el día 18 de mayo) y los fallecidos según los datos oficiales antes de entrar en vigor la Estrategia de detección precoz, vigilancia y control de COVID-19.

Evolución datos oficiales coronavirus
Evolución del dataset oficial proporcionado por el ministerio de sanidad

Ante esta confusión de datos, la comunidad científica, periodística y la ciudadanía han elaborado un manifiesto donde solicitan datos coherentes y públicos accesibles.

¿Cómo alimentamos nuestro mapa con datos actualizados diariamente?

Antes de empezar a representar los datos relativos a las tres variables, se ha diseñado un sript con Python para actualizar diariamente los datos mostrados en el mapa web con los oficiales proporcionados por el Instituto de Salud Carlos III.

En el script se utiliza la librería Requests para obtener los datos que suministra el Instituto de Salud Carlos III en formato csv a través de una url. Por otro lado, y gracias a la versatilidad de la librería Pandas, modificamos la estructura de estos datos para adaptarla a los requisitos del modelo de datos de la aplicación desarrollada. El script está disponible en el repositorio de GitHub del SIGTE.

OpenLayers para el mapa dinámico

Para desarrollar esta visualización se ha utilizado OpenLayers, una librería JavaScript completamente gratuita y Open Source. Esta API facilita la adaptación del mapa a distintos tipos de resolución. También hemos utilizado la librería Materialize para facilitar el diseño gráfico. 

Para ubicar los gráficos de cada comunidad en unas coordenadas concretas hemos utilizado el elemento Overlay de la API OpenLayers. Este elemento permite mostrar cualquier elemento HTML en unas coordenadas del mapa preestablecidas. En este caso los elementos Overlay actúan como contenedores de los elementos SVG que, a su vez, contienen los gráficos vectoriales.

Gráficos para complementar la visualización cartográfica

La API D3.js utiliza técnicas avanzadas de JavaScript para lograr visualizaciones vectoriales de datos dinámicas y muy potentes desde un punto de vista estético. Con el fin de representar la evolución de tres variables al mismo tiempo (PCR+, recuperados y fallecidos) se optó, inicialmente, por gráficos de tipo Pack Layout aunque finalmente se descartó debido a la naturaleza de los datos. Una naturaleza que provocaba cierta confusión visual ya que algunos círculos del gráfico llegaban a decrecer a pesar del aumento constante de los pacientes afectados. Este efecto es debido a la propia naturaleza de los gráficos Pack Layout donde el diámetro de cada círculo se calcula en base al diámetro del resto de círculos que componen el gráfico.

Gráfico Pack Layout de la API D3.js

Por este motivo decidimos modificar la visualización de los gráficos de tal modo que ninguno de los círculos decreciera a lo largo de la representación. 

A pesar de que la representación cartográfica es el método más eficiente para visualizar datos territoriales, a menudo es apropiado reforzar la cartografía con gráficos que faciliten la comunicación de la evolución temporal. Con este propósito, la librería D3 también ha servido para añadir un gráfico de barras apiladas para los casos acumulados y un gráfico lineal para los nuevos casos diarios, ambos con tooltips para dar a conocer los datos concretos de cada día.

Evolución coronavirus España según los nuevos casos diarios y los acumulados
El gráfico de barras apiladas muestra los casos acumulados, mientras que el gráfico lineal muestra los nuevos casos diarios.

El mapa base con Mapbox

En la mayoría de aplicaciones web map se incluye una cartografía de referencia sobre la cual se representan los datos y que permite al usuario la contextualización geográfica de los mismos. La visualización que presentamos aquí se ha generado a través de la  la plataforma onlineMapboxStudio, que permite la personalización de estilos sobre la cartografía de OpenStreetMap.

Para incluir las islas canarias en la vista inicial hemos añadido una nueva capa al mapa. Esta capa es de tipo vectorial (formato GeoJSON) y muestra a las Islas Canarias desplazadas hacia el norte tal y como suelen mostrarse en la mayoría de mapas que muestran la totalidad del estado español.

Podéis consultar el post sobre Crear una cartografía de referencia con Mapbox Studio para conocer más detalles sobre cómo crear una base cartográfica personalizada. 

En este post hemos explicado cómo se ha desarrollado a nivel técnico el mapa web sobre la evolución del COVID-19 en España. En la siguiente entrada de esta serie de post presentaremos la mortalidad relativa del virus en Europa y la evolución de cada país igualando el inicio de la pandemia para todos los países de Europa para comparar los datos de cada país en el mismo punto de la pandemia, es decir, el mismo día desde el inicio de esta en el país. 

Carla Garcia
Geógrafa, trabajo como técnico SIG en el Servicio de SIG y Teledetección (SIGTE) de la Universitat de Girona. Durante los últimos cuatro años he realizado mi trabajo de doctorado en geografía física sobre los sistemas dunares de la costa catalana. En mis trabajos de investigación he aplicado técnicas de teledetección mediante el uso de datos LiDAR para estudiar la dinámica geomorfológica de los sistemas eólicos litorales.
Toni Hernández
Ambientólogo y diplomado en informática. Trabajo como desarrollador de aplicaciones web map en el Servicio de SIG y Teledetección (SIGTE) de la Universitat de Girona. Me interesa la capacidad espacial de las bases de datos y el desarrollo de aplicaciones web map tanto del lado del cliente como del servidor.
Josep Sitjar
Geógrafo y máster en medio ambiente, análisis y gestión del territorio. Desarrollador de aplicaciones web. Trabajo en el Servicio de SIG y Teledetección (SIGTE) de la Universitat de Girona participando en numerosos proyectos técnicos vinculados al mundo de los SIG y al desarrollo de aplicaciones web map. En UNIGIS soy tutor de los módulos SIG y Teledetección y Programación de Aplicaciones Web Map II.


Suscríbete a nuestra newsletter