FR:Recommandations pour le routage piéton

From OpenStreetMap Wiki
Jump to navigation Jump to search

Cette page a pour objectif de favoriser les bonnes pratiques de cartographie pour le routage piéton. Par routage il est entendu le calcul d'itinéraire et le guidage, c'est-à-dire la description de l'itinéraire par une feuille de route. Par routage piéton il est entendu, en plus du routage linéaire « classique », une prise en compte de l'intérieur des bâtiments et d'éléments surfaciques.

Cette page est un point d'entrée thématique vers les pages décrivant les éléments utiles pour le routage piéton. Elle détaille des recommandations permettant un routage précis et « réaliste ». Ces recommandations s’appuient sur les règles de topologie existantes et le modèle Simple Indoor Tagging.

Routage sur éléments linéaires

Chemins piétons et chemins partagés

Les calculateurs d'itinéraires exigent que les chemins soient connectés entre eux et forment un  graphe. Afin de clarifier la suite des explications, il est utile de définir deux catégories de chemins (ways)  :

  • Chemins piétons (ou séparés) : ways dont l'axe décrit une voie prévue pour les piétons ou sur laquelle les piétons sont prioritaires et peuvent circuler sur toute la largeur de la chaussée : highway=footway, highway=pedestrian, highway=living_street, highway=path, highway=track et highway=steps.
  • Chemins partagés : ways dont l'axe décrit une chaussée sur laquelle circulent des véhicules. Les piétons peuvent circuler sur le côté de la chaussée, typiquement un trottoir. Il s'agit de l'ensemble des highway=* (autres que les chemins piétons) sur lesquels les piétons sont autorisés de circuler.

Recommandations

  • Prendre en compte les autorisations d'accès par défaut du pays cartographié, si besoin expliciter les conditions d'accès pour les piétons avec la clef foot=*.
  • Sur un chemin partagé entre piétons et cyclistes, par exemple une piste cyclable highway=cycleway explicitement autorisée aux piétons par foot=yes/designated/etc., préciser si un espace distinct est prévu pour chaque mode de déplacement avec la clef segregated=*.

Trottoirs et passages piétons

Combiner trottoirs partagés et séparés

Un trottoir peut être un chemin piéton (highway=footway + footway=sidewalk) ou un chemin partagé (highway=* + sidewalk=left/right/both). Les trottoirs séparés permettent de préciser des informations comme la hauteur des trottoirs avec kerb=* et la présence de bandes podotactiles avec tactile_paving=*. La page Trottoirs décrit les deux approches.

Un passage piéton est représenté par un node portant le tag highway=crossing, partagé avec le way représentant l’axe de la voie. Il peut également être représenté (et cumulé) par un way de type highway=footway + footway=crossing reliant un ou plusieurs chemins séparés à l'axe de la voie. La page footway=crossing décrit comment cartographier les traversées partagées avec les cyclistes.

Le schéma Combiner trottoirs partagés et séparés illustre les deux approches pour représenter un trottoir.

Connecter un chemin sans détour artificiel

Recommandations

  • Lorsqu'un trottoir est cartographié séparément, ajouter à la route le tag sidewalk=separate : cela permet d'éviter la création de doublons.
  • Éviter de forcer la connexion d'un chemin à un passage piéton s'il n'arrive pas en face. Cela pourrait produire un détour incohérent sur un itinéraire. Voir le schéma Connecter un chemin sans détour artificiel.

Astuces

  • JOSM : le coloriage Sidewalks permet de visualiser la présence de trottoirs de part et d'autre des chaussées.

Escaliers et ascenseurs, passerelles et souterrains

Passerelle piétonne franchissant une route

Un escalier est défini par un way portant le tag highway=steps, un ascenseur est un node portant le tag highway=elevator. Une rampe est un chemin highway=footway portant le tag incline=*. Ces éléments doivent être reliés, en haut et en bas, aux chaussées et voies piétonnes.

Les passerelles piétonnes sont des chemins highway=footway portant le tag bridge=yes. De même les souterrains sont identifiés par tunnel=yes. Ne pas oublier le tag layer=* sur ces éléments.

Points de vigilance

  • Vérifier le sens de montée des escaliers défini par le tag incline=*, l'absence de ce tag signifie que la montée est dans le sens du way.
  • Respecter la longueur des escaliers : il est préférable d'ajouter un highway=footway pour relier un chemin séparé à un chemin partagé, plutôt que d'allonger artificiellement l'escalier.
  • Faire attention à ne pas partager de node entre une passerelle ou un souterrain, et les éléments se trouvant en-dessous ou au-dessus.
  • Lorsqu'un chemin passe au-dessus d'un autre, découper précisément la section se trouvant au-dessus de l'autre et ajouter le tag layer=* sur cette seule section.

