Ce tutoriel vous permet de découvrir des outils de base pour la numérisation vectorielle d’un espace géoréférencé à l’aide de la webapp GeoJSON.io et du logiciel open source Quantum GIS.

Prérequis

Dessin vectoriel vs. vectorisation géoréférencée

Dans un outil de dessin vectoriel pur comme Illustrator, Inkscape ou Affinity Designer, les objets que vous dessinez se situent sur les coordonnées d’un plan euclidien abstrait, possiblement dépourvu de tout lien d’analogie avec un espace physique. Dans un système d’information géographique (SIG, en anglais: GIS), vous placez toujours vos objets dans un espace géoréférencé, dont chaque point se réfère à un point sur la surface de la planète Terre.

De nombreuses géodonnées sont disponibles et prêtes à l’usage sur le net (cf. Ressources web pour les géodonnées). Mais des travaux de recherche avancés vous mèneront forcément à les adapter à vos besoins, voire à vectoriser vos propres cartes en partant de zéro. Notez que divers algorithmes sophistiqués permettent de générer des cartes vectorielles à partir d’images raster, à l’aide du machine learning ou autres procédés, mais vous aurez de la peine à les utiliser si vous ne savez pas vectoriser un territoire par vos propres moyens. Apprendre à le faire est le but de ce tutoriel.

GeoJSON.io

Commençons au plus simple en utilisant un logiciel gratuit et en ligne, disponible sans téléchargement dans votre navigateur web.

  • Allez sur le site https://geojson.io
  • Choisissez un espace à vectoriser. Je poursuis ici avec Haïti et la République dominicaine, mais libre à vous de prendre un autre exemple, à une autre échelle, et si possible en lien avec votre travail de mémoire.

GeoJSON.io vous offre plusieurs outils, pour dessiner les points, les lignes et les polygones. Notez bien que, pour terminer un trait ou un polygone, il faut double-cliquer.

Servez-vous-en pour ajouter les éléments essentiels à votre carte, comme les lieux-dits, les territoires ou les routes. Si vous travaillez à l’échelle d’un parc, vos points peuvent être des arbres, vos lignes des sentiers et vos polygones, les plans d’eau ou les zones de buissons. N’entrez pas dans trop de détails, ceci est un exercice.

En cliquant sur un élément, vous pouvez lui ajouter des propriétés. Ajoutez la propriété “nom” à chaque élément de votre carte.

Astuce: plutôt que de cliquer sur chaque élément de la carte, vous pouvez aussi activer la vue “Table” à droite de l’écran. Cliquer sur une ligne vous ramène à l’objet et vous n’avez qu’à remplir la colonne “nom”.

Vous venez de numériser une carte vectorielle géoréférencées. Quand vous avez fini, exportez la carte au format GeoJSON.

QGIS

Ouvrez le fichier carte que vous avec créé avec GeoJSON.io dans QGIS:

Vérifier l’espace de référence

Pour vérifier si la carte a été correctement géoréférencée, ajoutez un fond de carte générique dans QGIS. Il existe de nombreuses façons de faire cela, la plus simple étant l’usage d’un plugin.

Ajouter un fond de carte générique en utilisant le plugin “QuickMapServices”

Dans le menu de QGIS, choisissez:

Plugins > Manage and Install Plugins

(en français Extensions > Gérer et installer les extensions)

Cherchez le plugin QuickMapServices dans le champ de recherche

sélectionnez-le et installez-le à l’aide du bouton

Vous pouvez désormais ajouter un fond de carte standard Open Street Map (OSM) à votre carte à l’aide du menu

Web > QuickMapServices > OSM > OSM Standard

Ayant activé le fond de carte “OSM Standard”, je vois que ma carte, créée dans un autre logiciel, demeure au bon endroit sur la planète. Comme nous le verrons dans d’autres exercices, je pourrais sans autres la reprojeter dans une autre projection cartographique. Ce sont les avantages que permet le géoréférencement.

