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 des trottoirs surfaciques, définis par les tags highway=pedestrian + area=yes ou plus rarement highway=footway + footway=sidewalk + area=yes.

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 ou 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.