Formation Qgis

Qu'est-ce qu'OpenStreetMap ?


OpenStreetMap ou OSM est un projet qui a pour but de constituer une base de données géographiques libre du monde. A l'instar de Wikipédia, tout un chacun peut participer et enrichir le projet. On peut donc visualiser, réutiliser et même après inscription modifier gratuitement les données.

La partie la plus connue du projet est peut-être la visualisation des données OSM sous forme de carte ; mais OSM est avant tout un ensemble de données géographiques, utilisables entre autres dans un logiciel SIG.

Les attributs des données OSM sont des paires clé=valeur (key=value). Un élément peut par exemple être caractérisé par l'attribut (tag) waterway=river pour indiquer qu'il s'agit d'un cours d'eau de type rivière. Un élément peut être caractérisé par plusieurs attributs (plusieurs paires clé=valeur).

Il existe plusieurs valeurs possibles pour chaque clé, la clé waterway peut par exemple avoir comme valeur river (rivière), stream (ruisseau), canal... Retrouvez ici la liste des clés et des valeurs couramment utilisées.

Nous allons découvrir ici différentes manières d'utiliser les données OSM dans QGIS. Il est possible non seulement de télécharger ces données à partir de différents sites pour ensuite les ajouter à QGIS, mais également de les charger directement dans QGIS.

Si vous désirez simplement visualiser un fond OSM, sans accéder aux données elles mêmes, référez-vous plutôt ici : Installation de l'extension QuickMapServices et Ajout des données OpenStreetMap.

Utilisation de ces données


Il est tout à fait possible d'utiliser les données d'OpenStreetMap pour créer un plan, une carte papier pour des besoins d'impression (dépliant, grand format du type panneau d'information).

Certaines collectivités ont déjà relevé le défi comme, par exemple, la ville de Digne-les-Bains.

Nous allons voir ici comment parvenir à ce résultat étape par étape sur une commune rurale comme celle de Conquereuil (dans le Pays de Redon en Loire-Atlantique / 1086 habitants / 32,9 km²).

Etape 1 : contribuer à OpenStreetMap


En premier lieu, il convient de vérifier sur OpenStreetMap qu'il ne manque pas de données utiles à la réalisation d'un plan de ville. En l'occurrence, l'idéal est de disposer sur la commune des informations suivantes de manière exhaustive :
  • réseau routier de la commune et les dénominations de voies (par ex. "Rue de la Renaissance" et/ou "D124")
  • nom des lieux-dits (par ex. "Le Ragosse")
  • cours d'eau principaux et leurs noms
  • l'occupation du sol (boisement, zone urbaine, zone industrielle, zone agricole, etc.) et les bâtiments (importés du cadastre)
  • enfin, les points d'intérêt essentiellement les équipements publics (mairie, école, terrains de sport, agence postale) voire les commerces


Afficher une carte plus grande

Si certaines informations manquent, il convient de contribuer à OpenStreetMap afin de les ajouter. Ainsi, sur Conquereuil, si les routes, voies et cours d'eaux ainsi que leurs noms étaient bien renseignés, d'autres éléments étaient très incomplets voire inexistants. Il a donc fallu contribuer à OpenStreetMap afin d'indiquer le nom de tous les lieux-dits et reprendre entièrement les données sur l'occupation du sol.

Par ailleurs, un problème courant dans OpenStreetMap est le fait que l'occupation du sol soit parfois un simple import de la base de données européenne Corine Land Cover. Cette donnée est inutilisable quand on la regarde à l'échelle d'une commune.
Difficile d'imprimer un plan de ville à une échelle 1:20000 par exemple en utilisant en fond une donnée d'occupation des sols au 1:100000. Dans ce cas là, il est préférable de supprimer les éléments de Corine Land Cover afin de dessiner une occupation du sol précise. En images, en haut, l'occupation du sol à partir de Corine Land Cover 2006 et, en bas, une fois redessinée dans OpenStreetMap avec les bâtiments importés du cadastre :
conquereuil-clc
conquereuil_osm

