Etude de cas : représenter les données d’observations d’espèces avec des symboles différents selon plusieurs champs (la date et le taxon)
Plusieurs années de prospections de terrain… Une analyse bibliographique… Et nous voici avec un jeu de données naturalistes ! Ces données sont des observations de plusieurs espèces à des dates différentes par exemple.
Mais voilà, une grande liste d’observations n’est pas très visuelle, et avoir une carte des ces différentes données peut servir à analyser la répartition des espèces, dans l’espace ou dans le temps ! Alors, comment faire ressortir – sur une carte – des données d’observations en fonction, par exemple, de leur nature et de leur date ?
Dans cet article, nous allons voir comment réaliser une carte de répartition d’espèces avec une symbologie différente selon le taxon et selon une gamme de dates d’observations. Pour suivre cet exemple, vous aurez besoin d’un jeu de données d’observations et de QGIS (j’utilise ici la version 3.2.1 Bonn).
Dans ce tutoriel, nous allons voir :
Les données d’observations d’espèces
En premier lieu, ajoutez vos données dans le canevas de carte de QGIS. Vous pouvez soit les importer depuis un tableur, soit les ajouter directement au format shapefile.
Pour faire cette carte, vos données doivent être spatialisées, donc avoir une géométrie. Dans cet exemple j’utilise des données vectorielles ponctuelles (des points quoi…).
QGIS – Exemple d’un jeu de données vectorielles ponctuelles de répartition d’espèces, dans le canevas de carte, avec un fond raster OSM.
Pour réaliser un ensemble de règles selon des dates, il faut également que vos données soient… datées ! Les données que j’utilise ici ont une date au format aaaa-mm-jj (année-mois-jour), mais la manipulation que l’on va voir ensemble peut être facilement adaptée pour d’autres formats de date. Si vous avez un souci, n’hésitez pas à en parler dans l’espace commentaire de cet article. 🙂
QGIS – Exemple d’une table attributaire d’un jeu de données vectorielles ponctuelles de répartition d’espèces.
N.b. – vous aurez remarqué que ma table attributaire (figure juste au dessus) n’est pas très complexe : un identifiant unique pour chaque ligne, un numéro pour chaque espèce (0001, 0002 et 0003), et une date.
Maintenant, changeons la représentation de ces données. Pour cela, il va nous falloir toucher un peu à la symbologie (le style) de la couche des observations.
Symbologie QGIS : selon la date
Pour cet exemple, je souhaite afficher différemment les observations antérieures à 2005 de celles enregistrées depuis l’année 2005. Je vais donc utiliser 2 règles logiques, à savoir année de la date de mes observations strictement inférieure à 2005 et année de la date de mes observations supérieure ou égale à 2005.
Commençons le paramétrage des règles. Sélectionnez la couche des observations, faites un clic droit et cliquez sur Propriétés. La fenêtre « Propriété de la couche » s’ouvre. A gauche de cette fenêtre, sélectionnez l’onglet Symbologie pour QGIS en version 3.x, ou Style pour les versions antérieures.
QGIS 3 – Fenêtre « Propriétés de la couche > Symbologie » d’une couche de données vectorielles ponctuelles.
Ensemble de règles
Ensuite, en haut de la fenêtre de symbologie, vous pouvez choisir le style de symbologie à appliquer à la couche, dans la liste déroulante (par défaut le style est un symbole unique). Choisissez le style Ensemble de règles (ou « Rule-based » si, comme moi, vous avez une version de QGIS en franglais…).
QGIS Rule-based.
Donc là, vous l’aurez compris vu le nom du style, on va ajouter des règles pour définir la symbologie (la représentation) de la couche des observations !
Une fois « Ensemble de règles » sélectionné, le contenu de la fenêtre change.
QGIS 3 – Fenêtre « Propriétés de la couche > Symbologie » d’une couche de données vectorielles ponctuelles, avec une symbologie basée sur un ensemble de règles.
Une règle existe déjà, il s’agit de celle correspondant à un symbole unique : une seule règle, sans filtre.
Gestion des règles
Vous pouvez la supprimer. Pour cela, cliquez sur la règle pour la mettre en surbrillance, puis cliquez sur le raccourci de suppression, à savoir le – rouge dans le bas de la fenêtre.
QGIS – Raccourci de suppression.
Notez que vous pouvez également modifier n’importe quelle règle. Pour cela, cliquez sur la règle pour la mettre en surbrillance, puis cliquez sur le raccourci de modification, à savoir l’icône de crayon, dans le bas de la fenêtre.
QGIS – Raccourci de modification.
Maintenant ajoutons nos deux règles. Pour ajouter une règle, cliquez sur le + vert (ajouter une règle) situé en bas de la fenêtre.
QGIS – Raccourci d’ajout.
Une nouvelle fenêtre s’ouvre. C’est ici que vous pouvez paramétrer une nouvelle règle pour la représentation graphique de vos données.
QGIS 3 – Fenêtre d’édition d’une règle de symbologie.
Définir des règles
Dans le champ Étiquette, renseignez le nom de ce que vous représentez. Par exemple, nommez cette première règle « Avant 2005 » pour la règle qui va attribuer un symbole particulier aux observations antérieures à 2005.
Le champs filtre est celui dans lequel on renseigne la règle à appliquer, c’est-à-dire l’expression logique pour sélectionner les données. Voici comment s’écrivent les deux expressions pour filtrer par date dans cet exemple :
- year(« date ») < ‘2005’ pour les observations antérieures à 2015 ;
- year(« date ») >= ‘2005’ pour les observations réalisées depuis 2005.
Explication des fonctions QGIS
La fonction year() récupère l’année contenue dans la variable qu’on lui donne entre les parenthèses. Les nom des attributs (noms des colonnes de la table attributaire) se note entre double guillemets droits (ce caractère : « ). Donc le filtre year(« date ») récupère l’année de l’attribut nommé date. Ensuite, on indique soit que l’année de la date d’observation doit être strictement inférieur à 2005 (year(« date ») < ‘2005’), soit être égale ou supérieure à 2005 (year(« date ») >= ‘2005’).
Pour finir, vous pouvez choisir le symbole à utiliser pour la représentation cartographique de vos données dans la partie symbole.
QGIS 3 – Fenêtre d’édition d’une règle de symbologie, exemple d’une règle de sélection des données selon l’année d’un attribut de date.
Une fois la règle ajoutée, cliquez sur ok pour la valider. Vous verrez vos règles s’ajouter au fur et à mesure dans la fenêtre des propriétés de la couche.
Définir la symbologie
Ainsi, vous pouvez voir sur la figure suivante que j’ai choisi un symbole de disque vide (un cercle) pour les dates antérieures à 2005, et un disque plein pour les observations plus récentes.
QGIS 3 – Fenêtre « Propriétés de la couche > Symbologie » d’une couche de données vectorielles ponctuelles, avec une symbologie basée sur un ensemble de règles. Exemple de deux règles de sélection des données selon l’année d’un attribut de date.
Lorsque vous avez rédigé toutes vos règles, cliquez sur ok pour valider votre symbologie, et admirez le résultat cartographique !
QGIS – Exemple d’un jeu de données vectorielles ponctuelles de répartition d’espèces, avec une symbologie par ensemble de règles, sur un fond raster OSM.
Symbologie QGIS : selon la date et l’espèce
Ici, je n’ai qu’une seule couche contenant toutes les données d’observations, toutes espèces confondues. Je vais maintenant modifier et ajouter des règles pour pouvoir représenter différemment les points des taxons différents (par exemple avec une couleur de point différente par taxon).
Ma couche a un attribut nommé taxon qui contient des valeurs de code (un code différent par espèce) sous forme de texte. Ces valeurs sont donc à noter entre guillemets simples dans les expressions, contrairement aux valeurs aux formats numériques.
Pour filtrer les taxon un à un, mes expressions sont alors : « taxon » = ‘0001’ pour filtrer le taxon 1 ; « taxon » = ‘0002’ pour filtrer le taxon 2 ; « taxon » = ‘0003’ pour filtrer le taxon 3.
Enfin, pour relier le filtre par taxon et le filtre par date dans une même expression, on utilise le connecteur logique AND (littéralement « ET »), ce qui donne « taxon » = ‘0001’ AND year(« date ») < ‘2005’ pour sélectionner les occurrences du taxon 0001 datées d’avant 2005.
QGIS 3 – Fenêtre d’édition d’une règle de symbologie, exemple d’une règle de sélection des données selon deux attributs.
Comme on a ici 3 taxons, et 2 amplitudes de dates, nous aurons besoin des 6 règles suivantes :
- « taxon » = ‘0001’ AND year(« date ») < ‘2005’
- « taxon » = ‘0001’ AND year(« date ») >= ‘2005’
- « taxon » = ‘0002’ AND year(« date ») < ‘2005’
- « taxon » = ‘0002’ AND year(« date ») >= ‘2005’
- « taxon » = ‘0003’ AND year(« date ») < ‘2005’
- « taxon » = ‘0003’ AND year(« date ») >= ‘2005’
QGIS 3 – Fenêtre « Propriétés de la couche > Symbologie » d’une couche de données vectorielles ponctuelles, avec une symbologie basée sur un ensemble de règles. Exemple de règles de sélection des données selon deux attributs.
J’ai choisi une représentation différente par espèce, à savoir un point de couleur différente selon le taxon, plein ou vide selon l’année d’observation. Sachez que vous pouvez jouer sur beaucoup plus de paramètres pour la représentation : taille, symbole, couleur, transparence, ect.
Enfin, et comme précédemment, cliquez sur ok une fois toutes vos règles définies, et admirez la carte !
QGIS – Exemple d’un jeu de données vectorielles ponctuelles de répartition d’espèces, avec une symbologie par ensemble de règles, sur un fond raster OSM.
Vous avez désormais les bases pour utiliser la symbologie par ensemble de règles de QGIS !
Aviez-vous déjà utilisé ces représentations ? Pour quels usages ?
Pour aller plus loin…
Un petit coup de pouce ?
Cet article vous a plu et vous pensez qu’il pourrait être utile à quelqu’un d’autre ? Partagez le sur vos réseaux grâce aux boutons juste en dessous ! Merci !
Bonjour,
Merci pour votre site et vos explications – très apprécié! Je voudrais faire exactement la même procédure que vous mais avec 8 taxons et 5 dates d’observations. L’objectif étant d’avoir 1 carte pour chaque taxon avec un symbole différent par date. Pour l’heure, j’avais créé un shp par espèce (chacune sa couleur) puis catégorisé selon la date. Je pensais appliquer le rules based + atlas mais ça me paraît complexe au vue du nombre de combinaison possibles. Une idée?
A priori, je tenterai de faire exactement comme vous l’avez décrit !