User:FR:Nadjita/Routes

From OpenStreetMap Wiki
Jump to navigation Jump to search
Révision des itinéraires
Statut: Proposals with undefined or invalid status (inactive)
Proposé par : Nadjita
Balisage : segment=*, stage=*, stage:name=*, stage:name=*, label=*
S’applique à : relation
Définition : Cette proposition ajoute des attributs aux itinéraires et propose des règles qui permettront de les rechercher dans Nominatim et dans d'autres consommateurs de données.
Rendu comme : masqué
Ébauché le : 2023-06-26

S'applique à

Cette proposition ne s'applique qu'aux types d'itinéraires suivants : route=hiking, route=foot, route=bicycle.

Ambox warning pn.svg Tous les itinéraires network:type=node_network sont explicitement exclus.

Proposition

L'objectif est de permettre à Nominatim d'effectuer des recherches sur les noms et les références des itinéraires sans perdre d'informations importantes. Pour cela, nous devons être plus stricts sur ce qui est autorisé dans ces deux attributs. Toutes les valeurs que cette proposition rendrait invalides dans les noms et références des itinéraires seront déplacées vers d'autres balises plus pratiques pour les consommateurs de données. Pour cela, la proposition introduit plusieurs nouveaux attributs, formalise l'attribut stage=* déjà existant, et prône la mise en œuvre de règles plus strictes.

Le nom et la référence de l'itinéraire doivent correspondre au nom et à la référence officiels et balisés de l'itinéraire. Ils ne doivent pas inclure d'attributs tels que to=*, from=*, stage:name=*, stage:description=*, ni description=*, segment=*, ni s'appuyer uniquement sur une référence ou un nom "largement utilisé". En outre, il est recommandé d’utiliser short_name=* pour traiter les noms d'itinéraires contenant des caractères problématiques.

L'introduction du nouvel attribut label=* peut être considéré comme discutable par certains, mais il semble être le meilleur compromis pour permettre la recherche de ref=* sans inventer quelque chose comme symbol:ref ou similaire. Je pense sincèrement que les avantages d'un attribut général en valent la peine.

Motivations

Actuellement, Nominatim ne veut pas rechercher les noms et les références des itinéraires, parce que le nommage utilise toutes sortes de caractères différents qui ne seraient jamais trouvés, et parce que de nombreux noms et références d'itinéraires ne sont pas officiels, mais composés. Je veux donner aux cartographes les attributs dont ils ont besoin pour déplacer certains éléments qui sont couramment mis en correspondance dans le nom et la référence d'un itinéraire vers des attributs lisibles par la machine et convaincre Nominatim de rechercher les itinéraires par nom et référence.