On remarquera sur une commune rurale comme Conquereuil qu'il est importer d'attacher une attention particulière à l'occupation du sol car c'est cette donnée qui va nous servir à habiller la carte ! Cela permet d'éviter un fond uniformément vide en dehors des zones urbanisées.

Etape 2 : télécharger les données OpenStreetMap dans Qgis


Si on a des données OSM suffisamment complètes sur la commune qui nous intéresse, il est temps de passer à la mise en forme du plan. Pour ce faire, on va utiliser les données OSM dans le logiciel de cartographie libre Qgis.

Pour imprimer un plan papier à partir des données OSM dans Qgis, on peut se référer aux tutoriels d'Anita Graser (en anglais) ou de Charles Millet (en français). On va suivre une méthode très proche qui consiste à :
  • télécharger des données OSM dans Qgis
  • puis à leur donner un style
  • puis à les exporter pour les retoucher sous un logiciel de dessin.

En premier lieu, il nous faut récupérer les données OSM dans Qgis. Voici plusieurs méthodes.
Il existe plusieurs possibilités pour télécharger des données OSM, notamment au format Shapefile.

A partir du site Boudaries

Pour télécharger les frontières administratives https://wambachers-osm.website/boundaries/

A partir du site Geofabrik


Nous utiliserons ici les données créées par Geofabrik, une société allemande spécialisée dans les services autour d'OpenStreetMap. Les données sont extraites d'OpenStreetMap et mises à jour quotidiennement. Il est possible de les télécharger par continent, sous-région, pays et parfois région au sein du pays.

Dans un navigateur internet, rendez-vous sur http://download.geofabrik.de/.
Il est possible de télécharger les données par continent, pays, et parfois région. Nous allons ici télécharger les données de Bretagne .

lien pour télécharger les données du Suriname au format SHP sur Geofabrik

Les données sont disponibles sous différents formats ; nous utiliserons ici le format Shapefile, facile d'utilisation sous QGIS. Cliquez sur le lien bretagne-latest-free.shp.zip et enregistrez le fichier sur votre ordinateur.

Au cas où le téléchargement échouerait, ces données sont également disponibles ici : TutoQGIS_03_RechercheDonnees/donnees/suriname-latest-free.shp.zip.

Décompressez le fichier ZIP obtenu dans votre répertoire de travail : vous obtenez une série de couches au format Shapefile.

Que contiennent ces données ? Pour le savoir, cliquez sur le lien Format description PDF à la suite du lien précédent, toujours sur la page internet de Geofabrik pour le Suriname. Dans ce PDF sont décrites les données.

Notez que les noms de couches correspondante au clés des attributs OSM. Par exemple, la couche gis.osm_waterways_free_1 regroupe les éléments ayant la clé waterway.

Dans un nouveau projet QGIS, ajoutez ces données. Ouvrez la table attributaire de la couche gis.osm_waterways_free_1.

Les valeurs du champ fclass correspondent aux différentes valeurs prises par la clé de la couche pour chaque élément. On trouve par exemple les valeurs river, stream, canal et drain.

A partir du site BBBike


Nous allons voir ici une manipulation similaire, mais à partir d'un autre site, qui permet la définition d'une zone d'intérêt de votre choix (GeoFabrik ne proposant que des zones prédéfinies).

BBBike est un site proposant du calcul d'itinéraire vélo à partir des données OSM, et également de télécharger des extractions des données OSM.

A partir de votre navigateur internet, rendez-vous sur http://extract.bbbike.org/ :
interface de définition d'une zone d'intérêt sur BBBike

  • Format : Shapefile (Esri)
  • Your email address : tapez votre adresse courriel
  • Name of area extract : Suriname, puis cliquez juste au-dessus sur or search et choisissez 1. Suriname
  • En-dessous du bouton Extract, cliquez sur le bouton here.

Vous pouvez ensuite modifiez la zone d'extraction en choisissant l'une ou l'autre option add points to polygon ou resize or drag polygon, en cliquant ensuite sur la zone et en faisant glisser les points orange.
Modification de la zone d'intérêt sur BBBike

Une fois la zone d'intérêt définie à votre convenance, cliquez sur le bouton Extract et patientez un peu avant de recevoir un courriel avec un lien de téléchargement.