Voir le schéma Passerelle piétonne franchissant une route.

Obstacles

Un obstacle sur un chemin est un node portant la clef barrier=*. Certains obstacles comme les blocs barrier=block ou les poteaux barrier=bollard sont par défaut ouverts aux piétons.

Recommandations

  • En l'absence d'une documentation précise des accès par défaut pour les obstacles, préciser foot=yes si l'obstacle peut être franchi par les piétons, wheelchair=yes s'il peut être franchi en fauteuil roulant.
  • Ne pas placer un obstacle sur un node se trouvant au carrefour de plusieurs voies : cela bloquerait tout passage au carrefour. Voir cette note illustrée par des exemples.

Chemins à l'intérieur des bâtiments

Chemins vers et à l'intérieur d'un bâtiment

Le modèle Simple Indoor Tagging décrit comment cartographier les espaces à l'intérieur (indoor) d'un bâtiment (building=*). Il est possible d'y créer des chemins piétons, qui peuvent alors être exploités par un calculateur d'itinéraires.

Un chemin indoor doit porter le tag level=* pour indiquer l'étage auquel il se trouve. Les changements de niveaux sont indiqués par une valeur multiple du tag level=* (par ex. level=1;2) sur un escalier highway=steps, un ascenseur highway=elevator ou une rampe highway=footway + incline=*.

Recommandations

  • Ajouter le tag indoor=yes aux chemins se trouvant à l'intérieur de bâtiments non cartographiés en indoor.
  • Vérifier la cohérence des level=* entre les chemins et les espaces indoor=* dans lesquels ils se trouvent ou entre lesquels ils communiquent (escaliers, etc.).
  • Connecter ces chemins aux portes door=* permettant d'entrer ou sortir d'une pièce fermée indoor=room.
  • Modéliser les portes permettant d'entrer et/ou sortir d'un bâtiment par un node portant la clef entrance=*, qui doit être partagé entre le périmètre du building=* et les chemins intérieurs et extérieurs.
  • Sur les bâtiments complexes, considérer le routage surfacique !

Routage sur des éléments surfaciques

Les aires piétonnes sont des zones au sein desquelles les piétons peuvent se déplacer librement sans suivre un parcours prédéfini. Le routage surfacique sur ces zones permet de produire des parcours réalistes, tout en évitant de créer un multitude de ways qui ne sont généralement pas matérialisés sur le terrain.

Des algorithmes permettent de générer des parcours réalistes à l'intérieur d'une aire. Voici quelques articles sur ce sujet :

Surfaces praticables par les piétons

Les aires (ou surfaces) sont modélisées soit par des ways fermés (éventuellement avec le tag area=yes) soit par des relations de type multipolygon. La page FR:Relation:multipolygon décrit comment créer des multi-polygones géométriquement et topologiquement corrects.

Voici une liste de tags décrivant des aires piétonnes (liste non exhaustive à adapter au cas d'usage) :

On trouve également :

Note : la clef area:highway=*, qui permet de décrire la forme des routes et des trottoirs, n'est pas destinée au routage même surfacique.

Lorsque plusieurs aires piétonnes sont contiguës, leur jonction doit être faite par des nodes partagés : faire attention à bien partager tous les nodes en contact entre ces zones.

Jonctions entre lignes et surfaces

Connecter un chemin à une aire piétonne

Un routage exclusivement surfacique n'est pas envisageable, il peut compléter et doit être combiné à du routage linéaire. Les jonctions entre chemins et aires piétonnes sont donc essentielles.

Pour permettre aux routeurs de combiner routage linéaire et routage surfacique, il est essentiel de connecter les chemins aux aires piétonnes qu'ils atteignent ou traversent. La connexion entre un chemin et une aire est matérialisée par un nœud (node) partagé entre les deux objets – voir le schéma Connecter un chemin à une aire piétonne.

Recommandations

  • Relier entre eux les chemins arrivant à une aire piétonne, afin de permettre aux routeurs non surfaciques de proposer un itinéraire traversant l'aire piétonne.
  • Lorsqu'une place piétonne est traversée par une rue non piétonne, créer une aire piétonne highway=pedestrian + area=yes de chaque côté de la rue, la totalité de la place n'étant pas piétonne. La place elle-même peut être cartographiée avec le tag place=square – voir le schéma Place piétonne traversée par une rue piétonne ou non piétonne.
Place piétonne traversée par une rue piétonne ou non piétonne

Obstacles linéaires et points de passage

Un algorithme de routage surfacique doit pouvoir prendre en compte les obstacles linéaires se trouvant à l'intérieur (totalement ou en partie) d'une aire piétonne, ou sur la jonction entre deux aires piétonnes. Ce qui constitue un obstacle peut dépendre des contraintes associées au profil piéton.

Obstacle linéaire et point de passage

Un obstacle linéaire peut être :

  • une barrière explicite : une ligne définie par la clef barrier=* (à l'exception de barrier=kerb qui décrit le rebord d'un trottoir)
  • un élément constituant une barrière implicite, par exemple un remblai man_made=embankment
  • le périmètre d'une surface constituant une barrière implicite : bâtiment building=* (à l'exception des toits building=roof), kiosque à musique leisure=bandstand, etc.

