TUTORIEL

Récupération des données OpenStreetMap (OSM)

La simulation des phénomènes spatiaux S01E02

Thomas Huraux
Published in
5 min readOct 16, 2020

--

Dans ce tutoriel, nous expliquons pas-à-pas comment récupérer rapidement et sans ligne de code les données géographiques libres, disponibles sur le site Open Street Map. Ces données sont une véritable mine d’or pour la mise en place des environnements de simulation.

Quelles données ?

Qu’elles soient ponctuelles, linéaires ou surfaciques, l’ensemble des données disponibles sur OSM est documenté exhaustivement sur un wiki indispensable. Voici une liste des principales features accessibles :

  • Places contient le nom et la délimitation des villes, des villages, des quartiers, etc.
  • Roads contient toutes les voies de passage du réseau routier (route primaire, secondaire, piétonne, etc.)
  • Buildings contient l’ensemble des bâtiments
  • Railways contient l’ensemble des voies de chemin de fer
  • Waterways contient l’ensemble du réseau hydrographique
  • Points contient l’ensemble des points d’intérêt (POI, Points of Interest) (restaurants, bars, hôpitaux, écoles, etc.)
  • Natural contient les différentes zones naturels (forêts, plans d’eau, etc.)
  • Landuse contient l’occupation du sol (résidentiel, industriel, etc.)

Dans la suite de ce tutoriel, nous présentons 3 méthodes différentes pour récupérer facilement ces données.

Sachez que ce n’est pas un problème si les données couvrent une zone plus grande que la zone souhaitée (par exemple devoir télécharger les données de toute l’Ille-et-Vilaine pour modéliser uniquement la ville de Rennes). En effet, il est toujours possible de réduire l’emprise des données (voir la section bonus à la fin de l’article).

Attention toutefois, une zone trop grande (et donc des fichiers trop volumineux) rendra difficile, si ce n’est impossible, la manipulation des données par les outils dans les étapes suivantes de la modélisation.

Option 1 : Avec GEOFABRIK

Cette option utilise le site http://download.geofabrik.de/ qui propose gratuitement des extraits de la base OpenStreetMap organisés par continents, pays et régions. Ceux-ci sont mis à jour quotidiennement sur le site.

Une fois sur le site, vous pouvez naviguer pour trouver la zone contenant la ville recherchée.

Dans la liste des formats proposés, vous pouvez choisir la version “.osm.bz2” qui est une version compressée du format .osm d’OpenStreetMap.

Une fois téléchargé, vous pouvez décompresser le fichier avec 7Zip (ou tout autre logiciel de décompression) pour obtenir un fichier “.osm”.

Option 2 : Avec le plugin QGis OSMDownloader

Cette autre option repose sur l’utilisation d’un plugin du logiciel SIG QGis téléchargeable gratuitement à l’adresse https://www.qgis.org/fr/site/

Une fois QGis téléchargé et installé sur votre machine, vous pouvez télécharger le plugin OSMDownloader permettant de récupérer facilement les données OSM. Pour cela, naviguez dans “Plugins / Manage and Install Plugins…”.

Une fois le plugin installé, une nouvelle option apparaît dans l’interface. Voir la capture ci-dessous pour l’icone (“Download OSM data by rectangle selection”).

Cette option fait apparaître une fenêtre permettant de configurer les limites de la zone que l’on souhaite télécharger, ainsi que le nom et la localisation du fichier d’export au format “.osm”.

Option 3 : Extraction ciblée avec GéoDataMine

Cette dernière option permet de faire une extraction ciblée des données OSM en permettant à l’utilisateur de renseigner la thématique des features que l’on souhaite récupérer. Il s’agit de l’option la plus simple pour obtenir, par exemple, l’ensemble des cinémas, des restaurants ou encore des pistes cyclables pour une ville donnée.

Pour cela, rendez vous à l’adresse https://geodatamine.fr/ puis sélectionnez la thématique et le territoire qui vous intéressent.

[Bonus] Comment réduire l’emprise des données (i.e. faire un crop) ?

Il arrive très souvent que les différentes couches récupérées ne correspondent pas tout à fait à la zone d’étude et couvrent une zone plus vaste. Aussi, il n’est pas rare que le développement d’un simulateur passe par une phase de test sur une partie plus restreinte du problème (dans le but d’accélérer les simulations de test).

Voici donc ci-dessous comment réduire l’emprise spatiale de vos couches SIG en quelques clics avec le logiciel QGis.

La première étape consiste à importer la couche SIG que l’on souhaite réduire ou directement l’ensemble des couches en glissant-déposant le ficher “.osm” dans QGis (le logiciel vous proposera alors de filtrer les couches lors de l’import pour ne retenir que celles qui vous intéressent).

La seconde étape consiste à créer une nouvelle couche avec “Layer / Create Layer / New Shapefile Layer…”.

Une fois la fenêtre de dialogue ouverte, renseignez le nom et le type de géométries “Polygon”. Le but de cette couche est de contenir la forme de la zone à extraire.

Lorsque que cette nouvelle couche est créée, vous devez activer le mode édition en cliquant sur l’icône en forme de crayon (voir sur la figure ci-dessous l’icône activée sur la 2e ligne d’outils).

Sélectionnez ensuite l’option “Add rectangle from 3 points” (voir l’icône grisée de la 3e ligne sur la figure) pour dessiner le rectangle qui contiendra la zone découpée.

Pour finir, nous allons créer une nouvelle couche contenant la zone découpée en utilisant l’outil “Geoprocessing Tools / Clip”.

Cette dernière étape consiste à renseigner la fenêtre de dialogue en spécifiant :

  • la couche initiale (ici la couche bati),
  • la couche contenant la forme de la zone que l’on souhaite découper (ici la couche area),
  • la couche de sortie contenant les données sur la zone souhaitée (dans le champ Clipped, spécifiez le nom et le chemin de la nouvelle couche).

Une fois ces trois informations renseignées, vous pouvez lancer l’outil de découpe avec “Run”. Et voilà ! Si tout s’est bien passé, une nouvelle couche contenant les données de la zone découpée a été ajoutée et un nouveau fichier la contenant est disponible pour vos futurs simulations.

La suite au prochain épisode …

Envie d’en savoir plus ?
Contactez-nous

Thomas Huraux, docteur en IA, est spécialisé dans le développement de simulateurs utilisant des modèles à base d’agents. Son expertise porte notamment sur l’étude des comportements humains et la modélisation de la mobilité.

--

--

Thomas Huraux
Scalian
Writer for

docteur en IA, spécialisé dans le développement de simulateurs pour l’étude des comportements humains et la modélisation de la mobilité