Cliquez sur ce lien, enregistrez les données et décompressez-les.

Au cas où le téléchargement échouerait, ces données sont également disponibles ici : TutoQGIS_03_RechercheDonnees/donnees/planet_-59.148,1.593_-52.107,6.385.osm.shp.zip.

Vous obtenez une série de fichiers au format shapefile que vous pouvez ajouter dans QGIS.

QuickOSM

  • Pour ce faire, plusieurs méthodes sont à notre disposition. Celle présentée ci-dessous consisté à installer le plugin QuickOSM pour Qgis. Ce plugin va nous permettre de télécharger les données OSM directement dans Qgis. Cette solution est notamment valable pour des volumes de données réduits par exemple tout OSM mais sur une zone réduite (une commune par exemple dans notre cas) ou, sur un secteur plus grand, pour ne récupérer qu'une partie des données OSM (les défibrillateurs par exemple). Si l'on veut toute la base de données OSM sur une zone plus étendue (une intercommunalité, une région, un pays...), d'autres méthodes existent et sont présentées dans les tutoriels de Charles Millet ou d'Anita Graser cités ci-dessus.

QuickOSM => "Mes requêtes" => "OpenStreetMap" => "All OSM" va nous permettre de télécharger toute la base de données OSM sur la zone concernée. Dans "bbox", on choisit de télécharger "Emprise de la vue actuelle".

Pour installer l'extension QuickOSM , en vous référant si nécessaire ici pour plus de détails (cette étape nécessite une connexion internet) :

  • rendez-vous dans le menu Extensions â?? Installer/Gérer les extensions, rubrique Toutes
  • tapez quickosm dans la barre de recherche en haut
  • cliquez sur le nom de l'extension puis sur le bouton Installer l'extension en bas à droite
  • Fermez la fenêtre du gestionnaire d'extension.

Pour accéder à QuickOSM : menu Vecteur â?? Quick OSM â?? QuickOSM . La fenêtre suivante s'ouvre :
Fenêtre de QuickOSM , choix des options

Dans la rubrique Requête rapide :

  • Choisissez la clé waterway puis la valeur river pour ne récupérer que les cours d'eau de type rivière
  • Sélectionnez l'option Emprise de la vue actuelle pour limiter le volume de données à charger
  • Cliquez sur Avancé pour choisir le type de données à récupérer : ici, uniquement les lignes, multilignes et multipolygones
  • Cliquez enfin sur le bouton Exécuter.

Patientez... Les données d'affichent dans QGIS :
Aperçu des données récupérées avec OSM : rivières du Suriname

Ces données sont temporaires : pour les sauvegarder, clic droit sur la couche â?? Enregistrer sous...

Pour savoir où sont stockées les données temporaires : propriétés de la couche, rubrique Général, Source de la couche.

Nous avons vu ici quelques méthodes pour accéder aux données OSM dans QGIS, mais il en existe d'autres !


Directement depuis Qgis

Il est également possible de charger des données OSM directement à partir de QGIS, sans passer par un navigateur internet.
Depuis le menu Vecteur

Dans un nouveau projet QGIS, ajoutez la couche ne_10m_admin_0_countries située dans le dossier TutoQGIS_03_RechercheDonnees/donnees. Zoomez sur le Suriname.

Menu Vecteur â?? OpenStreetMap â?? Télécharger des Données OSM... Menu Vecteur, OpenStreetMap, Télécharger des Données OSM :
Fenêtre de téléchargement des données OSM

  • Emprise : laissez l'option par défaut Depuis le canevas de la carte
  • Fichier en sortie : cliquez sur les ... à droite, naviguez vers le dossier où vous voulez enregistrer vos données, et donnez un nom au fichier qui sera créé, par exemple suriname.osm. Attention, il faut bien écrire l'extension .osm.
  • Cliquez sur OK, patientez...

Une fois les données téléchargées sur votre ordinateur, ajoutez-le fichier suriname.osm en procédant comme pour une couche shapefile. La fenêtre suivante s'ouvre :
Fenêtre s'affichant pour le chargement d'un fichier OSM