Un point de passage permet de franchir un obstacle linéaire. Il est modélisé par un node de cet obstacle portant l'un des tags suivants :

  • entrance=* : entrée d'un parc, d'un bâtiment, etc.
  • barrier=* : certaines valeurs de ce tag décrivent des points de passage, comme barrier=entrance qui est une ouverture dans un barrière linéaire, ou encore barrier=cycle_barrier qui ne bloque pas les piétons. Ces points de passage sont des nodes généralement connectés à des chemins traversant la barrière linéaire.

Recommandations

  • Si un obstacle linéaire est étanche (il ne peut pas être contourné), partager les nœuds de ses extrémités avec le périmètre de l'aire piétonne.
  • Lorsqu'un obstacle linéaire se trouve sur la jonction entre deux aires piétonnes contiguës (par exemple une grille séparant une place et un parc), partager ses nodes avec les deux aires.
  • Renseigner les conditions d'accès des points de passage avec access=* (foot=* pour les piétons), leur accessibilité avec wheelchair=*, et les éventuels horaires d'ouverture avec opening_hours=*.

Intérieur des bâtiments

Aires piétonnes indoor et niveau plancher

Le modèle Simple Indoor Tagging, fortement topologique, permet naturellement le routing surfacique. Il définit la clef indoor=*, qui introduit de nouveaux éléments pour le routage surfacique :

Une aire piétonne peut s'élever sur plusieurs niveaux, le tag level=* a alors une valeur multiple (ex. level=0;1 ou level=1-3). Le niveau plancher d'une aire piétonne indoor correspond à la valeur de level la plus basse : le routage piéton se fait à ce niveau uniquement. Les transitions entre deux aires adjacentes ouvertes (indoor=area ou indoor=corridor) n'est possible que si leur niveau plancher est identique.

S'il n'est pas possible de se déplacer librement entre deux espaces ouverts adjacents, créer un obstacle linéaire à leur jonction et des points de passage en chaque point où il peut être franchi.

Escaliers et jonctions géométriques

Connexions géométriques et topologiques

Un escalier highway=steps permet de changer d'étage, les niveaux desservis sont décrits par le tag level=*. La jonction entre un escalier et une aire piétonne est définie par un node partagé entre le chemin représentant l'escalier et le périmètre de l'aire.

Le modèle Simple Indoor Tagging permet également d'établir une jonction géométrique entre un escalier et une aire piétonne. Un node de l'escalier se trouvant à l'intérieur de l'aire piétonne, portant le tag door=* et une valeur de level=* égale au niveau plancher de l'aire, permet d'établir sans ambiguïté une jonction entre l'escalier et la surface.

Noter qu'il est toujours possible d'établir une connexion topologique, en créant un multipolygone dont le trou représente la trémie ou l'emprise au sol de l'escalier (voir le schéma Connexions géométriques et topologiques). Ajouter le tag door=* au node établissant une connexion topologique est possible mais redondant.

Un escalator est défini par les tags highway=steps + conveying=*. Une rampe est un chemin highway=footway portant le tag incline=*.

Il est possible de représenter de manière surfacique les escaliers, comme le propose ce schéma. Cela complète mais ne remplace leur représentation linéaire.

Ascenseurs et cages d'ascenseurs

Ascenseur sans/avec cage d'ascenseur

Un ascenseur est défini par un node highway=elevator, le tag level=* décrit les étages desservis, soit par une liste de valeurs (ex. level=1;2;4) soit par un intervalle (ex. level =-1-4). Une jonction géométrique est possible entre le node de l'ascenseur et les aires piétonnes dans lequel il se trouve et dont le niveau est desservi.

Il est possible de représenter une cage d'ascenseur par une pièce indoor=room, le tag level définit son extension verticale (par exemple level=-1-4 pour les niveaux -1 à 4). L'ascenseur highway=elevator est alors relié aux aires piétonnes, à chaque niveau desservi, par un chemin highway=footway et une porte door=*. Pour les portes se trouvant du même côté de l'ascenseur, ne créer qu'une seule porte et un seul chemin et utiliser le tag repeat_on=*.

