Importation de données tabulaires
Site: | OpenCourseWare for GIS |
Cours: | QGIS pour l’analyse de la productivité de l’eau |
Livre: | Importation de données tabulaires |
Imprimé par: | Guest user |
Date: | mercredi 15 janvier 2025, 16:35 |
Table des matières
- 1. Introduction
- 2. Vérifier les tableaux et fichiers
- 3. Importer les tableaux
- 4. Convertir un tableau en une couche vecteur
- 5. Joindre les tables d'attributs
- 6. Modifier la table d'attributs jointe
- 7. Interpolation des points vers un raster
- 8. Contrôler la résolution et l’étendue du fichier en sortie
- 9. Ajuster le style et les étiquettes de la couche vecteur de points
- 10. Modifier le style des couches raster
- 11. Grouper, signets spatiaux, les thèmes de carte
1. Introduction
Les informations ou données sont souvent stockées dans des tableaux, tels que des feuilles de calcul Excel ou des fichiers CSV. De plus, il arrive parfois que les données soient fournies en deux tableaux distincts : l'un contenant les coordonnées et l'autre contenant les attributs nécessaires à l'analyse.
Dans cet exemple d'application, nous allons importer un tableau contenant les mesures de précipitation du 21 janvier 2009 provenant de plusieurs stations météorologiques en Algérie. Ces données ont été téléchargées à partir de la base de données GHCN.
Après cette leçon, vous serez en mesure de :
- importer des données tabulaires dans un SIG
- sauvegarder les tableaux contenant la géométrie dans un format SIG
- joindre les tables d'attributs
- éditer les tables d'attributs
- interpoler les données de points vers les rasters
- ajuster le style et l’étiquetage des vecteurs points
- ajuster le style des rasters continus
Cette leçon suivra le déroulement suivant :
Nous utiliserons les fichiers suivants :
precipitation.csv
– Ce fichier contient les données de précipitation totale journalière pour le 21 janvier 2009, provenant de plusieurs stations météorologiques en Algérie.stations.csv
– Ce fichier contient le numéro de la station ainsi que les coordonnées géographiques de l'emplacement des stations météorologiques.
2. Vérifier les tableaux et fichiers
Il est toujours recommandé de vérifier le contenu des feuilles de calcul ou des fichiers texte délimités avant de les importer dans un logiciel. Pour les fichiers CSV, par exemple, il est important de connaître le séparateur de colonnes.
Ouvrez le fichier precipitation.csv et stations.csv dans Notepad et vérifiez le contenu.
- Quel symbole est utilisé comme séparateur de colonnes dans ces fichiers ?
- Dans lequel des deux fichiers se trouvent les coordonnées des stations météo ?
- Quel système de coordonnées est employé pour les coordonnées des stations météo ?
- Quel est le code EPSG du système de coordonnées utilisé ?
3. Importer les tableaux
Il existe plusieurs méthodes pour importer des données tabulaires dans QGIS:
- Couche | Ajouter une couche | Ajouter une couche de texte délimité. Il s'agit de l'importateur standard qui nous permet d'importer des fichiers en texte délimités.
- Couche | Ajouter une couche | Ajouter
une couche feuille de calcul. Cet outil peut charger des fichiers de
tableur (
*.ods, *.xls, *.xlsx
) en tant que couche avec des options pour utiliser la première ligne comme en-tête, ignorer les lignes, et charger la géométrie des champs x et y.
La seconde méthode requiert l'extension ‘Spreadsheet Layers’.
Dans cet exercice, nous utiliserons la première méthode, car nous travaillons avec des fichiers CSV.
1. Démarrez QGIS Desktop.
2. Choisissez Couche | Ajouter une couche | Ajouter une couche de texte délimité… à partir du menu principal.
stations.csv
).4. Remplissez la fenêtre de dialogue comme indiqué dans la figure ci-dessous. Assurez-vous que les bons champ X, champ Y et le bon SCR de la géométrie sont choisis (notez que le code EPSG indiqué ici doit correspondre au système de coordonnés utilisé dans le fichier CSV !). Indiquez également le types de données correctes pour les champs.
5. Une fois que vous cliquez sur Ajouter, une carte avec les stations météorologiques s'affiche.
6. Cliquez Fermer pour fermer la fenêtre.
Si vous ne voyez pas la carte, vous devez probablement faire un zoom sur l'étendue de la carte. Cliquez avec le bouton droit de la souris sur le nom de la couche stations et choisissez Zoomer sur la couche.
7. Ajoutez le tableau avec les données de température de la même manière. Comme il n'y a pas de géométrie (coordonnées) dans le tableau, nous devons sélectionner l’option : Pas de géométrie (juste la table).
Vous avez maintenant importé les deux feuilles de calcul dans QGIS !
Afin de vérifier que les points sont bien situés dans la zone attendue (en Algérie), nous allons ajouter un fond de carte de OpenStreetMap.8. Dans la fenêtre Explorateur, cliquez sur le triangle noir a cote de XYZ Tiles afin de visualiser les options. Selectionnez la couche OpenStreetMap et faites la glisser vers la canevas de carte.
9. Dans le panneau Couches, faites glisser la couche des stations vers le haut de la liste afin de pouvoir visualiser les stations avec le fond de carte OpenStreetMap en arrière plan.
Souvenez-vous que pour aider à la visualisation, le bon ordre des couches dans le panneau de Couches est (de haut en bas) : points, lignes, polygones et rasters.
4. Convertir un tableau en une couche vecteur
Maintenant, le tableau des stations est sauvegardé comme une couche virtuelle temporaire. Pour un traitement ultérieur, nous devons d'abord la convertir en un format vecteur SIG. Dans ce cas, nous la convertirons vers un shapefile.
Nous ne nous intéressons qu'aux stations situées dans le Nord de l’Algérie, donc nous n'allons exporter qu'une partie des points.
1. Dans la barre d’outils, cliquez .2. Créez un rectangle de sélection contenant les stations du Nord de l’Algérie que vous souhaitez sélectionner en faisant glisser la souris.
Les points sélectionnes apparaissent maintenant en jaune et les points qui ne font pas partie de la sélection restent de la couleur assignée par défaut.
Nous pouvons maintenant exporter les points sélectionnes en tant que shapefile.
3. Cliquez droit sur la table des stations et choisissez Exporter | Sauvegarder les entités sélectionnées sous....4. Dans la fenêtre de dialogue, utilisez le bouton pour naviguer vers le bon dossier afin d'enregistrer le fichier sous le nom
stations.shp
. Afin
de changer la projection vers la projection locale algérienne, choisissez Nord
Sahara 1959 / Nord Algerie dans le SCR en cliquant sur l'icône . Conseil
: utilisez le champ Filtre pour rechercher le code EPSG 30791
.Vous remarquez ici l'avantage d'utiliser les codes EPSG : ils fournissent des codes standard pour chaque projection. Il est utile de déterminer le code EPSG de la projection que vous souhaitez utiliser pour votre projet.
5. Cliquez sur OK. Le dialogue ressemble maintenant à la figure ci-dessous (cochez également la case Ajouter le fichier enregistré à la carte et assurez-vous que le format ESRI Shapefile est choisi comme Format).
6. Cliquez sur OK pour continuer.
7. Une fenêtre popup apparaîtra pour vous indiquer que différentes transformations sont possibles. Ici, gardez toujours l’option sélectionnée par défaut à moins que vous n’ayez des besoins spécifiques. Cliquez sur OK pour fermer la fenêtre.
8. Supprimez la table des stations de la liste des couches en cliquant avec le bouton droit de la souris et en sélectionnant Supprimer la couche. Cliquez sur OK pour confirmer. Assurez-vous de supprimer la bonne couche. Si vous flottez votre curseur sur la couche, le nom du fichier s'affichera. Avec l'option Supprimer la couche, vous ne faites que la supprimer de la liste des couches, le fichier sera toujours sur votre disque dur.
Bien que la couche
stations.shp
soit
dans la projection EPSG:30791 (Nord Sahara 1959 / Nord Algerie), le Canevas de
carte de QGIS est en projection EPSG:4326 (lat/lon WGS 84). Ce dernier a reprojeté la couche stations.shp
à la volée pour la
visualisation. Afin de visualiser toutes les couches dans l'EPSG 30791, il est
nécessaire de modifier les propriétés du projet QGIS.9. Dans le menu principal choisissez Project | Propriétés.
10. Choisissez l'onglet Système de Référence des Coordonnées (SCR).
11. Dans la liste des Système de Référence des Coordonnées récemment utilisés, choisissez EPSG:30791 et cliquez sur OK.
Une autre façon de définir le SCR du projet à celui de la couche, est de faire un clic droit sur la couche et de choisir Définir le SCR | Définir le SCR du projet depuis cette couche dans le menu contextuel.
Notez que la projection du projet est indiquée en bas à droite de l'écran : . Vous pouvez toujours y vérifier si le code EPSG est correct. C'est également un bouton sur lequel vous pouvez cliquer pour aller dans l'onglet Propriétés du projet | CRS et modifier la reprojection à la volée.5. Joindre les tables d'attributs
L'emplacement
des stations météorologiques et les données de pluviométrie sont dans des
tables séparées. Pour une analyse plus approfondie, nous devons les combiner en
un seul fichier vecteur. La terminologie de cette opération dans les SIG,
s'appelle une jointure. Nous ne pouvons joindre les tables que si
elles ont une colonne en commun.
1. Vérifiez la table des attributs de stations (cliquez avec le bouton droit de la souris sur stations et choisissez Ouvrir la table d'attributs) et de la même manière, vérifiez la table des precipitation.
2. Confirmez que les champs ID et station sont l'attribut commun entre les deux tables, comme nous l'avions conclu auparavant en consultant les feuilles de calcul originales.Après avoir déterminé quelle colonne les deux tableaux ont en commun, nous pouvons joindre les données du tableau des precipitation aux attributs de notre shapefile
stations.shp
.3. Fermez
d'abord les tables d'attributs.
4. Ensuite, faites un clic droit sur stations et choisissez Propriétés.
5. Dans la boîte de dialogue, choisissez le bouton Jointures .
6. Cliquez sur le bouton et vérifiez si la boîte de dialogue ressemble à la figure ci-dessous.
Notez que le champ en commun
est Station
et ID
(le numéro de la station). Nous joignons uniquement le champ de
précipitation et nous donnons à la colonne le préfixe P_
.
7. Cliquez
sur OK.
8. Cliquez sur OK pour effectuer l'opération de jointure.
9. Vérifiez à nouveau la table des attributs de stations. Que s'est-il passé ?
Nous pouvons cependant sauvegarder la nouvelle table d’attributs dans un nouveau shapefile.
10. Dans le panneau Couches, cliquez-droit sur la couche des stations et choisissez Exporter| Sauvegarder les entités sous… depuis le menu. Enregistrez le fichier sous le nom :
stations_precipitation.shp
.11. Retirez maintenant les couches stations et précipitations du panneau Couches et vérifiez la table des attributs du fichier stations_precipitation.
- Que remarquez-vous ?
6. Modifier la table d'attributs jointe
La table d'attributs jointe nécessite un correction :
les entités qui manquent de données doivent être supprimées.
1. Dans la table des attributs de stations_precipitations cliquez pour ouvrir la fenêtre de dialogue : Sélection par expression.
2. Dans la fenêtre Sélection par expression, développez le champ du milieu Champs et Valeurs en cliquant sur le triangle noir.
3. Double-cliquez sur l’attribut P_2009-01-21 pour l’ajouter à l’expression.
4. Complétez l’expression en ajoutant IS NULL.
L’expression est maintenant :
"P_2009-01-21"
IS NULL
5. Cliquez sur Sélectionner des entités. Fermer le dialogue.
- Inspectez le résultat. Quelles entités ont été sélectionnées ?
Notez que les points sélectionnés apparaissent en
jaune sur la carte.
6. Dans la table d'attributs, cliquez sur le bouton au-dessus du tableau pour basculer en mode édition.
7. Cliquez sur l'icône (dans la barre d'outils au-dessus de la table d'attributs) pour supprimer les entités comportant des données manquantes. Dans la fenêtre popup qui apparait, confirmez que vous souhaitez supprimer ces points.
8. Enregistrez la table des attributs en cliquant sur .
9. Vérifiez maintenant le résultat dans la table des attributs.
10. Cliquez sur le bouton pour sortir du mode d'édition. Cliquez sur Enregistrer pour enregistrer les modifications et fermez la table d'attributs. Si vous avez fait une erreur, n'enregistrez pas, mais choisissez plutôt Ne pas tenir compte pour annuler tous les changements depuis la dernière sauvegarde.
7. Interpolation des points vers un raster
La dernière tâche consiste à interpoler les valeurs de
précipitation vers une nouvelle couche raster.
Dans le menu, choisissez Raster | Analyse | Grille
(Plus proche voisin).
2. Dans le dialogue, spécifiez le fichier de sortie : precipitation_NN.tif
en utilisant la fenêtre de navigation et en
spécifiant le format .tif
.
3. Sélectionnez P_2009-01- comme Valeur Z du
champ. C'est ce champ que nous utiliserons pour l'interpolation pour
obtenir ce que l'on appelle des Polygones de Thiessen.
4. Cochez la case Ouvrir le fichier en sortie après
l'exécution de l'algorithme.
Pour le reste de la fenêtre de dialogue, conservez les
valeurs par défaut. La boîte de dialogue devrait maintenant ressembler à la
figure ci-dessous.
5. Cliquez sur Exécuter pour continuer.
6. Cliquez sur Fermer pour fermer la boîte de dialogue.
7. Répétez maintenant l'opération d'interpolation en
utilisant l'algorithme Inverse de la distance à une puissance (IDW) (Raster
| Analyse| Grille (Inverse de la distance à une puissance). Appelez le
fichier de sortie preciptitation_IDW.tif
.
8. Contrôler la résolution et l’étendue du fichier en sortie
Vous avez peut-être remarqué que dans les étapes précédentes, vous n'avez pas pu choisir ni la résolution ni l'étendue du fichier créé lors de l'opération d'interpolation. Dans cette section, vous apprendrez à définir par vous-même les propriétés des fichiers raster créés en sortie.
Pour l’interpolation IDW, suivez les étapes
ci-dessous :
1. Ouvrez la Boite
à outils de traitements en cliquant sur .
2. Cherchez ‘IDW’ dans la barre de recherche et choisissez Interpolation | Interpolation IDW.
3. Dans la fenêtre de dialogue Interpolation IDW, choisissez stations_precipitation comme Couche vectorielle, P_2009-01- comme Attribut d’Interpolation et cliquez . Vous pouvez ainsi ajouter des attributs d’autres couches à la liste et les utiliser pour l’interpolation.
4. Sous Emprise, vous pouvez sélectionner l’étendue de la zone que vous voulez interpoler. Vous pouvez utiliser l’étendue de carte visible, dessiner une zone, ou choisir une couche comme référence.
5. Sous Taille du raster résultat vous pouvez définir la Taille du pixel en X et Taille du pixel en Y. Par exemple 5000 x 5000 mètres.
6. Choisissez un nom de fichier de sortie, cliquez Exécuter
puis Fermer.
Pour les polygones de Thiessen, l’opération est un peu
plus compliquée.
7. Dans la Boite à outils de traitements cherchez GDAL | Grid (Plus proche voisin).
8. Choisissez stations_precipitation comme Couche de point et P_2009-01- comme Valeur Z du champ.
9. Sous Paramètres avancés, entrez une expression du format suivant:
-txe
<x-minimum> <x-maximum> -tye <y-minimum> <y-maximum> -tr
<xres> <yres>
Les arguments entre les <> doivent être remplaces par des valeurs:
<x-minimum>
: coordonnée x minimum de l’étendue<x-maximum>
: coordonnée x maximum de l’étendue<y-minimum>
: coordonnée y minimum de l’étendue<y-maximum>
: coordonnée y maximum de l’étendue<xres>
et<yres>
: résolution du raster de résultat
-txe
, -tye
et -tr
viennent de la commande gdal_grid
. Vous pouvez trouver la documentation ici:
https://gdal.org/programs/gdal_grid.html.10. Sauvegardez le fichier en tant que GeoTIFF.
11. Cliquez sur Exécuter et Fermer.
9. Ajuster le style et les étiquettes de la couche vecteur de points
Pour donner un sens aux interpolations, nous devons
ajuster le style des couches.
1. Faites glisser la couche stations_precipitation
de sorte qu'elle soit positionnée au-dessus des couches raster precipitation_NN
et precipitation_IDW dans le Panneau des couches.
2. Ouvrez le Panneau de style des couches en cliquant sur le bouton . Définissez la couche cible comme stations_precipitation.
3. Sélectionnez Symbole simple et choisissez le noir comme couleur de remplissage et la taille sur 2,8 mm.
4. Maintenant modifiez le style, passez de Symbole Unique à Gradué. Pour Valeur choisissez le champ P_2009-01- .
5. Choisissez la Palette de couleur bleue (Blues).
6. Comme Mode choisissez Nombre égal (Quantile) et 5 classes. Testez d’autres réglages et choisissez ceux qui vous paraissent produire le meilleur résultat.
La représentation (style) des points est maintenant basée sur la quantité de précipitation.
Ajoutons des étiquettes.7. Sélectionnez à l'onglet Étiquettes du Panneau de style des couches. Passez de l'onglet Pas d'étiquettes à l'onglet Étiquettes simples.
8. Définissez l'option Valeur avec le champ NAME.
Nous allons maintenant ajouter la quantité de précipitation a l’étiquette et retirer ‘, Ag’ des noms. Nous pouvons faire ceci à l’aide d’une expression.
9. Cliquez sur le bouton Expression pour ouvrir la fenêtre Calculatrice d'expression.
10. Entrez maintenant l’expression suivante :
regexp_replace("NAME",',
AG', '') || '\n' || "P_2009-01-" || ' mm'
Ceci signifie :
regexp_replace
: cette fonction remplace une chaine de caractères (texte). Ici nous utilisons le champNAME
comme entrée. Les champs sont toujours entre des guillemets doubles et vous pouvez les ajouter à une expression en double-cliquant dans le champ du milieu sous Champs et Valeurs. Après la virgule, entrez le texte que vous voulez remplacer entre guillemets simples, ici c’est :', AG'
. Entrez une autre virgule puis le texte que vous souhaitez insérer à la place du texte à remplacer. Ici, comme nous souhaitons simplement supprimer une partie du texte, nous entrons deux guillemets simples ce qui signifie : ne rien insérer à la place du texte à remplacer.-
||
: ce symbole permet d’ajouter une autre chaine de caractères ou fonction qui produira une chaine de caractères et sera concaténée à la précédente. '\n'
:
passe à la ligne suivante"P_2009-01-"
: représente le champ contenant les données de précipitations. La valeur numérique sera donc insérée ici.' mm'
est ajouté pour l’unité. Notez l’espace avant l’unité pour respecter les conventions de notation SI.
Notez la partie Prévisualisation de la fenêtre de dialogue qui vous permet de voir un exemple du résultat de votre expression.
11. Cliquez OK vérifiez le résultat.
Nous pouvons faire encore mieux !
Les noms sont tous en majuscules, nous allons les convertir pour ne garder que les premières lettres en majuscule.
12. Retournez au Calculateur d’Expressions.
13. Utilisez la fonction
title
autour de la partie de
l’expression qui produit le nom de la station météorologique :title(regexp_replace("NAME",',
AG', '')) || '\n'
|| "P_2009-01-" || '
mm'
14. Cliquez OK vérifiez le résultat.
15. Pour centrer le texte de l'étiquette, passez à l'onglet Formatage de l'étiquette et réglez l'Alignement sur Centré.
16. Passez à l’onglet Texte et réglez la Police sur Calibri avec un Style de Gras (Bold) et une Taille de 10 points.
17. Passez à l'onglet Tampon et cochez l'option Affichez un tampon. Réglez l'Opacité à 50%.
18. Pour donner plus de séparation entre les étiquettes et l'icône de l'élément, passez à l'onglet Position de l'étiquette et réglez la Distance à 2 mm.
Nous pouvons faire encore mieux !
Essayons de n'afficher les données pluviométriques qu'avec une seule décimale en utilisant une expression.
19. Modifiez l’expression de l’étiquette de manière à ce que les données de précipitations aient une seule décimale.
Indice : utilisez la fonction format_number et vérifiez la documentation de cette fonction dans le panneau droit du Calculateur d’Expressions afin connaitre ses arguments.10. Modifier le style des couches raster
Vous allez maintenant vous focaliser sur les deux
rasters interpolés.
1. Commencez par faire de la couche precipitation_NN la couche cible dans le Panneau de style des couches.
2. Changez le moteur de rendu de Bande grise unique par défaut à la Pseudocouleur à bande unique.
Pour les rasters continus, nous utilisons le moteur de
rendu Pseudocouleur à bande unique. Bien que les polygones de Thiessen dans la
couche precipitation_NN semblent discrets, les pixels ont des nombres
réels, ce qui n'est pas possible pour les rasters discrets.
3. Pour la Palette de couleur, choisissez Blues. Cliquez sur Classifier.
4. Afin de voir la carte de base, vous pouvez appliquer un mode de fusion. Dans la section Rendu de couche, choisissez Multiplier pour le Mode de fusion. Assurez-vous que la couche OpenStreetMap se trouve en dessous de la couche precipitation_NN dans le panneau Couches.
Votre carte doit ressembler à la figure ci-dessous.
5. Ensuite, désactivez la couche precipitation_NN et activez la precipitation_IDW. Utilisez le Panneau de style de couche pour attribuer un style à cette couche en utilisant le rendu Pseudocouleur à bande unique avec la même palette de couleur. Cette fois-ci, mettez le Mode sur Quantile. Appliquez également un Mode de fusion de multiplication à ce raster.
Votre carte devrait maintenant ressembler à la figure
ci-dessous.
- Quelle est la meilleure méthode d’interpolation ?
11. Grouper, signets spatiaux, les thèmes de carte
Pour mieux présenter les résultats lors des discussions et des partages entre collègues, il est utile de :
- Organiser vos couches en groupes
- Créer des signets spatiaux
- Utiliser les thèmes de carte
Commençons par organiser nos résultats par groupe.
1. Dans le panneau Couches,
sélectionnez precipitation_IDW et precipitation_IDW_5km. Utilisez
la touche ctrl
de votre clavier pour
sélectionner les deux.
2. Cliquez droit sur la sélection et choisissez Grouper la selection depuis le menu.
3. Entrez IDW comme nom de groupe.
4. Répétez cette opération pour les couches de polygones de Thiessen et nommez le groupe Thiessen.
Vous pouvez développer et comprimer les groupes pour garder une bonne vue d’ensemble dans le panneau de couches. Vous pouvez aussi sortir/ajouter des couches du groupe en les faisant glisser.
Nous allons maintenant afficher des combinaisons de couches pour la discussion au sujet des différences entre les différentes méthodes d’interpolation, en affichant le stations au-dessus. Pour ceci nous devons créer des thèmes de carte.5. Assurez-vous que stations_precipitation, precipitation_IDW_5km et OpenStreetMap sont les seules couches visibles (cases cochées dans le panneau de Couches).
6. Cliquez Gérer les themes de carte et sélectionnez Ajouter un thème….
7. Nommez le thème IDW et cliquez OK.
8. Mainteant desactivez precipitation_IDW_5km et activez precipitation_NN_5km.
9. Retournez sous Gérer les themes de carte et sélectionnez Ajouter un thème….
10. Nommez le thème Thiessen et cliquez OK.
11. Allez d’un thème à l’autre et inspectez les résultats.
Une autre fonctionnalité intéressante s’appelle Signets spatiaux. Elle est utile lorsque l’on veut zoomer sur une zone prédéfinie.
12. Zoomez sur la zone autour d’Alger.
13. Dans la barre d’outils cliquez .
14. Appelez le marque pages Alger. Appelez le Groupe Villes d’Algérie.
15. Cliquez Étendue du canevas de carte. Il est aussi possible de choisir une couche avec les limites d’une zone d’étude par exemple.
Vous pouvez choisir de stocker les Signets spatiaux dans votre projet (Signets du projet) ou votre profil (Signets utilisateurs). Ici nous n’avons besoin des Signets spatiaux que pour notre projet.
16. Choisissez Enregistré dans : Signets du projet.
17. Cliquez Enregistrer.
18. Répétez l’opération pour d’autres villes d’Algérie.
19. Dans le panneau Explorateur, naviguez à Signets spatiaux et développez Signets du projet et Villes d’Algérie.
20. Double cliquez sur les marques pages et observez ce qui se passe.
Vous pouvez maintenant montrer des combinaisons de couches à un niveau de zoom et lieu spécifique de façon efficace en utilisant une combinaison de Signets spatiaux et de thèmes de carte. Ceux-ci peuvent aussi être utilisés dans les paramètres de Mise en page pour les fonds de carte.