Buslijnen, halteinfo, OV-routes - overzicht en discussie

In vrijwel alle gevallen tref ik 2 nodes aan:
stop_position en het platform.
Beide dragen de naam van de halte.
Soms heeft de stop_position plaatsnaam+haltenaam.

Als er een way of area wordt toegevoegd, ontbreekt vrijwel altijd de naam van de halte.
Daarom is het ook zinloos om de way of area toe te voegen aan de routerelatie.

Dit is maar 1 van de vele mogelijke interpretaties van PTv2.

Het lijkt mij dat de stop en platform dezélfde naam moeten krijgen.
Ik heb wel voorstellen gezien om de “plaatsnaam, haltenaam” in een alt_name te zetten, ik zou daar zelf het liefst placename voor gebruiken (maar heb dat nog niet gedaan). Zie ook mijn oorspronkelijke post.

Je schrijft “lijkt me logisch en overbodig”, dat is toch een tegenstrijdigheid?
Ik vind het wel handig, zo kan je bij een eilandplatform zien aan welke kant je moet staan, ook als de weg zich om het platform heen draait. Ik voeg ze dan ook altijd beiden toe, maar volgens PT_V2 is het niet verplicht.

Ik snap niet waar het idee (van meerderen hier en elders) vandaan komt om voor het platform per sé een node moet komen, als er ook al een platform way of area is.
Even ter herhaling: de platform-tag geeft volgens PT_v2 aan plaatsen waar passagiers op het openbaar vervoer wachten. Dat is niet per sé op de plek van het haltebord.

Zoals Allroads eerder schreef zou je het haltebord wel kunnen taggen met het juiste verkeersbord, traffic_sign=NL:L3b.

Het “schipperen tussen wat zou moeten en gerenderd wordt”. Tsja, dit blijft een lastige, voor allerlei andere zaken zeggen we “don’t tag for the renderer” maar hier dan weer niet… Feit is dat OSM_Carto het public_transport=platform (zonder highway=bus_stop) niet goed rendert Al zijn er wel mensen langzaam maar zeker mee bezig. Anderer renderers gaan er echter prima mee om (zoals OSMand, Openbusmap en zelfs in beperkte mate de Transport-layer van Openstreetmap.org).

de note waar het haltebord staat is prima. Maar als je gaat micromappen is dat niet het platform. Wel het traffic_sign.

Ik denk dat als je gaat micromappen dat je al die zaken los kan zetten (en dan evt in de halterelatie opnemen), maar je kan ze ook als tags meegeven aan de platform-node/way/area.

Zie public_transport=stop_area op de wiki voor uitleg. Ik zie het een aantal grote voordelen hebben:

  1. Je zou eigenlijk zo veel mogelijk informatie van de onderliggende nodes/ways/areas kunnen “offloaden” naar deze stop_area (dus de naam etc)
  2. Bij haltes die verder uiteen liggen weet je gelijk dat er een logische relatie is. Denk aan kruisende wegen met op elke weg een halte(paar), of bij een groot station , zelfs met een hierarchie erin (dat mag van PT_v2). In feite kan dit vergeleken worden met de IFOPT:S-tags (al heeft die nog een verschil tussen bus- en treinhaltes, tram en metro weet ik niet)
  3. Bijeenbrengen van alle “overige” informatie, zoals shelters, prullenbakken, entrees (van metrohaltes) etc die niet in een routerelatie hoort.

Ik voeg bij de platform-area altijd de naam toe (maar dat is voor mij dan ook de énige platform, ik plaats er geen platform-node bij).

Voor verschillende platforms die met letters zijn aangegeven gebruik ik de ref-tag.

Dat is natuurlijk een enorme drogreden: Omdat de naam er niet bij staat, hoort die niet in de routerelatie:D. Voeg de naam dan toe!:wink:

Anyway, hoe moeten we nu verder om dit uniform te krijgen. Moeten we met de NL-community een stemming hebben over verscheidene zaken? Moeten we internationaal te rade gaan?

  1. Ik heb je bestand gekregen, heel gaaf.
    Als ik het in JOSM open (in een aparte laag), is er dan een makkelijke manier om de gegevens “door te drukken” naar de onderliggende platform-nodes/ways/areas?

2.Voor iedereen die er mee werkt, let er op dat er een groot aantal haltes in staan die al niet meer door een buslijn aangedaan worden. Soms is daar nog wel “halteinfrastructuur” (verhoogde stoeprand) aanwezig, maar het fysieke haltebord wordt meestal door de busmaatschappij (die is eigenaar van het bord) vrij snel weggehaald.

