Nous verrons comment télécharger et préparer les données OpenStreetMap pour une analyse de réseau, puis l’ensemble des traitements QGis regroupés sous l’intitulé Analyse de réseau.

Nous allons voir ici des exemples d’analyse d’un réseau routier, mais il est clair que les mêmes possibilités s’appliquent à tout type de réseau: canalisations,hydrographique,…

Une des utilisations les plus courantes d’analyse de réseau est la recherche du chemin le plus court (ou le plus rapide). Ceci implique un réseau topologiquement sans défauts, c’est à dire où tous les tronçons sont bien reliés entre eux et où la numérisation du tronçon a bien été réalisée dans le sens du déplacement (du point de départ vers le point d’arrivée du tronçon).

La partie la plus dure du travail est bien la mise en conformité du réseau.

En ce qui concerne le réseau routier, nous disposons en principe de données respectant toutes ces conditions dans OpenStreetMap.

Pour une même zone nous disposons de trois sources de données, toutes disponibles sur le site de Geofabrik : des fichier shapefile, des fichiers .osm compressés et des fichiers pbf.

Analyse de réseau :page de téléchargement du site geofabrik.de avec les différents types de formats disponibles.

Préparation des données OSM

Selon le type de fichier choisi et de votre configuration logicielle, l’étape de préparation des données, avant de pouvoir utiliser les outils d’analyse de réseau, peut être plus ou moins longue et compliquée.

Si vous n’avez que QGis

Dans le cas où vous ne disposez pas de base de données PostgreSQL / Postgis, le format à télécharger est le format shapefile. Vous n’aurez pas toute l’information contenue dans les autres formats, mais pour ce qui est de l’analyse de réseau routier (ou hydrographique) vous aurez tout ce qu’il faut.

couches contenues dans le fichier shp de OSM (geofabrik)

Pour le travail avec les traitements QGis Analyse de réseau nous utiliserons la couche gis_osm_roads_free_1.

Si vous avez QGis et Postgis

Selon les outils dont vous disposez pour cjharger un fichier OSM dans Postgis, vous choisirez le format OSM ou bien le pbf.

Si vous disposez de osm2pgrouting

osm2pgrouting est un utilitaire en ligne de commande qui permet de charger dans une base de données PostgreSQL / Postgis des fichiers au format .osm.

Comme son nom l’indique, il prépare par défaut les données d’OSM pour leur utilisation avec les outils de routage de Postgis (pgrouting).

Un exemple de ligne de commande est le suivant:

osm2pgrouting.exe –clean=1 -f fichier_telechargé.osm -d base_de_données -p 5433 -h localhost --schema uruguay -U postgres -W ******  -c mapconfig_for_cars.xml

-d indique dans quelle base de données de votre serveur les données doivent être chargées

-p correspond au port d’écoute de serveur PostgreSQL

-W le mot de passe de l’utilisateur

-c le fichier de configuration à utiliser pour le chargement. osm2pgrouting propose trois fichiers, adaptés pour les voitures, pour les piétons et pour les bicyclettes.

ligne de commande de osm2pgrouting pour charger dans postgis un fichier .osm

Le résultat du chargement est le suivant:

tables créés par osm2pgrouting dans la base postgis

Si vous disposez de osm2pgsql

osm2pgsql est un utilitaire en ligne de commande qui permet de charger l’ensemble des données OSM dans une base de données PostgreSQL / Postgis, à partir d’un fichier .pbf.

Un exemple de ligne de commande est le suivant

C:\osm2pgsql\osm2pgsql-bin\osm2pgsql.exe -c -d postgis_33_sample -U postgres -W -H localhost -P 5433 -S default.style uruguay-latest.osm.pbf

Les paramètres sont similaires à ceux utilisés par osm2pgrouting, sauf en ce qui concerne le paramètre -S qui définit le fichier de style à utiliser. Vous trouverez ce fichier de style par défaut dans le répertoire osm2pgsql-bin, dans le répertoire d’installation de osm2pgsql. Il indique quelles colonnes doivent être créés dans la table postgis.

Pour notre travail d’analyse de réseau,il est probable qu’à un moment ou un autre on utilise la vitesse maximale autorisée des tronçons pour calculer la route la plus rapide. Malheureusement, ce paramètre (maxspeed) n’est pas compris dans la liste des attributs à créer. Pour qu’il soit créé, il faut ajouter une ligne dans le fichier default.style:

node,way maxspeed text linear

ligne à ajouter dans le fichier default.style pour osm2pgsql

Une fois exécutée la ligne de commande:

exécution de la ligne de commande de osm2pgsql pour le chargement dans postgis

Vous aurez quatre nouvelles tables dans votre base Postgis:

tables postgis crées par osm2pgsql

Chargement dans QGis

Pour les fichiers shp, chargez la couche gis_osm_roads_free_1.

chargement du shape osm dans qgis

Pour les fichier osm traités avec osm2pgrouting, chargez la table ways.

chargement du fichier issu de osm2pgrouting dans qgis

Pour les fichiers pbf traités avec osm2pgsql, chargez la table planet_osm_line. Contrairement à ce que l’on peut penser, la table planet_osm_roads ne contient que les grands axes. Dans la table planet_osm_line vous aurez toutes les entités linéaires, pas seulement le réseau routier. Pour n’avoir que les routes vous devez appliquer un filtre sur l’attribut highway pour ne retenir que les lignes où cet attribut n’est pas NULL. Si vous souhaitez travailler sur le réseau hydrographique, le filtre IS NOT NULL doit être appliqué à l’attribut waterway et si vous souhaitez travailler sur le réseau ferré c’est l’attribut railway qu’il faut filtrer.

chargement des tables issues d'osm2pgsql dans qgis.

Si vous travaillez à l’échelle d’une petite ville ou d’un village, vous pouvez utiliser une symbologie spécifique.

symbologie du réseau avec les flèches de sens de circulation

Vous pouvez charger ces symboles au format xml à partir de ce lien. pour les utiliser, ouvrez le gestionnaire de style, cliquez sur importer/exporter et pointez sur le fichier oneway.xml téléchargé.

symboles pour oneway osm avec Qgis

Pour les appliquer, ouvrez les propriétés de la couche gis_osm_roadfs_free_1 -> symbologie. Sélectionnez Catégorisé, valeur-> oneway.

Vous aurez trois classes avec les valeurs B,F et T.

Appliquez le symbole

  • oneway_both à la valeur B,
  • oneway_forward à la valeur F,
  • oneway_opposite à la valeur T.

Vous avez aussi les étiquettes network_speed qui affichent la vitesse maximale du tronçon et qui doivent utiliser le champ maxspeed de la couche.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *