Exercice 1 : Créer une carte d’ensemble du système de santé et de la couverture vaccinale #
Contexte #
Au cours du mois dernier, les autorités sanitaires au Tchad ont signalé une hausse des cas de rougeole, en particulier dans les régions du Mandoul, du Mayo-Kebbi Est et du Logone Oriental. L’unité de surveillance a fourni des données de line-listing ainsi que des données existantes sur les structures de santé. Votre première tâche consiste à créer une carte de base montrant la répartition des structures de santé et à les classifier selon leur capacité de service afin de comprendre les infrastructures de réponse disponibles.
Données disponibles #
Dataset name |
Original title |
Publisher |
Downloaded from |
|---|---|---|---|
|
Chad Subnational Administrative Boundaries (level 0: country) |
United Nations Office for the Coordination of Humanitarian Affairs (OCHA) |
|
|
Chad Administrative Boundaries (level 1: regions) |
United Nations Office for the Coordination of Humanitarian Affairs (OCHA) |
|
|
Chad Administrative Boundaries (level 2: province) |
United Nations Office for the Coordination of Humanitarian Affairs (OCHA) |
|
|
Chad Health Facilities (OpenStreetMap Export) |
Humanitarian OpenStreetMap Team |
|
|
Chad - Road Network |
United Nations Office for the Coordination of Humanitarian Affairs (OCHA) |
|
|
Healthsite Capacities |
HeiGIT |
This is a fictional dataset generated for the purpose of this exercise. |
|
Measles vaccination coverage |
HeiGIT |
This is a fictional dataset generated for the purpose of this exercise. |
Note
Dans cet exercice, nous téléchargerons de vrais jeux de données depuis le Humanitarian Data Exchange (HDX) afin d’identifier et d’analyser des informations pertinentes. Toutefois, les jeux de données sur les capacités des structures de santé et la couverture vaccinale utilisés ici sont fictifs et ont été créés uniquement à des fins de formation. Ils ne représentent pas des données du monde réel.
Téléchargez ici tous les jeux de données fournis par HeiGIT here, enregistrez le dossier sur votre ordinateur et décompressez le fichier.
Tâches #
Tâche 1 : Mettre en place l’arborescence de dossiers et créer un nouveau projet QGIS #
Arborescence de dossiers standard
La pratique la plus importante en matière de gestion des données géographiques consiste à utiliser une arborescence de dossiers standardisée qui contient tous les éléments du projet QGIS. Nous enregistrerons toutes les données que nous utilisons ou créons dans notre projet QGIS à l’intérieur de cette arborescence. Les chemins entre un projet QGIS et les données géographiques sont, par défaut, relatifs. Cela signifie que lorsque les données et le projet sont organisés dans une structure de dossiers fixe, vous pouvez déplacer l’ensemble de cette structure sans affecter le projet QGIS ni les chemins vers les données.
Une arborescence de dossiers standard présente deux avantages principaux :
Si nous partageons l’ensemble du dossier du projet, nous pouvons nous attendre à ce que le projet fonctionne sans problème sur un autre ordinateur.
L’arborescence de dossiers favorise une bonne organisation des données du projet et contribue à garantir le bon fonctionnement du projet QGIS.
Créez sur votre ordinateur un nouveau dossier nommé “GIS_Training_Public_Health_Day_1-2”. Dans ce dossier, créez l’arborescence suivante :
GIS_Training_Public_Health
├── project
├── results
├── styles
└── data
├── input
├── interim
└── output
Ouvrez QGIS et créez un nouveau projet.
Enregistrez le projet via
Project→Save As.... Accédez au dossier de cette formation et enregistrez-le dans le sous-dossier/project. Donnez-lui un nom (par ex.GIS_Training_Public_Health_Part_1) puis cliquez surSave.Nous devons maintenant définir le SCR du projet.
Dans le coin inférieur droit de la fenêtre QGIS, cliquez sur l’icône de projection
. Choisissons un SCR métrique qui représente le Tchad sans trop de déformation. Pour cet exercice, nous utiliserons “Albers Equal Area Conic” (EPSG: 102022).
Dans la barre Filter, saisissez le nom ou le numéro EPSG. Le SCR devrait apparaître dans la boîte “Predefined Coordinate Reference Systems”. Sélectionnez-le puis cliquez surApplyetOK.
Définir le SCR du projet dans QGIS#
Comment choisir le bon SCR
Choisir un système de coordonnées de référence adapté à votre projet SIG est essentiel. En règle générale, vous devez utiliser un SCR qui représente au mieux votre zone d’intérêt. Deuxièmement, vous devez réfléchir au type de calculs que vous prévoyez d’effectuer dans votre projet. Les SCR existent en deux catégories : les systèmes de coordonnées de référence géographiques et les systèmes de coordonnées de référence métriques. Les SCR géographiques utilisent la longitude et la latitude (degrés) comme coordonnées et unités de mesure. Il s’agit de mesures angulaires qui ne représentent pas les distances de manière linéaire. Les SCR métriques utilisent des coordonnées exprimées en unités linéaires (comme les mètres), ce qui signifie qu’ils représentent les distances réelles à la surface de la Terre. Les SCR métriques, comme l’UTM, sont conçus pour la cartographie locale et régionale et peuvent introduire des déformations s’ils sont appliqués à de très grandes zones. Pour des régions très étendues, on utilise souvent des projections comme Albers Equal Area ou Mercator afin de réduire les déformations.
Si vous souhaitez effectuer des calculs de distance, vous devez utiliser un SCR métrique.
Pour en savoir plus sur les projections et les systèmes de coordonnées de référence, consultez ce chapitre du module.
Attention
Le SCR du projet détermine le système de coordonnées de référence utilisé pour afficher les données géographiques dans le canevas cartographique QGIS. En revanche, il ne modifie pas le SCR des couches. Chaque couche, ou jeu de données, est encodé avec un SCR. QGIS reprojette ces couches “à la volée” pour afficher sur le canevas des couches ayant des SCR différents. Cela ne modifie ni les unités de mesure ni les déformations des couches elles-mêmes. Pour effectuer des calculs de distance, vous devrez reprojeter la couche dans un système de coordonnées de référence métrique.
Définir le SCR du projet sur celui que vous souhaitez utiliser peut vous aider à choisir plus rapidement le bon SCR lors de l’exécution d’algorithmes.
Tâche 2 : Télécharger les données pertinentes #
Dans votre navigateur, rendez-vous sur humdata.org
Recherchez les jeux de données suivants :
Chad Administrative Boundaries (OCHA): ADM0, ADM1, ADM2
Chad Health Facilities (OpenStreetMap Export)
Chad Roads (OCHA)
Téléchargez les couches.
Sur la page de téléchargement, vous pouvez généralement choisir différents formats de données. Les formats sont indiqués par leur extension de fichier (par ex.
.shp,.gpkg,.gdb).Parfois, les données sont encore compressées, de sorte que l’extension du fichier n’est pas visible.
Choisissez les formats suivants :
Chad Administrative Boundaries (OCHA): Shapefile
Chad Health Facilities (OpenStreetMap Export): GeoPackage pour les Points, nous n’avons pas besoin des polygones pour cet exemple
Chad Roads (OCHA): Shapefile
Décompressez les dossiers et veillez à les enregistrer dans le dossier
data/input/de l’arborescence standard.
Tâche 3 : Importer les jeux de données #
Dans votre projet QGIS, importez les jeux de données suivants par glisser-déposer :
tcd_admbnda_adm0_20250212_AB.shptcd_admbnda_adm1_20250212_AB.shptcd_admbnda_adm2_20250212_AB.shphotosm_tcd_health_facilities_points_gpkg.gpkgtcd_trs_roads_OCHA.shp
Vidéo : importer des shapefiles dans un projet QGIS par glisser-déposer
Attention
Les fichiers importés ne sont pas enregistrés dans le projet QGIS. Si vous déplacez ou supprimez le fichier d’origine, QGIS ne retrouvera plus le jeu de données correspondant.
Tâche 4 : Le panneau des couches et le concept de couche #
Une fois toutes les couches pertinentes importées, commençons par les organiser logiquement afin de travailler plus facilement. Sur la gauche se trouve le panneau
Layers. Vous pouvez y voir tous les jeux de données que nous avons importés jusqu’à présent.QGIS affiche les données géographiques sous forme de couches, chaque jeu de données étant représenté dans une couche. Les couches sont empilées les unes sur les autres.
Organisons les couches pour travailler plus facilement :
La couche ADM0 doit être en bas, suivie de ADM1, puis de ADM2.
Ensuite, nous pouvons ajouter le réseau routier.
Les structures de santé doivent se trouver au-dessus.
Ajoutons un fond de carte :
Dans le navigateur de fichiers, faites défiler vers le bas jusqu’à voir
XYZ-TilesDépliez-le puis double-cliquez sur
OpenStreetMap. Une nouvelle couche sera ajoutée à votre panneau des couches, généralement en bas. Veillez à ce que cette couche reste tout en bas du panneau afin que toutes les autres couches restent visibles.
Votre fenêtre QGIS devrait ressembler à ceci (avec des couleurs de couches différentes).
Examinons maintenant les couches que nous avons ajoutées jusqu’ici. Chaque couche vectorielle possède une table attributaire, dans laquelle chaque ligne représente une entité géométrique sur le canevas cartographique.
Ouvrez la table attributaire en faisant un clic droit sur la couche ADM2 dans le panneau des couches à gauche →
Open Attribute Table.Une nouvelle fenêtre s’ouvre. Il s’agit de la table attributaire. Elle affiche la couche vectorielle sous forme tabulaire, ce qui vous permet de consulter les valeurs attributaires, de trier la table et de modifier les valeurs à l’aide des outils de la barre supérieure.
Regardez les différentes colonnes de la table attributaire. Que représentent-elles ?
Essayez de trier la table attributaire en cliquant sur