De enige manier om momenteel op de standaard kaart ergens een busicoontje te krijgen, is highway=bus_stop te gebruiken. Dit is helaas iets waar al jaren over gesproken wordt, maar nog steeds een feit.

Om een platform op de standaard kaart (grijs) zichtbaar te maken (way of area) moet highway=platform gebruikt worden (of bij een treinperron railway=platform); enkel public_transport=platform werkt niet.

Aangezien je slechts één keer highway=xxxx tegelijk kunt gebruiken, is en blijft het voorlopig schipperen. Vandaar dat ik in de praktijk naast platforms als way of area daarbij nog steeds aparte nodes als halte gebruik, en alleen die in een route-relatie opneem.

Verder:
Het haltebestand van NDOV bevat inderdaad niet meer gebruikte haltes, maar kent ook vaak nieuwere haltes nog niet, en het ontbreekt soms aan precisie. Zij zijn afhankelijk van informatie van gemeentes, provincies, beheerders van OV-netwerken. Ik heb in de praktijk gemerkt dat ze het erg op prijs stellen bericht te krijgen over aanvullingen/onjuistheden (Meldpunt@crow-ndov.nl).

Aaaah, nu snap ik het. Taggen voor de renderer, al is dit natuurlijk wel “geldig” (PT_v1 is niet officieel “deprecated”) en dus te begrijpen.

Maar dan is het onlogisch om je routerelatie die je helemaal PT_v2 opbouwt, alsnog de PT_v1 highway=bus_stop mee te nemen - ik zou zeggen zet dan de way/area public_transport=platform in de routerelatie en zet in de halterelatie beiden.

Ter info (ik werk bij Connexxion): De vervoerders zijn verantwoordelijk voor het doorgeven van de juiste posities. Bij Connexxion is onze boordapparatuur ook afhankelijk van de juiste positie, daarom zal die i.h.a. redelijk kloppen. Bij andere maatschappijen is dat veel minder het geval.
Overige info (is er een bankje, is het voor blinden toegankelijk, in welke windrichting ligt het perron) is eenmalig grootschalig opgepakt door alle vervoerders; ik weet niet hoe het onderhoud daarvan gaat.

Dat zou een geweldige stap voorwaarts zijn.
De stop_position niet meer in de routerelatie opnemen
en alleen de node, way of area met public_transport=platform opnemen in de routerelatie.
en voor de renderer nog highway=bus_stop toevoegen aan een node van de way of area.

Ik ben normaal geen voorstander van ‘taggen voor de renderer’, maar het lijkt me toch wel zinvol dat een bushalte ook duidelijk zichtbaar is op de standaard kaart.

Verder: niet alleen halteposities in het haltebestand van NDOV kloppen soms niet, ook de routes die vervoerders aangeven in hun KV1 bestanden op NDOV-site lopen vaak achter bij de werkelijkheid. Zo heeft Connexxion de nieuwe situatie van de N331 bij Hasselt (toch al enige tijd realiteit) nog niet verwerkt. Merk op: dit is niet bedoeld als kritiek op één bepaalde vervoerder; ik kom dit tegen bij veel situaties waar (min of meer) recentelijk wijzigingen in wegen zijn gerealiseerd.

+1

Gezien de reactie van Leo zal ik dan ook stoppen met het toevoegen van de stop_position als ik routerelaties in OSM aanpas.

Hier gaat het dan fout, die paal/bord, staat waar hij staat, dat is veelal niet de hierboven omschreven plaats.
Je doet dit niet voor de render, maar omdat het zo is in Nederland.
Gevolg is dat andere deze node gaan loskoppelen en op zijn plaats zetten.

De stop_position is belangrijker dan je in eerste instantie zou denken en is niet voor niets opgenomen in PT_v2. Bijvoorbeeld om softwarematig de volgorde van de haltes in een route te kunnen controleren, of zelfs automatisch de haltes in de goede volgorde te kunnen. Zonder stop_position wordt dit een stuk bewerkelijker en daardoor trager. Dit omdat je eerst geografisch moet uitzoeken welke stukjes weg uit een route in de buurt van een halte liggen. De stop_positions zijn rechtstreeks verbonden met de stukjes weg uit de route. Met stop_positions is het dus een stuk simpeler om softwarematig de route van het beginpunt tot het eindpunt door te lopen en te kijken of de volgorde waarin je stops tegen komt overeen komt met de volgorde in de route relatie.
Als je haltes in de juiste volgorde staan en de REF:IFOPT codes van de haltes overeenkomen met de codes in een NDOV route bestand, kan er redelijk op vertrouwen dat je route klopt en actueel is.

  1. Ik ben hier mee bezig geweest, maar het is nog best een uitdaging. Vooral omdat het niet eenvoudig te bepalen is welke NDOV halte bij welke OSM halte hoort. De NDOV lokatie is te onbetrouwbaar. De windrichting klopt wel vaak ongeveer, maar dan moet je nog de windrichting van de osm halte bepalen. Niet onmogelijk, maar best wat uitzoekwerk.
  2. Mij gaat het er in eerste instantie om, om de REF:IFOPT tags toe te voegen aan bestaande haltes in osm. Als je die hebt, kan je osm routes vergelijken met NDOV routes en kom je er vanzelf achter of er haltes in OSM ontbreken, of in geen enkele route voor komen.

