[OSM-talk-fr] Appli mobile pour mapper les arrêts de bus

Philippe Verdy verdy_p at wanadoo.fr
Ven 21 Oct 20:26:32 UTC 2016


Les tags "from=*", "via=*" et "to=*" sont plutôt destinés à un utilisateur
humain qu'à subir un vrai rapprochement avec un arrêt.

Dans le shéma actuel ("public_transport:version=2" dans les relations
"route"), ce sont les noeuds membres (posés sur un les ways membres) ayant
un rôle "stop" qui servent à ça, le premier noeud (from) devrait être de
rôle "stop_enter_only", le dernier de rôle "stop_exit_only". La direction
de la ligne devrait s'en déduire.... L'ennui c'est qu'il existe parfois des
stations intermédiaires qui n'autorisent que la descente ou que la montée,
ayant ces même rôles (c'est rare...). On n'a en fait rien de clair pour
indiquer réellement quels arrêts (noeuds de rôle "stop") sont les deux
terminus (l'idéal serait d'ajouter un suffixe ":start" ou ":end" à ces
rôles)

On peut ajouter aussi les plateformes (noeuds, lines ou polygones) en
membres de rôle "platform" (avec "platform_enter_only",
"platform_exit_only" pour le premier et le dernier arrêt, mais cela me
semble inutile si on a identifié clairement les deux noeuds "stop" de
départ et d'arrivée: le rôle "platform" suffit à lui seul; ces rôles
variantes sont plutôt destinés à combler des données manquantes quand il
manque des noeuds "stop", mais les plateformees sont pas faciles du tout à
gérer et associer avec le parcours de la ligne sans un noeud "stop"
correspondant).

Il reste cependant le cas des lignes circulaires dont le départ et
l'arrivée sont au même point: si ce point n'est pas sur un way en sens
unique (par exemple une petite voie de service latérale à la chaussée), là
on a bsoin que ce premier chemin ait un rôle "forward" ou "backward" (je ne
vois pas comment faire autrement) pour indiquer le sens de la ligne.
L'autre solution serait d'utiliser deux noeuds très proches mais séparés
pour distinguer le départ et l'arrivée (mais sans mettre alors dans la
"route" le segment qui les relie ! Ces noeuds étant cependant associés à la
même plateforme.

Les chemins sont ensuite parcours dans le sens indiqués par leur jonction,
mais il reste la difficulté des lignes dont l'itinéraire repasse plusieurs
fois par le même noeud (voire même par un même chemin en cas de détour, et
pas non plus forcément en sens opposé si ce détour fait une boucle): là
encore les chemins doivent être orientés pour réduire (avec backward ou
forward) le nombre de possibilités de succession des chemins, mais il peut
rester des ambiguités.

Pour éliminer totalement ces ambiguïtés, il a été proposé de créer des
relation "route" avec un tag "segment=yes", où les chemins forment une
ligne ininterrompue et ne repassant jamais par un même noeud ou chemin,
puis d'inclure ces segments de routes en tant que membres d'une relation
"route" normale. Mais ce n'est pas encore mis en oeuvre.

En attendant, on a encore besoin que les relations "route" mentionnent la
liste des arrêts ("stop") dans l'ordre exact. Et il est impératif
d'utiliser des noeuds rôle "stop" (tagués "public_transport=stop_position"
+ "bus=yes") sur les chemins. Ces noeuds n'ont aucun tag pour les abris,
poubelles, accès handicap, etc. qui sont à mettre plutôt sur les objets
"public_transport=platform".

Le nouveau schéma recommande même de placer dans l'ordre dans la relation
les noeuds "stop" suivis immédiatement de l'objet "platform" auquel il se
réfère; la liste des chemins se met plutôt ensuite après (avec des chemins
en doublons parfois, faute de prise en charge pour l'instant des "segments"
de route).