Création d’une nouvelle couche géographique

Ajoutons à présent des points, des lignes et des surfaces dans QGIS. Ce logiciel offre beaucoup plus de fonctionnalités que GeoJSON.io et il est donc aussi plus complexe à manier.

Les couches géographiques

Nous allons créer 3 nouvelles “couches géographiques”. Celles-ci correspondent aux “calques” dans Illustrator ou Inkscape. Il existe, dans le vaste monde des SIG, plusieurs façons de stocker des couches géographiques. L’une des plus répandues est le format ESRI shapefile, imposé en standard de par la domination de la compagnie ESRI dans le monde du logiciel SIG. Nous allons choisir celui-ci pour l’exercice. Sélectionnez “New shapefile layer“. Remarquez aussi que, contrairement à Illustrator ou Inkscape, un SIG comme qGIS distingue entre des couches de points, de lignes et de polygones. Nous allons répéter la création d’une nouvelle couche pour chacun de ces cas.

qgispi-05

Polygones

Choisissez Polygon comme type de couche. Nous allons en effet utiliser celle-ci pour dessiner des frontières. Comme système de projection (CRS) choisissez WGS 84. Cela ne correspond pas à la projection de données suisses mais permet une exportation facilitée de votre carte en tant que carte en ligne dans un framework comme Leaflet.

qgispi-03

Intitulez la nouvelle couche “frontieres” (c’est à dire, « frontières », mais il est judicieux d’éviter les caractères accentués en informatique). Sauvegardez-la à un emplacement sur votre disque dur dont vos puissiez vous souvenir!

qgispi-04

Points

Créez maintenant une couche vectorielle de type Point et nommez-la “lieux”:

qgispi-01
qgispi-02

Lignes

Créez une couche de type Line nommée “routes”:

qgispi-07
qgispi-06

Éditer les couches existantes

Ajouter des points à la couche “lieux”

Trois nouvelles couches de géodonnées devraient apparaître dans le Layers Panel. Sélectionnez “lieux”:

qgispi-08

Cliquez sur “lieux” avec le bouton droit de la souris et choisissez “toggle editing”:

qgispi-09

La couche lieux est désormais éditable. Cela veut dire que vous pouvez y ajouter des points. Cliquez sur le bouton “Add feature” sur la Digitization toolbar:

qgispi-10

Cliquez un endroit pertinent sur votre carte. Je vais, pour ma part, créer des points pour plusieurs villes de Jamaïque, en commençant par Kingston.

Une fenêtre apparaît, vous demandant de donner un “id” au point que vous venez de créer. Donnez un id numérique de votre choix, par exemple “1”:

qgispi-11

Créez ainsi quelques autres lieux, puis sauvegardez votre couche:

Éteignez le mode édition de la couche “lieux”:

qgispi-13

Ajouter des polygones à la couche “frontières”

Sélectionnez la couche «frontieres» et mettez cette dernière en mode d’édition :

Cliquez sur le bouton “Add feature” sur la Digitization toolbar. Remarquez que l’icône du bouton a changé: nous ne dessinons en effet plus des points mais des polygones:

qgispi-15

Cliquez n’importe où dans l’espace d’affichage de la carte. Ajoutez d’autres points pour former un polygone.

Quand vous êtes satisfaits de la forme du polygone, cliquez sur le bouton droit de la souris (deux doigts sur un trackpad). Cela ferme le polygone ouvert sur qGIS. Une fenêtre apparaît, vous demandant de donner un “id” au polygone que vous venez de créer. Donnez un id numérique de votre choix, par exemple “1”, comme lors de la création d’un point.

Transformer des polygones

Sélectionnez l’outil Node Tool. Ce dernier correspond au sélectionneur de parties d’un objet dans Illustrator ou Inkscape:

qgispi-18

Sélectionnez un point d’ancrage (node) avec le sélectionneur et déplacez-le.