En analysant des centaines d'itinéraires, j'ai remarqué que les noms d'itinéraires présentaient souvent ces erreurs :

  • Les itinéraires qui n'ont pas de nom s'en voient attribuer un, en pensant qu'ils ne seront pas affichés sinon. Dans le passé, certains éditeurs n'affichaient pas non plus les relations sans nom, si bien que les gens donnaient des noms aux itinéraires, juste pour pouvoir les trouver.
    • JOSM utilise l'ordre suivant pour l'affichage des relations : name, ref , description.
    • L'ordre d'affichage des relations dans iD est le suivant : name, ref, from/to.
  • Les itinéraires recevaient des références, même s'il n'y avait pas de référence officielle affichée sur les panneaux. Ceci a été fait pour que les cartes affichent l'itinéraire avec cette référence, au lieu d'un nom épouvantablement long. Il y a eu plusieurs discussions sur la question de savoir si les références devaient contenir uniquement les références officielles ou non, et comme il n'y a pas eu de consensus, les deux existent maintenant. A l'heure actuelle, il est impossible de savoir si la référence d'un itinéraire figure sur les panneaux ou non.
  • Les itinéraires ont des attributs dans leur nom qui ne font pas réellement partie du nom :
    • Ergänzungsroute (Itinéraire complémentaire)
    • Alternativroute (Itinéraire alternatif)
    • Abkürzung (Raccourci)
    • (* Certains itinéraires ont été découpés en étapes, et toutes les étapes sont alors regroupées dans un super-itinéraire (superroue). En général, ces étapes sont "jour 1, étape 1", et ainsi de suite. Ces étapes sont également visibles dans le nom des itinéraires respectifs.
  • Certains itinéraires sont connus sous plusieurs noms, mais les contributeurs mettent les deux noms dans l'attribut name=*, au lieu d'ajouter un attribut alt_name=*.
  • De nombreux itinéraires utilisent des séparateurs que Nominatim aura du mal à trouver : - <> -> : ; ()

Attributs

L'itinéraire doit être décrit avec autant d'attributs que nécessaire. L'objectif est de ne conserver que le nom réel de l'itinéraire dans name=*, sa référence réelle dans ref=*, et de déplacer tous les éléments descriptifs vers d'autres attributs plus adaptés.

Règles générales

Règle Définition
1. N'inventez pas de noms Ne donnez pas de nom à l'itinéraire s'il n'en a pas. Ne mélangez pas ref=* avec name=*, ce ne sont pas les même choses !
Veillez bien à utiliser la bonne ref=*, à définir from=* et to=* et à ajouter une description=* à l'itinéraire afin d'en expliquer la raison.

Thumb up icon.svg Il est tout à fait possible qu'un itinéraire n'ait pas de nom. Si aucun nom n'est visible sur les panneaux, veuillez utiliser noname=yes.

2. N'inventez pas de références Ne définissez pas un ref=* qui n'est pas présent sur les panneaux/balises/logos de l'itinéraire. Le nom d'un itinéraire n'est pas une référence ! Utilisez label=* pour aider les consommateurs de données à trouver une représentation courte du nom de l'itinéraire s'il n'y a pas de ref=* sur les panneaux.

Thumb up icon.svg Il est tout à fait possible qu'un itinéraire n'ait pas de référence. Si aucune référence n'est visible sur les panneaux, veuillez utiliser noref=yes.

3. Garder un nom correct Ne mettez rien dans le nom d'un itinéraire qui n'en fait pas partie.

Ambox warning pn.svg to=*, from=*, stage:description=*, et stage:name=* n'ont pas leur place dans le nom d'un itinéraire.

4. Utiliser les segments Les super-itinéraires doivent utiliser les segments suivants comme rôle pour leurs membres : main, alternative, excursion, approach, et connection. Les membres sans rôle ont la valeur par défautmain. Il peut y avoir plusieurs itinéraires pour le même rôle.

Chaque itinéraire qui n'est pas l'itinéraire principal ou une partie de celui-ci, doit avoir un attribut segment=*.

5. Caractères spéciaux Chaque itinéraire contenant des caractères non alphabétiques dans son nom devrait avoir un short_name=* qui est une version courte sans ces caractères.
6. Utiliser des étapes Tout itinéraire découpé en plusieurs étapes doit utiliser la clé stage=* et/ou from=*/to=* pour décrire l'étape - et non l'intégrer au nom. Utilisez stage=* lorsque l'étape est découpée en étapes logiques (jour 1, 2, 3, par état/pays), sinon utilisez uniquement to=* et from=*. Utilisez stage:name=* si les étapes individuelles ont des noms. (Grand Départ, Königsetappe, Isle of Man, …)
7. Noms de segments Tout itinéraire faisant partie d'une superroute et n'étant pas l'itinéraire principal (ou une étape de celui-ci) ne doit pas avoir de nom, à moins qu'il ne soit explicitement balisé. Il est conseillé d'utiliser correctement description=*, from=* et to=*.
8. Les attributs de la superroute correspondent à ceux de l'itinéraire principal Les super-itinéraires doivent utiliser les attributs name=*, network=* et ref=* de l'itinéraire principal, y compris en les laissant vides, si l'itinéraire principal n’en a pas.
9. rôle ou segment Un itinéraire peut être un itinéraire complet en soi, tout en ayant un rôle différent dans une autre superroute. L'attribut segment=* de l'itinéraire reste vide, ou "main", tandis que le rôle dans le super-itinéraire est appliqué en conséquence. Cette pratique est courante pour les itinéraires de randonnée qui constituent une connexion au Chemin de Saint-Jacques, tout en étant des itinéraires de randonnée à part entière. (e.g. "Via Scandinavica" or "Pilgerweg Loccum - Volkenroda")

New tag segment=*

The new tag segment=* is used to indicate the role of a route within a super-route, without requiring data-consumers to have knowledge of super-routes. Renderers are encouraged to visually differentiate non-main segments by using different styles such as dotted, dashed, or thinner lines. The permitted values for segment=* are the same as those for the role in recreational routes. Keep in mind that a route can have different roles in different relations. In this case, if one role is main, use this as a segment=*, otherwise use the most important one.

segment=main
This route is a main route or a part thereof
segment=alternative
This route is an alternative route, or a shortcut, that connects one node from the main route with another one. Make sure to add from=* and to=* as well as a description=*.
segment=excursion
This is a supplementary route that is not part of the main route. It usually leads to attractions that are too off-route to be on the main route, or have a different difficulty (more steep, special equipment needed, etc.)
segment=approach
This is a signposted way leading to the route itself, usually from a parking space, a train station, etc. Only put these into a separate route if it's a rather long approach. Otherwise, you can just add these ways to the main route with the role=approach instead.
segment=connection
This is a connection between 2 or more routes. Typically, it belongs to all connected routes, so putting this into its own route can save some work, because you will only have to add the connection-route to the superroutes, and not all of the connection's ways to the routes. Only map these connections, if they are explicitly signed - everything else is for the router to figure out.

Tag stage=*

This is not a new tag, but I wish to formally define it here. stage=* defines that a route is just a part of a route that has been cut into several stages and the value signalizes which stage we're in. Typically, these are one stage per day, sometimes also one stage per state, sometimes one stage per country, or one for the morning and one for the afternoon. This key only takes a numerical value that is optionally followed by a letter. If there are no official stages for a route, it is up to the mapper to decide whether and where to split. Common sense advised. When splitting on geographic criteria, consider using from=* and to=* instead of, or in addition to stage=*. The fact that this can lead to subjective stages is not necessarily bad, and especially if the mapper has local knowledge, can be a big advantage.

Symbol thumbs down.svg Wrong: stage=Day 1
Symbol thumbs up.svg Correct: stage=1
Symbol thumbs up.svg Correct: stage=1a

If you have multiple routes covering the same stage, either give them all the same stage=*-value, or add a, b, c, and so on.

An example is a large route through the Netherlands that's been cut into 8 days (stages), but some of the stages have alternative routes. It's advised to tag the main route with stage=1, and the alternative routes either with stage=1, or stage=1a, and so on.

Data consumers can use the leading number for sorting, but must ignore anything starting with the first non-digit.

Caveat: If a route is a part of a superroute that contains two or more equally significant "main" routes (meaning they have equal importance, with no one route being more significant than the others), exercise caution when utilizing the stage=* tag. To ensure correct numbering, the two variants must be divided into an equal number of stages. An example of this is the "E2 European long distance path", which has two alternative midsections.

New tag stage:name=*

Use this if the stage of your route has an official name that is not part of the route's name. Some stages have separate, official names like "Mountain stage", "The big approach", and so on. Use this tag for these official names, not for something you made up yourself or "Day 7". This tag is meant to be searchable by Nominatim, and for being displayed by editor software, to make it easier to find the correct stage.

New tag stage:description=*

Use this if the stage of your route has no official name, and you need to describe it. If you cut a big hiking trail into one stage per state, you could put the state's name in here (stage:description=Kansas. Don't use stage:description=*, if stage=* is really just an arbitrary day's stage (Day 1, Part 1, and so on). This tag is not meant to be searchable by Nominatim, but to be displayed by editor software, to make it easier to find the correct stage.

New tag label=*

A label is essentially the short textual representation of a route's name, not to be confused with short_name=*. Usually, maps show the name of a route its ref, or a shortened form of the name. Because this proposal encourages to have an empty ref if there is no officially signed one, the data consumer is stuck with having to guess the short form of the name, or with no label at all, because the name/ref is empty. label=* is used to give a 2-5 letter label to routes that data consumers should use to display the route, if no ref=* is set.

An example of a cycle route where this is helpful, is the "Nordhannoversche Moorroute" (aka "Von Moor zu Moor"), which is signed like this:

Moorroute.svg

There is no short ref available and relying on the data consumer to somehow process the two names "Nordhannoversche Moorroute" and "Von Moor zu Moor" into a meaningful short representation, is a gamble. We can help data consumers by giving them a label=Moor or label=VMZM.

This tag should be used by maps and routers, but only if there is no ref=* set.

When to use ref=* and when to use label=*?

Only use ref, when the ref is part of the official logo/image/markers that can be seen along the way. Everyone giving a route by a specific abbreviation is not a ref, but rather a label. In some countries (mainly Germany), it's not uncommon to make up a ref (see this discussion) if there is no official one. This proposal officially discourages this practise and lobbies for the use of label=* instead.

Examples of ref vs label
Frradrouten.jpg This signpost shows 6 different bicycle routes. The first 3 markers clearly show refs: Ds, Br and Mg. If you look closely, the next 2 also show refs: "EU 2" and "EU 3" as ref, but the last one (Badischer Weinradweg) clearly doesn't feature anything that could be a ref. In this case, you could use label=BW / label=BWR / label=BWRW to help finding a short representation, but it's optional.
Cycle route logos.jpg This signpost has 2 routes. The first one is only marked by an image, so this clearly has no ref and no visible name either. It's called "Mittellandkanal" officially, so you can use that one as name=*, but as for a shortcut like ref=* or label=*: there is none. Make sure to add the logo, because that's what people will identify this by.

The second one has the words "Mittellandkanalroute", which is also no ref. Since the latter cannot be shortened easily by an algorithm, it's advisable to add label=MKR or something similar.

E897a8757606ce97a54f33c0569cb40c38251e0e.jpg Here we have 2 bicycle routes: "Der Deisterkreisel" and "Fahrradregion Regionsring".

The frst one clearly hasn't got any visible ref, just a name. We could add label=DK to give it a good label. The second one shows the logo of the Hannover region, plus an "R" in the top right corner. This should be considered the ref for this route, so ref=R. The "Fahrradregion" at the bottom is part of the logo of similar routes and not part of the ref or label.

Wanderwegweiser Saale-Unstrut bei Almrich.jpg The 3 routes on the right are named "Feengrotten-Kyffhäuser-Weg" and "Weinbergsweg". None of these have a ref, so label=FKW and label=WB / label=WW / label=WBW along with the symbols is the only thing to tag.

Hiking-route-britain.jpg

This sign shows the hiking route "E2", aka "E2 European long distance path". Since the reference "E2" is clearly visible on the sign: name=E2 European long distance path + ref=E2 + short_name=E2 path

The cycle route "The National Byway" to Burford, however, does not have any visible reference. label=NB is a good fit here.

Wuemme radweg wegweiser.jpg This is a rare case of all markers having a visible ref.
On the upper bit of the sigh, the "Heideschleife Haverbeeke" has a nice ref=h.
On the lower sign, we have ref=5, ref=7, ref=10, ref=17 and ref=W. You could add label=RB5, 7 and 10 for the first three, but not a must.

Special case network:type=node_network

Explicitly not part of this proposal, but I wrote some suggestions how node network tagging could be improved while still adhering to the overall suggestions of this document.

Examples

Tagging examples
Old New
ref and name both don't match on the ground
name=Velo visavis Circuit cyclotouristique
name:de=Velo visavis Rundweg
name:fr=Velo visavis Circuit cyclotouristique
network=rcn
ref=VeloV
route=bicycle
type=route
label=VeloV
name=Velo visavis
network=rcn
roundtrip=yes
route=bicycle
type=route
Alternative name is part of the name
description=Veloroute 2 führt…
from=Hannover City
name=Veloroute 2 - Radschnellweg Hannover-Langenhagen
network=lcn
ref=VR2
route=bicycle
to=Langenhagen
type=route
description=Veloroute 2 führt…
from=Hannover City
name=Veloroute 2
alt_name=Radschnellweg Hannover-Langenhagen
network=lcn
ref=VR2
route=bicycle
to=Langenhagen
type=route
Segment, from and to inside the name
from=Hildesheim
name=Kulturroute Hannover, Alternativroute - Abkürzung zwischen Hildesheim und Sarstedt
network=rcn
ref=K
route=bicycle
to=Schliekum
type=route
description=Shortcut between Hildesheim und Sarstedt
from=Hildesheim
network=rcn
noname=yes
ref=K
route=bicycle
segment=alternative
to=Schliekum
type=route
Stage is part of the name
description:en=The first stage leads…
name=Von Moor zu Moor - Etappe 1
network=rcn
ref=Moor
route=bicycle
type=route
description:en=The first stage leads…
from=Altwarmbüchen
name=Von Moor zu Moor
label=Moor
network=rcn
noref=yes
route=bicycle
stage=1
to=Bissendorf
type=route
Missing from/to and section part of the name.
The route doesn't have a ref, it was just put there for the renderer.
Name didn't match OTG
description:en=Outer loop from the Grüner Ring…
name=Grüner Ring - Außenschleife Sehnde-Laatzen
network=lcn
ref=GR
route=bicycle
type=route
The sign only says Schleife Sehnde-Laatzen
description:en=Outer loop from the Grüner Ring…
from=Anderten
label=GR
name=Schleife Sehnde-Laatzen
network=lcn
noref=yes
route=bicycle
segment=excursion
to=Grasdorf
type=route
Stage and denomination are part of the name. To and from missing
name=Jakobsweg Via Scandinavica, Niedersachsen
network=nwn
pilgrimage=yes
ref=Jw vS
route=hiking
type=route
from=Lauenburg/Elbe
label=VS
name=Via Scandinavica
network=nwn
noref=yes
pilgrimage=Camino de Santiago
route=hiking
stage=2
stage:description=Niedersachsen
type=route
to=Eisenach

Alternatively, we can divide this rather huge route in daily stages like this:

from=Lauenburg/Elbe
label=VS
name=Via Scandinavica
network=nwn
noref=yes
pilgrimage=Camino de Santiago
route=hiking
stage=10
type=route
to=Lüneburg
British cycle networks are already in good condition
cycle_network=UK:National Cycle Network
name=NCN National Route 6
network=ncn
ref=6
route=bicycle
type=route
cycle_network=UK:National Cycle Network
from=London
name=National Cycle Route 6
network=ncn
ref=6
route=bicycle
short_name=NCR 6
to=Lake District
type=route
The 9-11 trail has been chopped into stages - one for each state
cycle_network=US:USA
name=9-11 Trail (Maryland)
network=ncn
ref=9-11
route=bicycle
type=route
cycle_network=US:USA
alt_name=9/11 Trail
name=September 11th National Memorial Trail
network=ncn
ref=9-11
route=bicycle
short_name=NMT
stage=1
stage:description=Maryland
type=route
Don't put the ref number into the name
hiking=yes
name=Willow Springs Bike Loop #535
network=rcn
ref=535
route=bicycle
type=route
hiking=yes
name=Willow Springs Bike Loop
network=rcn
ref=535
route=bicycle
type=route
Don't invent names
name=Ciclovía Temuco-Labranza
network=lcn
roundtrip=no
route=bicycle
type=route
from=Temuco
network=lcn
noname=yes
roundtrip=no
route=bicycle
to=Labranza
type=route
To and from in the name
name=Nasjonal sykkelrute 1 (Moss–Bergen)
network=ncn
ref=1
route=bicycle
type=route
from=Moss
name=Nasjonal sykkelrute 1
network=ncn
ref=1
route=bicycle
to=Bergen
type=route
stage and alt_name part of the name
cycle_network=EuroVelo
icn_ref=8
name=EuroVelo 8 - Mediterranean Route - part Spain 7
network=icn
ref=EV8
route=bicycle
state=proposed
type=route
cycle_network=EuroVelo
icn_ref=8
name=EuroVelo 8
alt_name=Mediterranean Route
stage=7
stage:description=Spain
network=icn
ref=EV8
route=bicycle
state=proposed
type=route
section_ref and main route part of the name
name=Floris V-pad 9h, Variant Hoog water
network=nwn
operator=Wandelnet
ref=LAW 1-3
route=hiking
section_ref=9h
type=route
name=Hoog Water
segment=alternative
network=nwn
operator=Wandelnet
ref=LAW 1-3
route=hiking
stage=9h
type=route
Example of how you could tag node networks
description=Connection of node 27 and 86
name=Schweinrich (27) - Flecken Zechlin (86)
network=rcn
network:type=node_network
ref=27-86
route=bicycle
type=route
description=Connection of node 27 and 86
from=Schweinrich
network=rcn
network:type=node_network
noname=yes
ref=27-86
route=bicycle
to=Flecken Zechlin
type=route
Staged international hiking path.
The E2 splits into a West and an East route, none of which is more "main" than the other
We will need a superroute that has both variants - not addressed here
description=Westroute: Stranraer (UK) - Birminhgham (UK)[…]
name=European walking route E2 west, UK, South East England
name:signed=no
network=iwn
ref=E2
ref:signed=no
route=hiking
type=route
description=Westroute: Stranraer (UK) - Birminhgham (UK)[…]
from=Stranraer
name=European walking route E2
name:signed=no
network=iwn
ref=E2
route=hiking
stage=7
stage:description=South East England
to=Birmingham
type=route

Nom affiché

Les éditeurs devraient utiliser la logique suivante pour déterminer le nom à affiché d'une relation :

DisplayName ::= (name | ref | "De " from " à " to | description)
               ["(" RouteStage " - " RoutePart ")"]

RouteStage ::= (stage ": " stage:name | stage:name | stage)
RoutePart ::= "De " from " à " to

Fonctionnalités/Pages concernées

Discussions externes

Travail à faire par la suite

  • Je vais créer des défis MapRoulette pour chaque pays, afin de nettoyer les itinéraires selon les bonnes pratiques.
  • Je suis en contact avec la développeuse de Nominatim afin de permettre la recherche d'itinéraires une fois que la majorité des itinéraires sera corrigée.