Noter que les chemins peuvent aller commencer et aller plus loin que le
premier et le dernier arrêt (généralement on inclue dans une route aussi
les éléments de chemins qui raccorde une route pour un sens à l'autre route
dans l'autre sens dans la même ligne.

Le plus compliqué est de réviser les "bus_stop" qui ont été placés un peu
n'importe où (sur les chemins ou pas) et tagués de façon hybride comme des
"stop" ou des "platform", et ensuite repris indifféremment avec le même
rôle "platform" dans les relations "route" ; il faut:
- enlever les "highway=bus_stop" sur les noeuds, mettre
"public_transport:version=2" sur les noeuds,
- doublonner ces noeuds s'il y a des "shelter ou wheelchair", en placer un
sur le chemin, l'autre à côté pour la station du bon côté,
- en mettre un avec "public_transport=stop" (celui sur le chemin), l'autre
avec "public_transport=platform"
- ne garder les tags "shelter=yes" ou "wheelchair=yes" que sur la
plateforme,
- mettre le tag "bus=yes" sur le stop
- reprendre la relation "route" et placer les deux noeuds (le "stop"
d'abord suivi de la platforme)
- vérifier l'ordre de succession des stop/platform dans la liste
- la route ensuite peut avoir des ""from=*", "via=*" et "from=*" mais ils
ne sont pas obligés de mentionner le nom exact local de l'arrêt (figurant
sur place)

La "description=*" de la route peut avoir besoin d'indiquer en plus du
numéro (commercial) de ligne la direction mais pas nécessairement le nom du
dernier arrêt, elle peut mentionner juste le nom simplifié dans "to", ou
bien lui ajouter une désambiguisation "Commune (arrêt)", par exemple
"Trifouillis-lès-Oies (Mairie)", même si l'arrêt sur place s'appelle
seulement "Mairie": sur une même ligne les noms d'arrêts sont le plus
souvent simplifiés, de même la direction d'une ligne affichée sur les bus,
quu peut être juste le nom de la commune suivante, les bus pouvant
maintenant changer dynamiquement cet affichage au cours de son parcours, au
début ils vont mentionner le nom d'une commune, puis le nom d'un quartier,
puis le nom de l'arrêt final, ce qui faciliter la vie pour les usagers qui
peuvent confondre les numéros de lignes)