qgispi-19
qgispi-20

Vous pouvez aussi ajouter des points d’ancrage pour mieux ajuster la forme géométrique à votre fonds de carte:

Cliquez sur le bouton “Add feature” et créez deux autres polygones:

qgispi-21

Afin de faire coïncider les frontières de communes/pays/cantons adjacents, il est nécessaire d’activer le snapping. Cette option veut dire que lorsque l’on approche un élément suffisamment d’un autre, leurs coordonnées deviennent identiques: les deux objets se superposent parfaitement sur la carte. Nous voulons que cela soit le cas pour que les sommets (vertex) composant nos polygones. Pour l’activer, allez dans le menu

Settings > Options

Et configurez les options de numérisation (digitizing) comme suit:

Autre approche: click droit sur la barre des boutons pour activer la Snapping Toolbar.

Ces boutons supplémentaires devraient s’afficher:

Appuyez sur le symbole de l’aimant pour activer l’accrochage (snapping) et assurez-vous que le troisième bouton soit activé, avec l’option “Vertex“. Activez aussi l’option “Avoid Overlap on Active Layer“.

Vous pouvez désormais faire coïncider plus facilement les sommets de vos polygones en les rapprochant les uns des autres:

qgispi-23
qgispi-24
qgispi-25

Vous venez de résoudre un problème de topologie. Lorsqu’une carte présente des trous, ou des chevauchements de polygones, qui ne renvoient à rien dans le monde représenté, on parle de problème de topologie. L’espace signifiant montre des discontinuités qui n’existent pas dans l’espace signifié. Aucun espace ne s’étend en effet entre deux communes voisines; ces dernières ne se chevauchent d’ailleurs pas non plus, à moins qu’un dispute territoriale ne les oppose.

Si votre couche de polygones initialement créée dans GeoJSON.io présente des problèmes de topologie, c’est le moment de les réparer:

Combiner les polygones en provenance de plusieurs couches distinctes

Si vous avez suivi le tutoriel pas à pas, vous devriez voire quelque chose comme ceci:

Vous constatez que nous avons deux couches de polygones: une créée dans GeoJSON.io (Haïti et République dominicaine) et une créée dans QGIS (Jamaïque). Nous voulons le rassembler. Il existe de nombreuses manières d’y arriver. La plus simple étant d’utiliser l’algorithme “Merge vector layers” accessible par le menu:

Me voilà avec une nouvelle couche de polygones nommée “Merged“:

Voyez-vous le symbole de puce électronique à côté de la couche “Merged”? Cela signifie que cette couche n’est pas sauvegardée. Elle n’existe que dans la mémoire vive de l’ordinateur et disparaîtra dès que vous aurez quitté QGIS. Pour conserver cette couche, vous devez la sauvegarder dans un fichier. Rappelez-vous que “sauvegarder une couche” ≠ “sauvegarder votre projet QGIS”, comme nous l’avons vu en cours. Vous ne sauvegardez pas les données mais seulement leur manière de s’afficher (couleur, symboles etc.), en d’autres mots, vous sauvegardez seulement les variables visuelles en cliquant sur le bouton suivant de l’interface QGIS:

Pour sauvegarder les données “Merged” que vous venez de créer, faites-le à partir du menu contextuel de la couche (click droit sur le nom de la couche):

Afficher et modifier des attributs de polygones individuels

Cliquez sur la couche « Merged » avec le bouton droit de la souris (ou deux doigts sur le trackpad) et sélectionnez Open Attribute Table. Ceci ouvre la table des attributs de chaque polygone de la couche:

De la même manière que les polygones dans Illustrator ou Inkscape possèdent des attributs visuels (couleur, épaisseur du contour, etc.), on peut attacher des attributs de données aux polygones (ainsi qu’aux points et aux lignes) dans un SIG. Leur nombre est potentiellement illimité.