Le schéma Ascenseur sans/avec cage d'ascenseur montre les deux manières de cartographier un ascenseur.

Routage piéton dans les zones complexes

Le routage piéton est particulièrement utile dans les zones complexes : gares ferroviaires, aéroports, galeries marchandes (shop=mall), centres d'exposition (Proposed features/Events centre), etc. Ces lieux combinent espaces extérieurs et intérieurs pouvant s'étendre sur plusieurs niveaux, et sont souvent associés à d'autres espaces piétonniers (place piétonne, gare routière, station de métro, etc.).

Le routage piéton à l'intérieur et aux alentours des zones complexes exige une cartographie précise, et présente plusieurs défis pour proposer des itinéraires réalistes et guider les usagers avec des instructions claires.

Entrées-sorties

Tous les points permettant d'entrer ou sortir d'un bâtiment ou d'une zone fermée sont définis par un node entrance=*. Il s'agit souvent de la jonction entre espaces extérieurs et intérieurs (indoor), potentiellement aussi entre routage linéaire et surfacique. Les nodes matérialisant ces points de passage doivent donc être partagés avec tous les éléments de routage adjacents : chemins piétons séparés ou partagés, et aires piétonnes.

Par exemple dans une gare ferroviaire, ce tag peut être placé sur :

  • la porte d'entrée door=* du bâtiment de gare building=train_station
  • le tourniquet barrier=turnstile ou tout autre obstacle barrier=* que l'on franchit pour entrer dans la gare
  • le point d'un chemin piéton où l'usager est informé ou ressent qu'il pénètre dans la gare (par un panneau, un escalier, un passage souterrain, etc.)

Nommage des entrées-sorties

Les entrées-sorties ont souvent un nom, qui est dans la plupart des cas indiqué dans le sens de la sortie (Centre-ville, Gare routière, Rue de la Poste, etc.) et est affiché le long du trajet par des panneaux d'information. La tag name=* permet de renseigner ce nom sur chaque entrée-sortie. Le numéro ou code de sortie éventuel est précisé par ref=*.

Il arrive que le nom diffère selon le sens dans lequel on franchit l'entrée/sortie, par exemple dans une gare ou un aéroport directement relié à une station de métro. Afin de nommer sans ambiguïté ce point de passage selon le sens de franchissement, une relation relation destination_sign peut être créée pour chaque sens de circulation. Le nom de la sortie ou de l'entrée est indiqué dans le tag destination de la relation, dont les membres référencent le point de passage (rôle intersection), d'où on vient (rôle from) et où on va (rôle to).

Le diagramme Utilisation de la relation destination_sign pour le routage piéton décline un exemple de nommage différencié d'une entrée-sortie pour le routage linéaire et le routage surfacique, ainsi que pour la combinaison des deux.

Utilisation de la relation destination_sign pour le routage piéton

Notez qu'afin de permettre le routage surfacique, les membres from et to de la relation destination_sign peuvent être des aires piétonnes (quai, couloir indoor, place piétonne, etc.). Il peut y avoir plusieurs membres ayant le même rôle, y compris pour les membres intersection, par exemple si une entrée est matérialisée par plusieurs portes adjacentes.

Deux vues de la même entrée-sortie de la gare Boulainvilliers à Paris

Un exemple de nommage différencié d'une entrée-sortie est illustré par l'image ci-dessus, qui montre deux vues de la même porte de la gare Boulainvilliers à Paris. Cette entrée-sortie est référencée par deux relations destination_sign, la relation portant le tag destination=Voie 2 - Nord correspond à la photo de gauche, celle portant le tag destination=Sortie Rue de Boulainvilliers - Rue Singer correspond à celle de droite. Notez la symétrie des membres from et to entre les deux relations.

Restrictions de circulation

Utilisation de la relation restriction

Les contraintes de circulation sont fréquentes dans les stations de métro et les aéroports : couloirs où l'on circule dans un seul sens, points de passage distincts pour l'embarquement et le débarquement, etc. Ces restrictions sont généralement matérialisées par un panneau « Accès interdit » placé au niveau d'une porte ou d'une barrière de contrôle d'accès, à l'entrée d'un couloir ou d'un escalier.

Une relation relation restriction, avec le tag restriction=no_entry, permet de décrire l'interdiction de franchir un point de passage sans ambiguïté quant au sens du franchissement. Comme pour la relation destination_sign, les membres de la relation référencent d'où l'on vient et où on va (rôles from et to), ainsi que le point de passage interdit (attention rôle via et non intersection).

Appliquer cette relation au routage piéton notamment surfacique peut amèner à y associer plusieurs membres ayant le même rôle.