Quand on a pu enfin construire correctement toutes les routes (une par
direction et par variante d'itinéraire), on peut les réunir dans une
relation "route_master" (pas besoin de rôle spécifique, ni même de préciser
la version du schéma de transport).

Puis rassembler toutes les lignes (relations "route_master") dans une
relation "network".

----

Noter aussi que la proposition des "segments de route" devrait aussi
permettre de prendre en compte des lignes qui partagent en partie certains
bus sous plusieurs numéros de lignes (parfois pour des réseaux différents):
une "route" en revanche ne doit concerner qu'un seul numéro de ligne sur un
seul réseau: ce cas est courant pour les liaisons longue distance dont une
partie seulement est prise en charge par une collectivité ou un EPCI dans
son réseau de transport: on a des cas de partages de lignes interrégionaux,
intercommunaux, inter-EPCI, et des cas même où une liaison n'est pas
entièrement publique mais fait partie d'une offre d'un transport privé, qui
n'est sous contrat avec la collectivité que dans son secteur et pas sur le
reste.

Ces partages de liaisons (pour plusieurs lignes diférentes) existent aussi
bien pour les bus, que le train, exactement comme dans le transport aérien
(où cela se pratique tous les jours entre affrêteurs d'avions, compagnies
aériennes et agences de voyage), du fait que pour les transports publics
les territoires (le plus souvent les EPCI aujourd'hui ou des syndicats
mixtes groupant plusieurs EPCI) ont obtenu des monopoles et une compétence
exclusive (qui interdisent aux autres collectivités sur leur territoire de
négocier ou subventionner individuellement des transports avec des
opérateurs privés).


Le 21 octobre 2016 à 18:03, Florian LAINEZ <winnerflo at free.fr> a écrit :

> Merci encore pour vos réponses, j'ai affiné ma présentation en intégrant
> vos différentes idées https://slides.com/overflorian/busstopcollector/
>
> Tu veux intégrer de l'OCR (reconnaissance optique de caractères) pour
>> avoir les noms des arrêts ? ;-).
>>
> je garde l'idée pour la v10 ! Plus sérieusement tes suggestions concernant
> la collecte de GPX / photos sont très pertinentes.
>
> Pas mis à jour depuis longtemps mais cette application avait la vocation
>> de mapper les arrêts de transport http://makinacorpus.github.io/
>> osm-transport-editor/#/
>
> J'avais déjà vu passé ça mais j'avais oublié son existence ! Je vais
> contacter le développeur pour lui faire part de mon projet, merci
>
> Dans ta "présentation tu parles "Edit bus stops details: name, direction,
>> bus line". Bus_line et direction sont tagués sur le bus_stop ? Je ne trouve
>> rien sur le wiki, j'ai raté des choses je pense !
>
>
> +1
>  la ligne est portée par la ou les relations ("name" ou "ref") ainsi que
> la direction ("to")
>
> "highway=bus_stop" fait partie de l'ancien modèle, il me semble qu'il
> vaut mieux utiliser le nouveau "public_transport=stop_position"
>
> Si on regarde le Schéma : https://wiki.openstreetmap.org
> /wiki/FR:Key:public_transport#Sch.C3.A9ma_en_bref - si on reste dans le
> bus, on va tagger uniquement l'endroit où s’arrête le bus  "stop_position"
> ou l'endroit où attendent les passagers  "platform" qui n'est pas
> forcément à la hauteur de là où s'est arrête le bus.
>
> Je détaille bien dans ma présentation le fait que je m'intéresse pour
> l'instant aux points d'attente des passagers et que le point d'arrêt du bus
> viendra peut-être plus tard.
>
> Concernant les tags à utiliser, je pense qu'il est prématuré d'en parler,
> je ne suis qu'à débroussailler ce que pourrait être l'appli pour l'instant.
> Ceci dit je suis tout à fait au fait de la problématique ancien modèle VS
> nouveau modèle public_transport.
>
> D'autres idées / remarques ?
>
> Le 21 octobre 2016 à 10:14, lenny.libre <lenny.libre at orange.fr> a écrit :
>
>>
>> Le 21/10/2016 à 08:45, Vincent Bergeot a écrit :
>>
>> Le 20/10/2016 à 11:26, Florian LAINEZ a écrit :
>>
>>
>> dans le bus je me sers d'un thème quasi identique à celui là :
>>> https://www.cartes.xyz/t/04e491-Arrets_de_bus__Florian#
>>
>> @vincent tu m'as bien compris, c'est exactement ce que j'aimerai faire
>> avec un interface pour les débutants. Il manque aussi à ton outil la
>> gestion des lignes : il est difficile de voir quels arrêts sont sur la même
>> ligne, or ça me parait être clef pour la simplicité de contribution.
>>
>> yep, je crois comprendre.
>> Cela devient plus une question de "rendu" que de données si je comprends
>> bien. Imaginer les couleurs correspondantes aux lignes et les arrêts
>> associés.
>> Effectivement, en mettant le rendu transport sur le thème précédent,
>> c'est déjà un peu plus clair.
>>
>> Dans ta "présentation tu parles "Edit bus stops details: name, direction,
>> bus line". Bus_line et direction sont tagués sur le bus_stop ? Je ne trouve
>> rien sur le wiki, j'ai raté des choses je pense !
>>
>> +1
>>  la ligne est portée par la ou les relations ("name" ou "ref") ainsi que
>> la direction ("to")
>>
>> "highway=bus_stop" fait partie de l'ancien modèle, il me semble qu'il
>> vaut mieux utiliser le nouveau "public_transport=stop_position"
>>
>> Si on regarde le Schéma : https://wiki.openstreetmap.org
>> /wiki/FR:Key:public_transport#Sch.C3.A9ma_en_bref - si on reste dans le
>> bus, on va tagger uniquement l'endroit où s’arrête le bus  "stop_position
>> " ou l'endroit où attendent les passagers  "platform" qui n'est pas
>> forcément à la hauteur de là où s'est arrête le bus.
>>
>>
>>
>> Et pour les relations, à voir avec la requête overpass qui le fait !
>>
>> PS : je suis conscient que cela ne correspond pas à certaines de tes
>> attentes (off-line, interface plus simple, android, ...) mais cela me
>> permet aussi d'avancer sur un thème arrêt de bus pour que ta mère puisse
>> s'en servir une fois qu'elle aura commencé avec ton idée d'application :)
>>
>> --
>> Vincent Bergeot
>>
>>
>>
>>
>> _______________________________________________
>> Talk-fr mailing list
>> Talk-fr at openstreetmap.org
>> https://lists.openstreetmap.org/listinfo/talk-fr
>>
>>
>
>
> --
>
> *Florian Lainez*
> @overflorian <http://twitter.com/overflorian>
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr
>
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20161021/a2149914/attachment.htm>


Plus d'informations sur la liste de diffusion Talk-fr