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.
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.
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.
Le résultat du chargement est le suivant:
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
Une fois exécutée la ligne de commande:
Vous aurez quatre nouvelles tables dans votre base Postgis:
Chargement dans QGis
Pour les fichiers shp, chargez la couche gis_osm_roads_free_1.
Pour les fichier osm traités avec osm2pgrouting, chargez la table ways.
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.
Si vous travaillez à l’échelle d’une petite ville ou d’un village, vous pouvez utiliser une symbologie spécifique.
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é.
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.