Une cartographie animée de dispersion d’espèces : les départements apparaissent les uns après les autres, année après année.

Dans ce tutoriel, nous allons voir étape par étape, comment créer une cartographie animée (au format GIF), telle que la cartographie visible dans cet exemple : http://frelonasiatique.mnhn.fr/biologie/#CarteProgression.

L’objectif est de créer une cartographie animée faisant apparaître les départements dans lesquels l’espèce Equus unicornis a été observée, de 2000 à 2010. Ces départements doivent apparaître sur la carte en fonction de l’année de première observation de l’espèce dans le département, année après année.

Voici la carte que nous allons construire au fil de cette série de tutoriels :

Logiciels utilisés : QGIS et GIMP

Pour pouvoir suivre et réaliser ce tutoriel, il faut tout d’abord télécharger et installer les logiciels libres QGIS (pour la partie cartographique) et GIMP (pour la partie de traitement des images pour un rendu sous forme de GIF animé).

Deux méthodes de cartographies temporelles avec QGIS

Pour la partie cartographique, nous verrons deux façons de créer des cartes avec une variable temporelle.

Une de ces méthodes est basée sur le contrôleur temporel de QGIS (QGIS temporal). Cette méthode a l’avantage d’être une méthode rapide pour créer et exporter une collection de cartes temporelles, mais je ne la conseille pas en raison de la difficulté à faire un beau rendu cartographique (et des bugs sur certaines versions de QGIS…). 

Une deuxième méthode utilise le gestionnaire de mise en page. Cette méthode est plus lente à mettre en œuvre, mais elle permet d’obtenir un rendu cartographique digne de ce nom !

Concernant la création de fichiers GIF animés avec GIMP, la méthode sera exactement la même pour les deux cas.

Étapes d’une cartographie temporelle avec QGIS et GIMP

La procédure à suivre peut être résumée en 4 grandes étapes :

  1. Préparation des données, avec une attention particulière sur le champ de date qui servira de référence pour la temporalité.
  2. Création d’un rendu temporel.
  3. Création des cartes pour un « rendu temporel » (2 méthodes sont possibles), puis export des images.
  4. Création de l’image animée sous forme de gif : notre cartographie temporelle animée !

Préparer les données

Même s’il est toujours possible d’ajouter des données pendant la réalisation de la cartographie, le plus simple est de commencer l’élaboration du projet en listant les éléments qui seront nécessaires.

Pour faire une carte avec la prise en compte d’une variable temporelle, nous allons avoir besoin :

  • d’un fond de carte ;
  • une couche vecteur avec les données temporelles contenant une colonne de type DATE ;
  • éventuellement d’autres données à faire figurer sur la carte (mise en évidence de certaines localisations ; limites administratives…).

Pour ce tutoriel de carte de progression départementale annuelle, voici les éléments que j’utilise :

  • une couche vecteur « polygones » des départements contenant une colonne de dates (une seule date par ligne/département, qui correspond à la première année d’observation dans le département) ;

Remarque

Dans la colonne de dates, les valeurs ne doivent être que des dates. Dans la couche des départements utilisée ici, la colonne des dates contient des années. Si l’espèce suivie n’a pas été vue dans une département, la valeur du champ de date reste à NULL.

Pour pouvoir réaliser des cartographies temporelles, il faut penser à bien structurer les données en amont de la cartographie et laisser des cases vides si aucune date ne peut être renseignée.

Ajouter les couches de données dans QGIS

Pour commencer la cartographie, ouvrez QGIS puis ajoutez les différentes couches de données. On peut ajouter très simplement les couches par un glisser – déposer s’il s’agit de fichiers que l’on a à disposition (shapefile, images raster…).

Il est également possible d’ajouter des données à l’aide de flux WMS / WFS dans QGIS. Pour cet exemple, c’est ce que j’ai fait afin d’ajouter le fond de carte des Photographies aériennes de l’IGN.

Pour ce tutoriel, j’ai ajouté :

  • Le fond de carte des Photographies aériennes de l’IGN.
  • Les limites régionales de France.
  • Les limites départementales de France.
  • Le point de première observation de l’espèce.
  • La couche des départements (qui contient avec l’année de première observation de l’espèce dans le département concerné).

Préparer la carte

Une fois que vos données sont dans le canevas de carte, vous pouvez choisir leur symbologie.

