Workshop: Extraire les données d’une carte

Workshop préparé pour ECV2018.

Télécharger l’archive

Introduction

Lorsqu’on souhaite ré-utiliser des données d’une carte trouvée dans un article ou dans des archives, on doit pouvoir convertir ces frontières, rues ou montagnes en données géographiques brutes, points lignes ou polygones, pour pouvoir reproduire une nouvelle visualisation après les avoir modifiées. Par exemple la carte de gauche ici représente les duchés de bourgogne, il a fallu extraire des données de celles-ci pour produire une carte plus zoomée à droite.

Exemple d'extraction de données pour faire une carte zoomée.

Différence entre carte et donnée géographique

différence entre carte et donnée

Une donnée géographique est un ensemble de points, lignes ou polygones contenue dans un fichier au format géographique (shapefile, geojson, csv ...), elles ne contiennent aucune notion de style, couleurs, couches ...

Une carte est une image formée à partir de plusieurs couches de données géographiques pour lesquelles on a choisi des couleurs, épaisseurs de trait, étiquettes, etc ...

A partir de la carte brute, on ne peut pas faire beaucoup de modifications, on a alors plusieurs possibilités:

  • Contacter l’auteur pour qu’il nous fournisse ses données d’origine
  • Utiliser un logiciel pour extraire les données voulues

La première solution est sûrement celle à essayer en premier, ensuite on peut se pencher sur la seconde: comment extraire les données de frontières de cette carte scannée ?

On a deux choses à faire:

1) Donner des coordonnées aux points de la carte scannée: c’est le géoréférencement. Même si à l’oeil nu on peut estimer où se trouve cette carte sur le globe, pour l’utiliser dans un logiciel de cartographie il faut le faire précisément, en donnant les coordonnées réelles de quelques points de la carte.

2) Extraire les frontières qui nous intéressent et les sauvegarder dans un document géographique pour pouvoir les réutiliser dans d’autres cartes ou même les modifier: c’est la numérisation.

1- Notre exemple

Nous souhaitons récupérer les données d’anciennes provinces de France. Par exemple sur cette carte de 1828:

Exemple d'extraction de données pour faire une carte zoomée.

Dans un souci pédagogique, nous allons cependant nous baser sur une carte plus facile sur le même sujet, trouvée sur wikipedia:

Exemple d'extraction de données pour faire une carte zoomée.

2- Géoréférencement

Notre carte est faite de pixels, on les voit quand on zoom. Le principe du géoréférencement est de donner à chacun de ces pixels des coordonnées (longitude, latitude). Pour cela, nous allons donner à la main quelques coordonnées de points, et le logiciel va ensuite calculer les coordonnées de tous les autres. Il nous faut une carte de référence, on peut par exemple télécharger le contour des pays sur Natural Earth Data. Lien direct.

Pour savoir où trouver des données géographiques gratuites: 4 ressources gratuites pour télécharger des geodata.

Etape 1: Charger les données de référence

Charger les données de référence dans QGIS en glissant-déposant l’archive téléchargée.

Etape 2: Activer le plugin

Activer le plugin de géoréférencement, dans Plugins >> Manage Plugin, taper georeferencer et veiller à ce qu’il soit bien coché.

On l’ouvre ensuite via Raster >> Georeferencer.

Etape 3: Créer les Ground Control Points

Charger l’image à géo-référencer dans la fenêtre qui vient de s’ouvrir. Chosir le CRS EPSG 4326.

Ensuite on va créer des GCP (Ground Control Points): il s’agit de cliquer sur un point de l’image facilement reconnaissable, et ensuite sélectionner son homologue dans la fenêtre principale de QGIS.

On répète ensuite ce procédé pour obtenir 56 GCP.

Etape 4: Géo-référencer

Nous allons ici définir quelques paramètres avant de lancer le référencement. Pour celà, cliquer sur la roue “Settings”.

Les quelques paramètres qui nous intéressent:

  • Transformation type: il s’agit de la méthode que l’ordinateur va utiliser pour calculer les autres points. Dans le cas d’une carte comme la notre on peut prendre thin plate spline. S’il s’agissait d’une photo aérienne ou d’une carte scannée déformée on pourrait considérer d’autres méthodes.

  • Output raster: c’est le nom qu’on va donner au fichier géoréférencé qui sera créé

  • Target SRS: il s’agit de la projection utilisée pour le fichier produit, on peut prendre la projection standard EPSG 4326.

Le géoréférencement se lance en cliquant sur le bouton en triangle, et l’image vient se placer dans la fenêtre principale. On peut alors contrôler que tout s’est bien passé.

3- Numérisation

L’étape suivante est la numérisation. Il s’agit en quelque sorte de “décalquer” les données qui nous intéressent (le contour des provinces) à l’aide de notre souris, et de les enregistrer dans une nouvelle couche.

Les étapes de la numérisation sont les suivantes:

1) Créer une couche dans laquelle on va tracer nos polygones, c’est un fichier shapefile

2) Activer l’option snapping (accrochage), qui permet de placer la souris automatiquement sur un noeud quand on est à proximité

3) Tracer les provinces (polygones)

Etape 1: Créer une couche

Pour créer une couche, cliquer sur Layer >> Create New Layer >> New Shapefile Layer.

Dans cette fenêtre, veiller à sélectionner que cette couche sera constituée de Polygones.

De plus il ets utilsie d’ajouter une colonne à notre table d’attributs où on pourra stocker le nom de la province.

Etape 2: Activer l’option snapping (accrochage)

Lorsqu’on trace des formes, il s’agit en fait de sommets reliés par des arêtes. L’option snapping ou accrochage permet de spécifier une distance minimum autour d’un sommet en-dessous de laquelle notre souris va s’y “accrocher”. C’est une option très pratique.

Etape 3: Tracer les provinces

Cette étape n’est pas difficile mais peut être un peu laborieuse. Il y a beaucoup de petits éléments qui peuvent être bloquants si on s’y perd mais en réalité sont logiques. D’abord, veillez à ce que la couche des polygones soit au-dessus de l’image géoréférencée, les couches peuvent se ré-arranger avec la souris dans le panneau de gauche.

Ensuite il faut que la couche soit sélectionnée, comme ci-dessus, avant de pouvoir basculer en mode édition. Pour celà, on clique sur l’icône en forme de crayon.

A présent, on va décalquer la première forme, cliquer sur Add entity, et commencer à tracer au dessus de notre polygone en essayant de coller le plus à celui-ci.

A la fin, un clique droit finit le tracé. On est alors invité à rentrer la metadata de notre nouvelle entité.

On répète ensuite l’opération en créant le polygone adjacent. L’option snapping nous permet de re-sélectionner facilement chacun des sommets du polygone précédent pour en faire un polygone adjacent.

Option tracé

Il est un peu fastidieux de recliquer sur chacun des sommets d'un polygone adjacent. On peut utiliser le plugin Autotrace pour changer ce comportement.

Quelques liens utiles

Pour en apprendre plus sur les cartes, quelques articles sur mon site: Tuto-Carto.

Pour en savoir plus sur moi, direction: Geoquants.com.

My email: sylvain@geoquants.com