Retour : Page Principale > Sommaire fonctionnement > Alexandre Galibert
Il faut installer en plus le plugin Simple SVG depuis la liste des dépôts dans les extensions Python :
Il faut ensuite déplacer le champ qui vient d'être construit en première position dans la table attributaire. Comme il n'est pas possible de le faire directement depuis la boîte de dialogue "Table des attributs", il faut passer par un gestionnaire de structure des tables attributaires. C'est le plugin TableManager qui permet de faire cela. N'étant pas installé par défaut, il faut le télécharger depuis les dépôts dans le gestionnaire d'extensions.
Le nom du programme à lancer est grass64. Lors de son premier chargement, le logiciel demande de définir un nouveau secteur.
Pour visualiser graphiquement les données spatiales :
La première étape est de supprimer les petites îles
La seconde étape est d'appliquer un nouveau filtre de simplification
Tutoriel QGIS : générer une grille sur un pays
Installer Quantum GIS (QGIS)
Les paquets suivants sont à installer dans le gestionnaire de logiciels pour effectuer tous les traitements nécessaires :- qgis : l'interface graphique du SIG qui offre les fonctionnalités de base :
- lecture/édition/sauvegarde shapefiles, images raster, bases de données, données géoréférencées
- mise en forme de cartes
- qgis-python : librairie qui offre les outils pour effectuer des traitements et opérations sur des données vectorielles
Il faut installer en plus le plugin Simple SVG depuis la liste des dépôts dans les extensions Python :
- Menu Extension > Installateur d'extensions Python
- Dans la fenêtre "Installateur d'extensions Python de Qgis" :
- onglet "Dépôts", cliquer sur "Ajouter un dépôt-tiers d'extension à la liste"
- retourner dans l'onglet "Extensions", filtrer avec le mot "simple", sélectionner " SimpleSvg" puis cliquer sur le bouton "Installer l'extension"
- Menu Extension > Gestionnaire d'extensions
- Cocher l'extension "Extension de requête spatiale"
- L'extension est maintenant accessible dans le menu "Extension"
Quelles données utiliser ?
On a besoin des fichiers shapefiles sur les unités administratifs des pays afin d'obtenir le contour des pays, régions, et si possible départements. Les données que j'ai utilisé proviennent du site de DIVA-GIS (http://www.diva-gis.org/gdata). Les fichiers téléchargés sont dans des archives zippées et décrivent plusieurs niveaux de l'échelle administrative d'un pays :- CODEPAYS_ADM_0 : limites du pays
- CODEPAYS_ADM_1 : limites des régions
- CODEPAYS_ADM_2 : limites des départements
Charger les limites administratives
Pour charger des fichiers shapefile dans QGIS, il faut :- aller dans le menu Couche > Ajouter une couche vecteur...,
- sélectionner dans la fenêtre qui vient de s'ouvrir "Fichier" comme type de source
- cliquer sur "Parcourir" pour aller chercher le fichier shapefile correspondant au niveau départemental (téléchargé précédemment)
Une zone tampon autour du pays
La zone tampon qui va être créée va étendre la couverture de la zone à partir de laquelle sera générée la grille. Elle introduit une marge pour éviter que la limite de l'emprise du territoire touche le bord du SVG. Pour créer la zone tampon, il faut :- aller dans le menu Vecteur > Outils de géotraitement > Tampon(s),
- dans la boîte de dialogue "Tampon(s)" :
- entrer une valeur d'angle en degrés (j'ai pris 0,15° pour les tests)
- cocher l'option "Union des résultats du tampon".
- indiquer un "Fichier de sortie (shapefile)" nommé "tampon.shp"
- cliquer sur "OK" pour générer le fichier.
- Une fois l'opération terminée, ajouter la nouvelle couche à la liste en cours
- Dans le menu "Couches", déplacer la couche pour qu'elle se retrouve sous les deux couches existantes
Générer une grille sur l'étendue de la zone tampon
Pour générer une grille sur l'ensemble de l'espace d'un pays, on va aller dans :- menu Vecteur > Outils de recherche > Grille vecteur,
- dans la boîte de dialogue "Grille vecteur"
- sélectionner la couche tampon comme couche de référence.
- cliquer sur "Mettre à jour l'étendue depuis la couche". Cela calcule automatiquement depuis l'étendue de la couche tampon les coordonnées (x,y) délimitant l'espace que va recouvrir la grille.
- dans "Paramètres", indiquer une valeur pour X et Y de 0,1°.
- indiquer un "Fichier de sortie (shapefile)" nommé "grille"
- cliquer sur "OK" pour générer le fichier.
- Une fois l'opération terminée, ajouter la nouvelle couche à la liste en cours
- Dans le panneau "Couches", sélectionner la couche "grille"
- un clic droit permet d'accéder au menu contextuel, où il faut sélectionner "Propriétés"
- dans la boite de dialogue "Propriétés de la couche", onglet "Style" :
- sélectionner dans le slider "Transparence" la valeur 50%
Supprimer les carrés de la grille en dehors des limites terrestres du pays
On va dans un premier temps sélectionner automatiquement tous les carrés qui ne possèdent pas une partie commune avec une partie de l'espace du pays. Pour cela :- sélectionner le menu Extension > Requête spatiale > Requête spatiale,
- dans la boîte de dialogue "Requête spatiale", effectuer la sélection suivante :
- "Sélection des entités sources depuis" : grille,
- "Où l'entité (Opérateur)" : intersecte (intersection),
- "Entités références de" : régions,
- "Et utiliser le résultat pour" : "Créer une nouvelle sélection"
- cliquer sur "Appliquer"
- Cela va créer une sélection où tous les carrés recouvrant l'espace du pays seront mis en avant dans une autre couleur.
- Dans le panneau "Couches", sélectionner la couche "grille"
- un clic droit permet d'accéder au menu contextuel, où il faut sélectionner "Basculer en mode édition"
- un nouveau clic droit permet d'accéder au menu contextuel, où il faut sélectionner "Ouvrir la table des attributs"
- dans la boite de dialogue "Attribue table - grille " :
- appuyer sur le bouton Inverser la sélection (le 3ème bouton à partir de la gauche en bas, une infobulle doit s'afficher au survol)
- puis appuyer sur le bouton Supprimer les entités sélectionnées (le bouton croix blanche sur fond rouge).
- sélectionner le menu Couche > Sauvegarder les modifications pour sauvegarde les modifications
- Dans le panneau "Couches", sélectionner la couche "grille"
- un clic droit permet d'accéder au menu contextuel, où il faut sélectionner "Basculer en mode édition" pour sortir du mode édition.
- sélectionner le menu Vue > Sélections > Désélectionner toutes les entités
Appliquer un style aux couches
Pour modifier l'apparence des couches et faire un rendu plus joli pour l'export, il faut :- ouvrir la boîte de dialogue "Propriétés" depuis le menu contextuel de la couche.
- dans l'onglet "Style" de la boite de dialogue, on peut changer les couleurs et styles du remplissage et de la bordure en cliquant sur le bouton Modification.... Une fois les couleurs et styles définis
- valider les modifications du style.
Générer un identifiant pour chaque maille
Il est préférable que l'identifiant des formes géométriques qui vont représenter les mailles dans le fichier SVG contiennent les coordonnées de leurs limites ouest, sud, est et nord. Il faut basculer en mode édition pour mettre à jour les données attributaires de la couche grille.- Dans le panneau "Couches", sélectionner la couche "grille"
- un clic droit permet d'accéder au menu contextuel, où il faut sélectionner "Basculer en mode édition"
- un nouveau clic droit permet d'accéder au menu contextuel, où il faut sélectionner "Ouvrir la table des attributs"
- dans la boite de dialogue "Attribue table - grille " :
- Appuyer sur le bouton Nouvelle colonne (le 3ème bouton à partir de la droite en bas à gauche).
- Dans la boîte de dialogue "Ajouter une colonne" :
- Dans cette fenêtre, donner un nom à la nouvelle colonne dans le champ "Nom" (id_grille par exemple)
- Choisir comme type Texte (chaîne de caractères) dans le champ "Type"
- Définir à 50 la longueur maximale des chaînes de caractères dans le champ "Largeur"
- Cliquer sur "OK"
- Pour générer les identifiants, cliquer sur le bouton Ouvrir la calculatrice de champs (le premier bouton à partir de la droite en bas à gauche).
- Dans la boîte de dialogue "Calculatrice de champ" :
- Cocher la case "Champ de mise à jour existant"
- Sélectionner dans la liste en haut à droite le champ id_grille
- Taper dans le Champ "Expression de la calculatrice de champ" le texte suivant : to string ( XMIN) + '_' + to string ( YMIN) + '_' + to string ( XMAX) + '_' + to string ( YMAX)
- Cliquer sur OK pour mettre à jour la valeur de la colonne pour chaque maille.
- Dans le panneau "Couches", sélectionner la couche "grille"
- un clic droit permet d'accéder au menu contextuel, où il faut sélectionner "Basculer en mode édition" pour sortir du mode édition.
Il faut ensuite déplacer le champ qui vient d'être construit en première position dans la table attributaire. Comme il n'est pas possible de le faire directement depuis la boîte de dialogue "Table des attributs", il faut passer par un gestionnaire de structure des tables attributaires. C'est le plugin TableManager qui permet de faire cela. N'étant pas installé par défaut, il faut le télécharger depuis les dépôts dans le gestionnaire d'extensions.
- Menu Extension > Installateur d'extensions Python
- Dans la fenêtre "Installateur d'extensions Python de Qgis" :
- onglet "Dépôts", cliquer sur "Ajouter un dépôt-tiers d'extension à la liste"
- retourner dans l'onglet "Extensions", filtrer avec le mot "simple", sélectionner " TabeManager" puis cliquer sur le bouton "Installer l'extension"
- Menu Extension > Gestionnaire d'extensions
- Cocher l'extension "Table Manager"
- L'extension est maintenant accessible dans le menu "Extension"
- Sélectionner la couche "grille" dans le panneau "Couche" en cliquant dessus
- Aller dans le menu Extension > Table > Gestionnaire de table
- Dans la boîte de dialogue "Gestionnaire de table" :
- Sélectionner le champ "id_grille" en cliquant dessus
- Appuyer sur le bouton "Vers le haut" jusqu'à ce qu'il se retrouve en première position
- Appuyer sur enregistrer pour appliquer les modifications.
- A la fin de l'enregistrement, il demande de conserver l'ancien style des formes géométriques. Appuyer sur "Oui"
Sauvegarder les couches dans un autre système de projection
Les données spatiales utilisent actuellement le système de projection Mercator WGS84. De plus on utilise comme unité de mesure les degrés pour noter les coordonnées des points dans ce système de projection, ce qui entraîne des déformations au niveau de l'affichage des formes lorsqu'on s'éloigne de l'Équateur. On va transformer les données en les reprojetant dans le système de projection WGS84/Pseudo Mercator, qui décrit les coordonnées des points en mètres. Pour chaque couche :- clic droit sur la couche et sélectionner "Sauvegarder sous..."
- Dans la fenêtre "Enregistrer la couche vectorielle sous..." :
- indiquer le chemin vers un nouveau fichier à sauvegarder dans "Sauvegarder sous", nommé : departements ou regions...
- sélectionner "Selected CRS" à la place de "Layer CRS"
- cliquer sur le bouton "Parcourir" et dans la liste déroulante choisir le système de projection WGS84/Pseudo Mercator (EPSG 3857) dans la fenêtre "Propriété du projet".
Installer et démarrer GRASS
La simplification du contour des départements nécessite des fonctions très complexes et performantes qui sont du domaine de l'analyse spatiale. Ce que QGIS peut apporter dans ce domaine est très limité, ses fonctions principales sont la mise en forme de données spatiales, l'édition des propriétés des objets et les opérateurs spatiaux de base. Le logiciel SIG GRASS est par contre spécialisé dans le traitement de données spatiales et offre de nombreux outils d'analyse. Il est aussi plus difficile à prendre en main. Les paquets à installer pour faire fonctionner GRASS sont les suivants :- grass
- wxPython pour l'interface graphique
Le nom du programme à lancer est grass64. Lors de son premier chargement, le logiciel demande de définir un nouveau secteur.
- Cliquer sur assistant de création de secteur
- Dans la boîte de dialogue "Définir un nouveau secteur GRASS" :
- Sélectionner le répertoire de données où se trouve les shapefiles
- donner le nom du secteur du projet
- cliquer sur "Suivant"
- Cocher "Sélectionner le code EPSG du système de coordonnées de référence" puis cliquer sur "Suivant"
- Dans le champ "Code EPSG", saisir 4326 puis cliquer sur "Suivant"
- Cliquer su "Finir"
- Une boîte de dialogue demande de modifier les limites définies par défaut. Cliquer sur "Oui".
- Dans la nouvelle fenêtre définir les limites en degrés du monde (90° Nord, 180° Est, -90° Sud, -180° Ouest)
- Sélectionner le secteur créé puis cliquer sur "Démarrer GRASS"
Simplifier le contour des départements
On importe les données de la couche départements.- Dans le menu Fichier > Importer les données vectorielles > Importer des formats standards :
- Sélectionner le fichier source
- Cocher "Override dataset projection (use location's projection)"
- Cliquer sur "Importer"
Pour visualiser graphiquement les données spatiales :
- Dans l'onglet "Couches" :
- Clic droit sur la couche département, puis cliquer sur "Définir la région calculée à partir de la carte sélectionnée"
- Second clic droit sur cette couche, puis cliquer sur "Zoomer sur la carte sélectionnée"
La première étape est de supprimer les petites îles
- Dans le menu Vecteur > Topology maintenance > Nettoyer la carte vecteur
- Sélectionner la couche département comme couche d'entrée et de sortie
- Cocher l'option "Permettre au fichier de sortie d'écraser les fichiers existants"
- Dans la section "Type de primitive", cocher Ligne et Surface
- En dessous, sélectionner "supprimer les petites surfaces" dans la liste. La valeur à saisir dans le champ à sa droite est 35000000 (35 km²)
- Cliquer sur "Exécuter"
La seconde étape est d'appliquer un nouveau filtre de simplification
- Dans le menu Vecteur > Topology maintenance > Lisser ou simplifier
- Sélectionner clean@PERMANENT comme couche d'entrée
- Saisir clean2@PERMANENT comme couche de sortie
- Choisir d'appliquer "douglas_reduction" comme algorithme. La valeur de tolérance à saisir en-dessous est 1000.
- Cliquer sur "Exécuter".
Exporter les données de GRASS
Dans le menu Fichier > Exporter une carte vecteur > Formats standards d'export :- Sélectionner la dernière couche générée comme couche d'entrée
- Saisir le chemin absolu du dossier de sauvegarde
- Cliquer sur "Exécuter"
Exporter les données au format SVG
L'export au format SVG se fera dans QGIS. On importe la nouvelle couche département et la couche grille et on leur applique un style. La couche département doit être au dessus de la couche grille. Pour exporter les données au format SVG, il faut :- Préalablement supprimer la couche "tampon" et déplacer "grille" sous les autres
- sélectionner le menu Extension > Save as SVG > Save as SVG.
- dans la boîte de dialogue :
- cliquer sur "Resize map or Set extent"
- dans la nouvelle boite dialogue :
- Set Map/image size : "Width 600 px" "Height 600 px" puis cliquer sur "Set"
- Set Extent (bbox) : cliquer sur "Set".
- Noter les 4 coordonnées inscrites dans "Extent (bbox)" car elles serviront au web service
- valider avec le bouton "OK"
- indiquer le nom du fichier dans lequel sauvegarder les données
- cliquer "OK" pour effecteur la transformation en SVG.
- Attention : il faut peut être faire l'opération deux fois avant d'obtenir un fichier de sortie et cela peut être long.