Vous voyez que la Jamaïque possède un ID et pas de nom; pour Haïti et la République dominicaine, c’est l’inverse. Réfléchissez pourquoi il en est ainsi et ne continuez qu’après avoir su l’expliquer à vous-mêmes. Ceci est le moment de pause et de réflexivité dans ce tutoriel. Faites en sorte que tous les champs id et nom soient remplis de manière pertinente.

Créer maintenant un nouvel attribut avec le bouton “New column”:

qgispi-28

Donnez un nom à votre nouvel attribut, par exemple “valeur”. Un attribut dans qGIS peut être de type nombre entier (integer), nombre à virgule (real), texte (string) ou date.  Choisissez « nombre à virgule »:

qgispi-29

Donnez-lui une largeur (nombre de chiffres à disposition) de 4 et une précision de 1. Ce choix peut être adapté en fonction de vos besoins dans un cas réel.  Une nouvelle colonne, nommée “valeur”,  vient d’apparaître dans votre table des attributs. Pour l’heure, ces valeurs ne sont pas définies:

qgispi-30

Définissez ces valeurs comme vous voulez:

qgispi-31

Sauvegardez les changements que vous venez de faire:

qgispi-32

Mapper les attributs des polygones sur des variables visuelles

L’utilité d’un SIG apparaît lorsque qu’on mappe les variables de la table de données sur les variables visuelles de la carte. Fermez la table des attributs. Click-droit de la souris sur la couche “Merged” et sélectionnez Properties dans le menu:

qgispi-34

Dans la fenêtre qui s’ouvre, choisissez Style, et dans Style, Graduated:

Notre objectif est de mapper la variable numérique “valeur” sur une variable visuelle couleur. Sélectionnez “valeur” dans le menu déroulant Column.

qgispi-35

Dans l’onglet Histogram, cliquez sur le bouton Load values. Observez et interprétez l’histogramme.

qgispi-36

Revenez à l’onglet Classes et cliquez sur le bouton Classify:

qgispi-37

Cliquez ensuite sur OK en bas à droite. Ceci ferme la fenêtre « propriétés ». Vous retrouvez vos polygones “frontiere” colorés en fonction d’une valeur d’attribut. Une légende apparaît aussi dans la liste des couches géographiques. Revenez à la fenêtre des propriétés et essayez d’autres classifications que Equal Interval, p. ex. Natural Breaks (Jenks).

qgispi-38

Ajouter des lignes à la couche “routes”

Éteignez le mode édition de la couche “frontieres” et enclenchez le mode édition de la couche “routes”. Cliquez sur le bouton “Add feature” sur la Digitization toolbar. Remarquez que l’icône du bouton a changé: nous ne dessinons en effet plus des polygones mais des lignes:

qgispi-39

Créez une route de la même manière que vous avez créé les lieux et les frontières, en spécifiant son id une lorsque la fenêtre demandant ce dernier s’ouvre.

qgispi-40

Vous venez de réaliser votre première numérisation géoréférencée d’un espace géographique.

Sauvegardez votre travail

Sauvegardez à présent votre projet QGIS en cliquant sur le bouton suivant de l’interface QGIS. Cela produira un fichier .qgs qui conserve l’ensemble de vos paramètres de cartographie, c’est-à-dire, la liste de toutes les couches affichées, leurs adresses dans le système de dossiers et de fichiers de votre ordinateur, ainsi que les mappings des données sur les variables visuelles.

Notez que si, par la suite, vous déplacez les fichiers de géodonnées, et que vous rouvrez le fichier de projet qgs, QGIS ne trouvera plus ces fichiers et n’affichera pas de carte complète. Pour y remédier, vous devez juste dire à QGIS où vous avez déplacé vos fichiers de géodonnées.

FIN DE L’EXERCICE

Si vous êtes arrivé.e au bout avant les autres, faites signe à l’enseignant et continuez avec un des exercices suivants: