Le 21 septembre 2014 19:18, Muselaar <musel...@ouvaton.org> a écrit :
> J'ai eu besoin d'OSRM pour extraire facilement une trace gpx représentant > un trajet en bus, au lieu de devoir bidouiller avec JOSM, en devant (tiens, > on revient là-dessus) couper tous les ronds points (dans mon export, hein, > pas de blague) pour pouvoir fusionner tous les segments et obtenir une > trace unique, et pas plein de petits bouts. En effet, c'était ça qui me > coinçait, il n'est pas possible de fusionner les segments dès qu'il y a un > rond-point dans le trajet, ce qui est assez logique, du fait que le chemin > a obligatoirement un sens. Même pour les lignes de bus il n'est pas du tout nécessaire de couper les rond-points... il n'est d'ailleurs même pas nécessaire le plus souvent de tracer deux routes séparées pour chaque sens; on peut tout à fait réunir les deux sens dans la même relation... à condition d'employer correctement les rôles forward et backward : - garder le rôle vide pour un segment commun employé dans les 2 sens. - rôle="forward" dans la plupart des sens uniques (y compris les deux voies opposées des triangles de raccordement au rond-point). on peut aussi mettre "forward" - rôle="backward" très exceptionnellement, et uniquement dans les sens uniques (oneway=yes) employés seulement dans le sens opposé par le bus (par une voie réservée en contre-sens du sens normal) ; si la rue en "sens unique" est parcourue dans les deux sens par le bus (voir normale en sens normal, et voie en contre-sens réservée au bus), laisser le rôle vide pour ce segment qui est bien bidirectionnel pour les bus même s'il est en sens unique pour les autres. - parfois aussi rôle="backward" dans les segments qui ne sont pas des sens uniques à proprement parler mais qui ne sont emprunté par la ligne que dans un seul sens (car pour l'autre sens, le bus passe par un autre chemin) : dans ce cas c'est "backward" si le trajet se fait dans la direction inverse du tracé du chemin (si on laisse le rôle vide cela voudrait dire que la ligne emprunte le chemin dans les deux directions): si la rue bidirectionnelle est empruntée dans un seul sens mais dans le sens du tracé du chemin, le rôle est "forward" (si on laisse le rôle vide cela voudrait dire que la ligne emprunte le chemin dans les deux directions) Et tout peut être ordonné en partant d'un des deux terminus. Cas particulier pour les lignes de bus en boucle : là encore une seule relation suffit pour les deux sens on part d'un point arbitraire; mais idéalement cela devrait être un des terminus (là où les bus se mettent en attente ou commencent leur parcours en début de service) ---- Seule difficultés: * les lignes qui font un décrochement et reviennent sur leur pas avant de poursuivre par un autre chemin : je ne vois pas comment faire actuellement pour indiquer le sens de parcours uniquement avec les chemins. personnellement j'ordonne les chemins du décrochement après la liste des autres chemins connectés. Une partie du décrochement dans la même direction étant parcouru sur un même chemin dans les deux sens, ce chemin est bidirectionnel et a donc un rôle vide. Problème alors: le décrochement est-il emprunté par la ligne bus dans ses deux directions ? Pas toujours. C'est ambigu sauf si on ajoute la liste des arrêts (noeuds avec le rôle "stop") qui détermine quand (au milieu de la ligne) le décrochement est parcouru (il faut rodonner les noeuds de rôle "stop". Mais alors si l'arrêt n'est utilisé quand dans une seule direction une variante est d'utiliser les rôles "stop_forward" ou "stop_backward" mais cela n'a rien à voir avec le sens de tracé de la rue mais à l'ordre des noeuds : "stop_forward" c'est quand l'arrêt est utilisé seulement après le noeud précédent de la liste, et "stop_backward " quand l'arrêt est utilisé seulement après le noeud suivant de la liste. * les lignes qui font un décrochement mais ne reviennent pas par le chemin d'entrée vers ce décrochement et font un "huit": ce cas se présente pour des lignes qui font un décrochement en tournant à gauche pour faire le tour d'une place par exemple et sortent de la place pour revenir à un point déjà parcouru dans le même sens en tournant à nouveau à gauche -- dans le même direction de la ligne un même segment est emprunté deux fois dans le même sens -- et le cas identifique pour le décrochement par une boucle en dortant en droite et revenant à la ligne en tournant à nouveau à droite pour reprendre le même segment ans le même sens. Là encore la liste ordonnée des arrêts résout l'ambiguité. En gros: pour les lignes de bus; ce qui est en fait le plus important c'est moins le chemin effectivement suivi que la liste ordonnée des arrêts (noeuds de rôles "stop", "stop_forward" et "stop_backward"). Les chemins suivis sont accessoires et donc rien ne justifie de tronçonner les ronds-points. ---- Autre cas: parfois certains rond-points ont une voie centrale réservée aux bus qui l'emprunte dans un seul sens (souvent pour tourner à gauche pour ne pas avoir à faire le grand tour : on les trouve dans les villes avec des ronds-points un peu étroits et où les bus articulés ont du mal à faire le virage); dans l'autre sens, (pour tourner à droite) le bus prend un court segment du rond-point normal ou prend une voie de contournement extérieur en évitant le rond-point. Dans ce cas dans une direction on n'utilise pas le cercle du rond-point mais on emprunte la voie centrale (avec le rôle "forward" puisque sens unique et dans le même sens que le tracé SVP donc aussi avec "oneway=yes"), pour l'autre direction on utilise le rond-point ou la voie de contournement extérieure (également avec le rôle "forward" là aussi c'est un sens unique). Le rond-point lui-même est alors particulier puisqu'en en faisant le tour il faut céder le passage au bus entrant ou sortant de la voie centrale (on voit des lignes au sol marquant le céder le passage où les véhicules sur l'anneau ne sont pas prioritaires contrairement aux ronds-points normaux. Mais là encore pas besoin de tronçonner le rond-point ! Il suffit juste de mettre sur le cercle du rond-point des noeuds "céder le passage" (highway=giveway) ---- Le seul cas où il convient sans doute de tronçonner un rond point est celui où une partie de celui-ci est un pont (par exemple des rond-points construits sur deux ponts séparés (parfois trois) qui passent par dessus une rocade. Le rond-point est assez grand pour qu'on puisse clairement séparer les deux ponts et ne pas mettre tout le rond-point en pont puisque le reste est à niveau et d'autres rues s'y connectent (par exemple les 4 bretelles de raccordement à la rocade passant sous les deux points du rond-point). On est là dans un cas de carrefour de taille très importante avec une voirie compliquée (en fait un échangeur) qu'il vaut mieux détailler un peu; et ce n'est en fait pas réellement un rond-point même si les règles de priorité à gauche (aux véhicules déjà dans l'anneau). Mais ce cas est rare et on doit en trouver tout au plus un ou deux au dessus des rocades des grandes villes (parfois une ligne de chemin de fer). L'autre solution serait de découper la voie passant sous les ponts en tunnel mais seulement si celle-ci est semi-enterrée), ce qui évite alors de tronçonner le rond-point .C'est discutable. D'une façon générale, le tronçonnage des ronds-oints complique beaucoup plus la maintenenance des itinéraires comme les lignes de bus, ou routes cyclables ou réseaux de routes (comme une relation pour toute une départementale ou nationale). La plupart des exemples fait avec un tronçonnage sont bogués au niveau du routage. Il faut l'éviter autant que possible.
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-fr