Ouvrez les tables attributaires des couches
hotosm_tcd_health_facilities_points_gpkgettcd_admbnda_adm2_20250212_AB.shpet familiarisez-vous avec les données.Faites un clic droit sur chaque couche et sélectionnez
Tâche 5 : Joindre les données de couverture vaccinale aux limites administratives #
Dans notre dossier data/input/, nous trouvons un fichier csv nommé vaccination_coverage_adm2. Ce fichier contient la couverture vaccinale pour les vaccins mcv1 et mcv2. Heureusement, le jeu de données inclut le nom du district (amd2_name) ainsi que le pcode adm2. Grâce à ces informations, nous pouvons effectuer une jointure non spatiale afin d’ajouter les données de couverture vaccinale à notre couche des limites de district (adm2).
Attention
Les Pcodes administratifs sont bien adaptés aux jointures non spatiales dans QGIS, car ils fournissent des identifiants uniques et normalisés qui évitent les divergences de noms et garantissent une liaison de données fiable et précise.
Importez
vaccination_coverage_adm2dans votre projet QGIS :Dans la barre supérieure, allez à
Layer→Add Layer→Add Delimited Text Layer...À droite du champ
File name, cliquez sur les
trois points et accédez au fichier data/input/vaccination_coverage_adm2.csv, puis cliquez surOpen.Dans la fenêtre d’import, vous verrez un aperçu des données dans le champ des données d’exemple. Examinez les colonnes et les données disponibles. Quel type d’information est présent dans chaque colonne ?
Malheureusement, cette table de données ne contient pas de colonnes avec les coordonnées des structures de santé individuelles. Sous
Geometry Definition, sélectionnezNo geometry (attribute only table).Cliquez sur
Add. La couche apparaîtra dans l’onglet des couches comme une table de données, mais ne s’affichera pas dans le canevas cartographique.
Examinez plus en détail cette nouvelle table de couverture vaccinale :
Faites un clic droit sur la nouvelle couche et ouvrez la table attributaire. Quelles informations sont disponibles ? Comment la table est-elle structurée ? Nous pouvons voir que nous pouvons utiliser la colonne
ADM2_PCODEpour effectuer une [jointure non spatiale].
Dans la boîte à outils de traitements à droite, recherchez l’outil “Join attributes by key value” et double-cliquez dessus.
Une nouvelle fenêtre s’ouvre. Nous pouvons y définir les paramètres de l’outil
Join attributes by field value.Comme “Input layer”, sélectionnez la couche
tcd_admbnda_adm2_20250212_AB.Sous “Table field”, sélectionnez
ADM2_PCODE.Comme “Input layer 2”, sélectionnez
vaccination_coverage_adm2.Sous “Table field 2”, sélectionnez
adm2_pcode.Sous “Layer 2 fields to copy”, nous pouvons choisir les colonnes à copier. Cliquez sur les
trois points à droite du champ et sélectionnez vaccination_rate_mcv1etvaccination_rate_mcv2. Puis cliquez surOK.Enfin, pour exécuter l’algorithme, cliquez sur
Run.
Une nouvelle couche appelée “Joined Layer” apparaîtra dans le panneau des couches. À sa droite, vous verrez un symbole
. Ce symbole indique qu’il s’agit d’une couche temporaire de travail. Cela signifie qu’elle sera supprimée lorsque vous fermerez votre projet QGIS, même si vous enregistrez le projet.
Nous pouvons enregistrer la couche temporaire en faisant un clic droit dessus puis en sélectionnant
Make permament....Une nouvelle fenêtre s’ouvrira. Nous devons y préciser l’emplacement du fichier et le nom de la couche.
Laissez le
Formatsur “GeoPackage”.Cliquez sur les
trois points, accédez au dossier data/interim/et saisissez un nom de fichier tel quetcd_adm2_vacc_coverage. Cliquez surSave.Saisissez le même nom dans le champ
Layer name(ce sera le nom de la couche dans le panneau des couches).Laissez le reste inchangé puis cliquez sur
Ok.
Très bien ! Nous avons ajouté les informations de couverture vaccinale à notre couche adm2. Nous pouvons maintenant visualiser ces informations en appliquant une symbologie graduée à la couche.
Tâche 6 : Visualiser la couverture vaccinale #
Enregistrer votre progression
Pensez à enregistrer votre projet régulièrement pour conserver votre progression en cliquant sur
. QGIS est en constante évolution grâce à la communauté open source et il lui arrive de planter de temps en temps.
Maintenant que les informations de couverture vaccinale figurent dans notre couche adm2, nous pouvons les visualiser afin de comprendre leur répartition spatiale.
Ouvrez l’onglet de symbologie via la fenêtre des propriétés de la couche :
Faites un clic droit sur la couche
tcd_adm2_vacc_coverage→Properties.Accédez à “Symbology” dans les onglets à gauche.
Ici, nous pouvons changer la méthode de symbologie de
Single SymbolàGraduated.Ensuite, nous devons sélectionner la valeur qui sera utilisée pour la classification. Sous
Value, sélectionnez la colonnevaccination_rate_mcv1puis cliquez sur classify. Nous voulons utiliser le modeEqual Intervalavec 5 classes pour une première évaluation de la couverture vaccinale.
Capture d’écran de la variable vaccination_rate_mcv1 classée#
Tâche 7 : Enrichir le jeu de données des structures de santé #
Dans cette étape, nous voulons enrichir la couche contenant les structures de santé avec des données supplémentaires sur leur capacité. La couche tcd_healthsite_capacities.csv contient des informations sur la capacité en lits de l’unité de soins pédiatriques ainsi que sur la capacité de chaîne du froid. Ces informations sont utiles pour identifier la capacité du secteur de la santé à traiter les cas aigus de rougeole et à coordonner une campagne de vaccination.
Recueillir les informations sur les capacités
Dans un scénario réaliste, ces données pourraient avoir été collectées lors d’une évaluation rapide des structures de santé menée par le ministère de la Santé et des volontaires de la Croix-Rouge. Comme la collecte de données a été décentralisée et partiellement réalisée sur support papier, certains noms de structures diffèrent légèrement d’un jeu de données à l’autre (par ex. variantes orthographiques, abréviations). Lors des jointures, soyez attentif·ve à ce type d’incohérences.
Importons
tcd_healthsite_capacities.csvdans votre projet QGIS :Dans la barre supérieure, allez à
Layer→Add Layer→Add Delimited Text Layer...À droite du champ
File name, cliquez sur les
trois points et accédez au fichier data/input/tcd_healthsite_capacities.csv, puis cliquez surOpen.Dans la fenêtre d’import, vous verrez un aperçu des données dans le champ des données d’exemple. Examinez les colonnes et les données disponibles. Quel type d’information est présent dans chaque colonne ?
Malheureusement, cette table de données ne contient pas de coordonnées pour les structures de santé individuelles. Sous
Geometry Definition, sélectionnezNo geometry (attribute only table).Cliquez sur
Add. La couche apparaîtra dans votre onglet des couches sous forme de table de données, mais ne sera pas affichée dans le canevas cartographique.
Examinons plus en détail la table des capacités.
Faites un clic droit sur la couche et ouvrez la table attributaire.
Dans la barre supérieure, vous pouvez voir combien d’entrées contient le jeu de données (148 features)
La table de données contient une colonne appelée
name, qui contient le nom des structures de santé. Ces noms sont les mêmes que ceux stockés dans la couche ponctuelle des structures de santé importée précédemment.Cela signifie que nous pouvons joindre les deux tables à l’aide des valeurs attributaires de la colonne
name.
Dans la boîte à outils de traitements, recherchez l’outil
Join attributes by field valueet ouvrez-le par double-clic.Une nouvelle fenêtre s’ouvrira. Nous pouvons y définir les paramètres de l’outil
Join attributes by field value.Comme “Input layer”, sélectionnez la couche
hotosm_tcd_health_facilities_points_gpkg.Sous “Table field”, sélectionnez
name.Comme “Input layer 2”, sélectionnez
tcd_healthsite_capacities.Sous “Table field 2”, sélectionnez
name.Sous “Layer 2 fields to copy”, nous pouvons choisir les colonnes à copier. Cliquez sur les
trois points à droite du champ et sélectionnez cold_chain,measles_vaccination,measles_treatment,beds_total,pediatric_beds,staff_total, etremarks. Puis cliquez surOK.Enfin, pour exécuter l’algorithme, cliquez sur
Run.
Note
Après avoir exécuté l’algorithme, la fenêtre basculera vers l’onglet
Log. Vous pourrez y voir si l’algorithme a rencontré un problème. Dans notre cas, nous pouvons voir que 149 entités ont été jointes avec succès tandis que 183 n’ont pas pu être jointes. Cela se produit lorsque la valeur d’identification (table field) est absente de la colonne correspondante de la couche 2. Cela peut arriver soit parce que la donnée n’est pas disponible, soit à cause d’incohérences dans la valeur d’identification, comme des fautes de frappe ou des orthographes différentes.Après avoir consulté le
Log, nous pouvons fermer la fenêtre de l’outil. Une nouvelle couche appeléeJoined layerdevrait apparaître dans votre panneau des couches. Renommez-la enhealthsites_points_capacitieset déplacez-la tout en haut.
Nous disposons maintenant d’une nouvelle couche ponctuelle contenant les capacités des structures de santé pertinentes. Grâce à ces informations, nous pouvons créer une carte montrant les capacités du secteur de la santé.
Tâche 8 : Nettoyer les données des structures de santé #
Examinons la nouvelle couche que nous venons de créer, qui inclut les capacités des structures de santé, en ouvrant la table attributaire.
Faites un clic droit sur la couche puis ouvrez la table attributaire.
Dans la table attributaire, si vous faites défiler vers la droite, vous verrez les nouvelles colonnes contenant les informations ajoutées via l’outil “join attributes by field value”.
Triez la table attributaire selon les nouvelles colonnes. Comme vous pouvez le constater, toutes les entités ne disposent pas d’informations sur la capacité.
Nous pouvons retirer les structures de santé sans informations supplémentaires, puisqu’elles sont déjà disponibles dans le jeu de données d’origine.
Triez la colonne
beds_totalpar ordre croissant, de manière à faire apparaître les entités ayant une valeur “NULL” en haut.Cliquez sur le numéro de ligne à gauche et sélectionnez la première entité. Lorsqu’elle est sélectionnée, l’entité apparaît en bleu.
Faites ensuite défiler jusqu’à voir la première entité dont la valeur de la colonne
beds_totalest différente de “NULL”.Maintenez Shift et cliquez sur le numéro de la dernière ligne ayant la valeur NULL.
Dans la barre d’outils de la table attributaire, cliquez sur le bouton
Toggle Editing Modepour passer en mode édition.Ensuite, cliquez sur
Delete selected featurespour supprimer les points sans information de capacité.Cliquez sur
pour enregistrer et quitter le mode édition.Enregistrez la couche nettoyée des capacités des structures de santé en faisant un clic droit dessus puis en sélectionnant
Make permament.... Choisissez “Geopackage” comme format de sortie, enregistrez la couche dans le dossierdata/interim/et saisissez un nom de fichier commetcd_healthsites_points_capacities. Cliquez surSave.
Notre nouvelle couche ponctuelle des structures de santé n’inclut désormais que les structures pour lesquelles nous avons reçu des données supplémentaires.
Tâche 9 : Classifier les structures de santé #
Nous pouvons maintenant classifier les points représentant les structures de santé afin d’indiquer quelles structures disposent d’une chaîne du froid pour stocker les vaccins contre la rougeole.
Faites un clic droit sur
tcd_healthsites_points_capacitiespuis sélectionnezProperties. Une nouvelle fenêtre s’ouvrira.À gauche, accédez à l’onglet Symbology.
Au lieu de
Single Symbol, nous allons maintenant sélectionnerCategorisedcomme méthode de visualisation.Comme “Value”, sélectionnez
cold_chainEnsuite, cliquez sur
Classify.Si vous le souhaitez, vous pouvez ajuster la symbologie des classes en double-cliquant sur l’une d’elles.
Comme nous ne nous intéressons pas aux valeurs de
cold_chainégales à NULL, nous pouvons supprimer cette entrée de classification en la sélectionnant puis en cliquant sur le signe moins rouge juste à côté du boutonClassify.Cliquez sur
Apply, puis fermez la fenêtre des propriétés.Analysez la répartition des structures de santé ayant une valeur
cold_chainvraie.