Sélectionnez les toutes les lignes sauf celle de la couche other_relations, au moyen de la touche Ctrl, cette couche contenant plusieurs types de géométrie et provoquant un message d'erreur dans QGIS. Cliquez sur OK.

Les données s'affichent avec des couleurs aléatoires.
Données OSM dans QGIS, couleurs aléatoires

Comme vu précédemment, il est possible de donner des styles pré-déterminés à ces données. Nous allons utiliser ici les styles élaborés par Anita Graser et disponibles ici.

Ouvrez les propriétés de la couche suriname lines, rubrique style, cliquez sur le bouton Style en bas à gauche et choisissez Charger le style.

Sélectionnez le fichier osm_spatialite_googlemaps_lines.qml situé dans le dossier TutoQGIS_03_RechercheDonnees/legendes.

De la même manière, sélectionnez les fichiers de style correspondant aux autres couches :

  • suriname points : fichier de style osm_spatialite_googlemaps_places.qml
  • suriname multilinestrings : fichier de style osm_spatialite_googlemaps_lines.qml
  • suriname multipolygons : fichier de style osm_spatialite_googlemaps_places.qml

Ajustez éventuellement l'ordre des couches. Les données s'affichent alors avec un style type Google Maps :
Données OSM dans QGIS, couleurs aléatoires
Avec l'extension QuickOSM

Cette extension permet le téléchargement de données OSM sous forme de couches temporaires, pour l'emprise de votre choix.

Elle offre par rapport aux solutions précédentes une possibilité supplémentaire : choisir la clé et les valeurs voulues. Vous pouvez ainsi télécharger uniquement les cours d'eau de type rivière pour une zone.

Ouvrez un nouveau projet QGIS. Ajoutez la couche ne_10m_admin_0_countries située dans le dossier TutoQGIS_03_RechercheDonnees/donnees. Zoomez sur le Suriname.




Etape 3 :mettre en formes les données OpenStreetMap dans Qgis


Représenter les données OpenStreetMap

Les données OpenStreetMap ajoutées dans QGIS, comme toute autre donnée, ont un style « par défaut », ne convenant pas pour une carte. Nous allons voir ici comment représenter ces données pour obtenir quelque chose de similaire à ceci :
Exemple de données OSM stylées, grande échelle

Chargez dans QGIS les couches GeoFabrik ou issues de QuickOSM

Une dernière couche sera nécessaire : ajoutez également land_polygons_suriname présente dans le dossier TutoQGIS_03_RechercheDonnees/donnees.

Dans QGIS, le style d'une couche est enregistré dans le projet. Il est également possible de créer des fichiers de style, au format QML (fichier de style QGIS, propre au logiciel) ou SLD (Style Layer Descriptor, utilisé plus largement en cartographie web).

Nous allons ici charger pour chaque couche un fichier de style QML approprié.
Ces fichiers ont été élaborés à partir de ceux créés :

Cliquez sur OK pour fermer la fenêtre des propriétés.

Zoomez et dézoomez : le style change suivant le niveau de zoom.

Procédez de manière similaire pour chacune des couches, en choisissant à chaque fois le fichier de style approprié.

Pour finir, donnez un fond bleu à votre carte : menu Projet â?? Propriétés du projet â?? rubrique Général : cliquez sur la couleur à droite de Couleur du fond.

Dans la boîte de dialogue qui s'affiche alors, choisissez une couleur pour la mer, par exemple dans l'exemple ci-dessous R 184 V 217 B 247.
Choix d'une couleur RVB

Notez qu'une manipulation équivalente peut être effectuée dans le composeur d'impression, sans changer la couleur de fond dans QGIS.
Exemple de données OSM stylées, petite échelle

Vous pouvez ensuite si vous le désirez modifier le style des couches pour créer votre propre version. Pour enregistrer un fichier de style QML, procédez comme pour charger un style, mais choisissez Enregistrer le style â?? Fichier de style de couche QGIS.
Charger des données OpenStreetMap à partir de QGIS

Etape 4 : créer une grille et un index


Etape 5 : mettre en page le plan de ville dans un logiciel DAO