Ik zie steeds een soort ‘primaire node’ waarop in PTv1 de highway=bus_stop op stond en een ‘secundaire node’. In PTv2 is dan de primaire node het platform en de secundaire node de stop_position. De primaire node krijgt voor compatibiliteit nog steeds de highway=bus_stop en hier worden ook de belangrijke haltetags, zoals ref:ifopt aan toegevoegd. Bij het idee om het platform alleen als area te taggen, zit je dus met het probleem waar je die haltetags laat.

Bij trams werken de primaire en secundaire node juist andersom. Daar is de primaire node de stop_position i.p.v. het platform en heeft deze node de railway=tram_stop. Dit lijkt me een onhandig verschil. Waarom zou je dit bij trams omdraaien t.o.v. bussen?

Verder valt me ook de ‘name=plaatsnaam, haltenaam’ vs ‘name=haltenaam’ op. Ik zag dat SintE7 dat in zijn grote opschoonactie (goed werk overigens :)) zo toepast:

  • platform: name=haltenaam (‘primaire node’, die wordt gerenderd)
  • stop_position: name=plaatsnaam, haltenaam (‘secundaire node’)
    Op deze manier zie je dus alleen de haltenaam op de standaardkaart. Ik heb dat overgenomen, maar ik begin er nu toch over te twijfelen. Ten eerste hebben zo de platform en stop_position zo verschillende namen en zijn ze lastig automatisch als onderdeel van dezelfde halte te zien. Ten tweede is dit niet toepasbaar op tramhaltes, waar juist de stop_position de primaire node is. De plaatsnaam, haltenaam die niet overeenkomt met het haltebord, wordt dan gerenderd. De rendering van de tramhaltes is dan ook niet consistent met die van de bushaltes.

Een taggingschema placename=plaatsnaam en name=haltenaam voor zowel platform als stop_position lijkt me een betere tagging. Dat placename=* niet in PTv2 voorkomt, hoeft geen probleem te zijn. We kunnen afspreken dat we de placename-tag op deze manier in Nederland gebruiken.

Wat eventueel ook kan is de stop_position geen naam meer mee te geven en dan verder zoals hierboven genoemd. Dan ben je meteen ook af, van de ongelijkheid tussen haltenaam en stop_position.

Heeft dat een voordeel boven het gebruiken van alleen de haltenaam voor de stop_position? De enige reden dat er verschil is tussen de haltenaam en de naam van de stop_position, is de wens om de plaatsnaam ergens op te nemen. Als je de stop_position geen naam geeft, dan is die reden er niet meer.

Ik zie de volgende redenen om de stop_position in ieder geval met naam te taggen:

  • Het is duidelijker welk platform bij welke stop_position hoort.
  • Het opnemen van plaforms en stop_positions in de routerelatie zorgt ervoor dat de sortering van haltes snel gecontroleerd kan worden, zoals Gertjan Idema aangeeft.
  • Een renderer kan consistenter bushaltes en tramhaltes renderen, bijvoorbeeld bij beide het icoontje op de weg (stop_position, zoals tramhalte in OSM-carto) of beide het icoontje naast de weg (platform, zoals bushalte in OSM-carto)

Heeft de stop_position eigenlijk ook geen ref:ifopt-code, die als tag kan worden toegevoegd?

Het is inderdaad niet altijd 100% duidelijk. De windrichting is een goede hint, maar die klopt niet altijd (95% toch wel). De locatie is ook een goede hint, die klopt ook niet altijd, maar meestal kun je aan de positie van de twee haltes wel zien welke waar hoort (soms zijn ze gewoon allebei verplaatst, maar soms liggen ze ook op elkaar) en als laatste kun je bij veel concessiehouders in de routeinformatie zien bij welke halte met welke ifopt hij stopt.
Bij Connexxion (en al hun dochters) kun je per lijn de haltes zien en als je met de muis over de halte gaat staat onderin de ifopt ref.
Bij Syntus (en al hun dochters) is er een reisplanner (met OSM kaart als achtergrond) waar je ook op halte kunt zoeken en je de ifopt kunt zien.
Ook bij Arriva kun je op lijn zoeken en is in de link van een halte de ifopt ref te vinden.