Pour les couches vecteurs (ici, les Départements, les Régions, les observations départementales et le point de première observation), sélectionnez la couche souhaitée dans le gestionnaire des couches, et faire un clic droit > propriétés > onglet symbologie. Dans cet onglet, on peut choisir la représentation graphique que l’on souhaite : remplissage ou trait simple… ; couleur de remplissage ; couleur des contours ; taille des points, etc.

Pour le point de première observation, j’utilise ici une image SVG libre de droit en tant que symbologie de la couche vectorielle.

Pour avoir un effet de transparence sur le fond de carte raster, sélectionnez votre couche, et faîtes un clic droit > propriétés > onglet transparence. Il sera alors possible de gérer l’opacité de la couche dans la partie « Opacité globale ». Dans l’onglet « Symbologie » il est également possible de paramétrer d’autres options de rendu de la couche raster, comme la luminosité ou le contraste par exemple.

Remarque

Votre carte semble avoir une forme bizarre ? Si par exemple votre carte vous paraît un peu aplatie, le système de coordonnées du projet n’est sûrement pas le bon.

Pour modifier le SCR du projet, allez dans le menu principal (en haut de la fenêtre de QGIS) sur l’onglet projet > propriétés. Dans la fenêtre « Propriété du projet » qui s’ouvre, aller dans l’onglet « SCR » et choisir le système de coordonnées de référence adapté à vos couches de données.

Attention au champ de date

La préparation de notre carte est presque terminée. Le dernier point essentiel à vérifier pour la réalisation des cartographies temporelles est la colonne contenant les dates.

Sélectionnez la couche contenant les dates dans le gestionnaire de couches (pour notre exemple, il s’agit de la couche des départements d’observation de licornes) : clic droit > propriétés > onglet Champs.

Dans cette fenêtre, nous pouvons vérifier le type des différents champs de notre couche. Ici, le champ contenant les dates de dispersion à faire figurer sur les cartographies est nommé « annee1_obs » (pour « année de la première observation »). Et malheureusement QGIS ne le reconnaît pas comme étant un champ de type date !

En effet, dans mon exemple de données, le type de ce champ est noté en tant que « integer » (vous pourriez aussi avoir un autre type tel que « qlonglong / integer64 »). Cependant, nous avons besoin d’un type « QDate » !

Nous allons donc procéder à la « correction » de la table attributaire afin d’avoir une colonne de date, reconnue comme contenant des dates par QGIS.

Créer un champ Qdate dans QGIS

Sélectionnez la couche des départements d’observations (contenant les dates) dans le gestionnaire des couches, et mettez la couche en mode édition (le petit crayon jaune dans la barre d’outil de numérisation).

Ensuite, ouvrez la calculatrice de champ (l’icône de boulier dans la barre d’outils d’attributs).

Nous allons créer un champ supplémentaire contenant l’année de la première observation départementale, que QGIS reconnaîtra en tant que champ de type date.

Dans la calculatrice de champ, sélectionnez la case « Créer un nouveau champ ». Donnez un nom à ce nouveau champ – ici je l’ai appelé « date_obs » – et sélectionnez le type Date.

Nous allons maintenant remplir ce champ de type date, à partir des valeurs du champ « annee1_obs ». Le but est ici de transformer les années (que QGIS considère comme des nombres) en date.

Pour cela, copiez la formule suivante dans la partie Expression, puis cliquez sur Ok pour valider (remplacez le nom annee1_obs par le nom de votre colonne de date).
to_date( "annee1_obs", 'yyyy')

Pensez à enregistrer les modifications (cliquez sur l’icône de disquette) et à sortir du mode édition (cliquer sur l’icône de crayon jaune).

Nous avons désormais un champ contenant des dates (la première année d’observation de l’espèce pour chaque département). On peut d’ailleurs le vérifier dans les propriétés de la couche > onglet Champ : le champ « date_obs » est bien de type QDate.

On retrouve également les bonnes informations de date dans la table attributaire de la couche des départements qui va nous servir à visualiser la progression départementale année par année, à savoir des dates pour les départements dans lesquels l’espèce a été observée, et des valeurs NULL pour les départements sans observation.

Notez que les années ainsi converties en type date sont transformées en tant que 1er janvier de l’année en question : pas de souci, c’est normal et la cartographie temporelle fonctionnera !

Notre projet QGIS contient maintenant tous les éléments nécessaires à la création d’une série de cartographies temporelles ! La prochaine étape est de créer le rendu temporel.