Als 9292 dit nu ook nog eens zou doen…

Die gedachte zul je toch los moeten laten. De node met highway=bus_stop heeft geen enkele relatie tot de plaats van de paal/bord.
Paal/bord vervult in PTv2 geen enkele rol !
highway=bus_stop duidt slechts de plaats waar de reiziger wacht. (De Engelsen doen dat netjes in de rij, Nederlanders vechten zich een weg naar binnen. :wink:

Aan de andere kant, als die node wordt losgekoppeld, is er in feite niets beschadigd en dan zouden we dat zo kunnen laten.

Ik laat even weten dat ik de hele ombouw van de Amstelveenlijn al voorbereid heb, morgenavond alleen even uploaden.

Dus metro 51 naar Isolatorweg, alle tramsporen ten zuiden van Amstelveen Centrum op construction, het verwijderen van de “station”-node op de tramstation, het toevoegen van buslijnen 55 en 551, en het algemeen opschonen van de stations en lijnen rond Station Zuid.

Ik kwam toevallig bij R-NET bus 397 uit, https://www.openstreetmap.org/relation/906385 en ik heb toch wel een probleem met hoe dit gemapt is. Zo zijn er vrijwel nergens nodes voor de platforms getagd en daardoor zijn haltes op de algemene OSM kaart en op de transport kaart niet terug te vinden. Niet visueel maar ook niet bij de search.
Jaja, niet taggen voor de renderer, ik weet het, maar ik vind dit toch een goed voorbeeld waarom je wel zodanig moet taggen dat iets zichtbaar en vindbaar wordt.
Of is dat een vreemde gedachte?

OSM kent bijvoorbeeld geen halte P+R Getsewoud Zuid terwijl de halte Laan van Berlioz wel gevonden en getoond wordt.

Je hebt volkomen gelijk.
Als je het toevallig tegenkomt, kun je aan alle platforms op een node highway=bus_stop toevoegen.

Met het risico dat de oorspronkelijke mapper het weer weg haalt :frowning:

Als ik in een route een enkele afwijking tegenkom, zal ik het wel veranderen.
Als een route één geheel vormt zoals in de concessie AML en in Zeeland (alleen stop_positions) zal ik er niets aan veranderen.
Als een routerelatie een mengelmoesje is van vier verschillende methodes, krijg ik toch de neiging om het uniform te maken.

  1. Ten eerste is de Laan van Berlioz geen halte voor lijn 397, en komt ze niet in het CHB voor. Volgens mij is de halte voor het laatst op 9 december 2017 door lijn 162 gebruikt. Dus is het voor geen enkele lijn een halte. Ik heb de halte uit de route-relatie 379 gehaald.

  2. de nodes voor de platforms zijn géén concept uit PT_v2 en is écht taggen voor de renderer. Ik heb juist gepoogd de hele concessie AML zo PT_v2-mogelijk te maken. Daarbij heb ik niet expres highway=bus-stop weggehaald, maar waar ik highway=platform als lijnelement heb toegevoegd, heb ik géén highway=bus_stop toegevoegd. Maar op bijv OSMAND worden deze haltes prima getoond!

  3. Het blijkt dat support voor het renderen van public_transport=platform er voorlopig niet komt. Het issue op github is 2 dagen geleden gesloten. https://github.com/gravitystorm/openstreetmap-carto/pull/3232

Kennelijk is de OSM-community niet in staat om met zichzelf een afspraak te maken hoe we iets doen en daar dan mee verder gaan.
Dit is echt een fout in de community, bij Wikipedia was dat véél duidelijker geregeld.
Daar was het mantra “voel je vrij en ga je gang” maar je moest je wél aan de regels houden die we samen hebben opgesteld.
Hier is het “hou je alsjeblieft aan de wiki” maar iedereen, ook niet-beginners, doet maar wat omdat ze het niet eens zijn met de wiki.
(dat gaat niet alleen over OV, ik zie het vaker)

Ik zie AML echt een beetje als mijn “kindje” omdat ik de héle concessie ingetekend heb volgens PT_v2 (een pokkewerk, waar ik dagen aan gezeten heb) en ik heb er alleen maar tegenwerking en negatief commentaar over gehad. En nee, ik ben zéker niet de eigenaar van AML, alles is hier van iedereen op OSM, maar als mensen op basis van inzichten die niet stroken met de wiki een boel werk gaan zitten aanpassen ben ik er klaar mee.