Taggning av busshållplatser/kollektivtrafikstaggning i Sverige

:warning: Massa explanation-text.

Personligt korståg kallas det :slight_smile: Men det vi ser är att när det väl kommer påbud, och de som jobbar i branchen kan se kvaliteten så blir det mycket större driv och fokus på att ha data så korrekt som möjligt.

Jag ska inte gå in på allt nu (igen). Om nån vill läsa lite mer så står det ganska mycket här: Bus stops in Norway [guide for understanding current data and reporting problems]

Men jag måste ändå säga. Norska Kartverket släppte sina flygbilder för många år sedan och det har varit mycket hjälpsamt. På den fronten känns Sverige som en besvikelse.


Jag är bara komfortabel med att nämna vår egen motor med risk för att bli självreklamerande. Vi (Entur, https://entur.no) använder OpenTripPlanner. Den fungerar ungefär som andra motoror (Graphopper, OSRM) men fokuserar på transit (kollektivtrafik). Vi använder OSM för att generera gånglänkar mellan punkter man söker till eller från, och mellan kollektivtransporterna. Då använder vi gärna så avancerad mapping som möjligt när det gäller gångnätet för att få bästa möjliga koppling. [lägger för säkerhets skull till att vi är public service, non profit, och våra tjänster är open source]

Vi har ett centralt hållplatsregister (som alla transportörer förhålla sig till) som använder samma flygfoton som OSM-arbetet för placering av noder. Därför matchar alltid positioner (när båda är korrekt inritade) med OSM.


Att vi har fått fokus på OSM har också betytt att väldigt många kollektivtransportföretag numera använder OSM för att planera sina linjer och det genererar ett växande intresse för OSM i samhället. De använder vägnätet för att rita upp och mäta distansen på sina avgångar. Positiva feedbackloops är ett mål.

Vi har ganska komplett vägnät i norge nu, ca 97%. Bra täckning på cykel. Nästa fokus blir handikappvänlig mapping tror jag. Vi har inte heller rullstolsruttning idag och det känns lite dåligt. Hoppas att få igång grejer på den fronten. Då blir det massa kerb-noder kan jag lova :slight_smile:


Svenska hållplatsdata

Om nån vill kolla på Samtrafikens data som den ser ut nu så har @NKA konverterat deras NeTEx-fil till OSM här:
https://www.jottacloud.com/s/059f4e21889c60d4e4aaa64cc857322b134/list/Public%20transport

Personligen tycker jag att deras data håller alldeles för låg kvalitet för att en stor import ska komma på tal just nu. De kan kanske användas för manuell inläggning, men automatik skulle inte bli bra på nåt sätt.

Ja det ser onekligen bra ut, och skulle fungera för Södra station.
resesök url
image

@archie Är det några problem med denna taggning/importen på Oslo C?

Notera att det är BARA vägnät inkl. plattform som är relevant för att det söket ska fungera. Hållplatsernas placering i OSM betyder inget för söket.

ok:

image
resurl

Ser lite sämre ut med buss ja, notera att jag aldrig varit i Oslo så vet inte hur denna ruttningen fungerar i verkligenheten. För mig som inte taggar PT så ser det ut att fungera.

EDIT sidenote ni inkluderar för mycket på kartan jag ser att ni uppenbarligen gör någonslags filtrering iaf på stop/platformar men oklart för mig hur ni gör det utifrån OSM datat.

Det är filtrering/rendering i Mapbox. Mycket svårt att göra en filtrering som funkar för hela landet (komplex och simplistisk mapping samtidigt i olika delar av landet). Notera att strecket som ritar upp busslinjen inte genereras i söket utan kommer i timetable-datan som en färdig polyline. Därför träffar den inte perfekt (även om den är genererad från OSM-data av bussföretaget). Men gånglänken är korrekt. Om du vill se mer av hur gångnätet byggs upp kan du kolla här https://otp2debug.entur.org/ och slå på “Traversal Permission” lagret.


Hur trevligt den än må vara att visa våra grejer så känns det som att det glider off topic :smiley: Den som vill veta mer kan öppna en tråd i Norska forumet.

Den här trådens tema är: Hur kan hållplatser i Sverige bli mer likformade.

Jag vill gärna upprepa min indelning av som jag påpekade längre upp i tråden:

  1. Vart finns hållplatsen (ikon + namn i kartan)
  2. Foot-routing till hållplatsen (plattform way/area med koppling till gångvägnätet
  3. Bygga upp public transport-data i OSM (relations, hållplatser på väg-way).

För Enturs räkning (som exempel) är bara tvåan viktig. För många så är bara ettan relevant eftersom man då kan söka upp hållplatser i OSM och se exakt (eller ungefär) vart dom är. Trean är mer intern-OSM-relevant då man kan visa kollektivtrafik direkt i OSM’s kartrendringar.

För att lyckas med OP’s fråga så måste alla tre harmoniseras genom landet. Eftersom det finns så många sätt så tycker jag att man ska sätta upp förslag så man kan jämföra koncepten mot varann. Det bästa är om det finns en modell som kan tillåta simplistisk mapping, även importer, men som kan skaleras upp till avancerad mapping utan att därmed bli annorlunda.

imho ^

Det är kanske inte så konstruktivt att säga att taggningen inte alls är komplicerad. Jag trodde först att du driver med mig, men du menar allvar.
Jag skall försöka att förklara. Du har den förenklade modellen där har du bus_stop och platform (båda highway) vid sidan om vägen. Jag förmodar att du skulle kalla det för “hållplats”. I ptv2 kallar jag det för “hållplatsläge” som tillsammans med hållplatsläget på motsatta sidan vägen utör “hållplatsen”.
ptv2 kan förklaras så här.

  1. se för ett ögonblick bort från highway-taggarna (bus_stop och platform). De finns bara kvar som det har sagts tidigare för att ptv2-taggarna inte renderas.

  2. du står vid sidan om vägen och väntar på bussen. Det stället taggar du med public_transport=platform (jag förkortar public_transport hädanefter med pt).

  3. på vägen/gatan direkt intill platformen där du väntar på bussen stannar den och öppnar dörrarna för dig. Där, dvs den noden i vägen, taggar du med pt_stop_position.

  4. sedan sätter du ref=A på både pt_stop_position och pt_platform (de “hör ihop”).

  5. du gör likadant med hållplatsläget på andra sidan vägen där bussen går åt andra hållet. Där sätter du ref=B.

  6. sedan lägger du taggarna för båda hållplatslägen i en relation (pt_stop_area).

  7. you are done! det är klart med andra ord (har du gjort den här taggningen 4-5 gånger så går det undan)

Det som är olika mellan modellerna är att hållplatsläget är “delat upp” i dels pt_stop_position och pt_platform. Det är detta som gör att du kan få fram hållplatserna med dess olika hållplatslägen.

Själva ruttningen för bussarna skiljer sig inte mellan modellerna.
De som förespråkar den förenklade modellen brukar framhålla hur bra ruttningen fungerar, men de brukar hålla tyst om att hållplatslägena överhuvudtaget inte anges på kartan. Du går som datakonsument eller karttittare miste om den informationen. Den finns helt enkelt inte med i den förenklade modellen.
Om du vill orientera dig om vilket hållplatsläge du skall välja för att komma till ditt mål får du med den förenklade modellen ingen information om detta. Du kan inte göra hållplatskartor med de olika hållplatslägen inritade med den förenklade modellen.
Med ptv2 kan du få uppgift om att du måste välja Normalvägen A (A är här referens till pt_platform och pt_stop_position för den ena av flera hållplatslägen).

Som sagt ruttningen fungerar med båda modellerna - det är ingen skillnad (låt dig inte bedras av fina schematiska bilder/ritiningar). Men info om hållplatslägen får du bara med ptv2-modellen. Detta framgår tydligt av de overpass som jag infogat ovan (det är bara att jämföra).

Sedan finns det ett visst mått av överdriven betydelse som tillmäts osm. Lika lite som järnvägspersonalen kikar på osms järnvägsnät i tjänsten, eller färjekaptenen söker ledning på navigeringsfrågor genom att titta på openseamap, lika lite orienterar sig busschauförer på ruttningen på osm.
Men du som besökare i en främmande stad har fördelen att kunna orientera dig bra om du är i en stad som tillämpar ptv2-modellen.

Hoppas att ovan skildring inte blivit för invecklad och du fått mera klemm på vad du går miste om vid en övergång från ptv2-modellen till den förenklade-modellen.

1 Like

Jag ser ingen som helst info om hållplatserna respektive hållplatslägen. Ruttningen fungerar likadant med ptv2-modellen. Så ruttlinjerna på ovan kartutklipp ser likadana ut, men med tillägg av hållplatslägen vid ptv2-modellen. Dvs du får mer information.
Så, sorry att säga det, men kartklippen visar bara att infon är mera begränsad med den förenklade modellen.

För att ytterliggare åskådliggöra det hela har jag gjort följande jämförelse av taggningssättet avseende busshållplatsen Sagane i Oslo

(OpenStreetMap)

Hållplatsen Sagane i Oslo är taggat på följande vis:

  1. node (placering inom hållplatsområdet)
    bench=yes
    bin=yes
    bus=yes
    highway=bus_stop
    name=Sagene (B)
    public_transport=platform
    ref:nsrq=11688
    ref=B
    shelter=yes

  2. way (placering mer eller mindre vid sidan av vägen)
    area=yes
    bench=yes
    bin=yes
    bus=yes
    covered=yes
    name=Sagene
    network=Ruter
    public_transport=platform
    shelter=yes

  3. node (placering: en node som tillhör vägen/gatan)
    bus=yes
    name=Sagene
    network=Ruter
    public_transport=stop_position

Enl Västtrafik-modellen hade samma hållplats fått följande taggar:

  1. node (placering: en node som tillhör vägen/gatan)

bus=yes
highway=bus_stop
name=Sagene
network=Ruter
public_transport=stop_position
ref=B

  1. way (placering intill vägen/gatan)
    bus=yes
    highway=platform
    network=Västtrafik
    public_transport=platform
    ref=B

Enl Stockholms-modellen hade samma hållplats fått följande taggar:

  1. node (placering: intill vägen/gatan)
    highway=bus_stop
    name=Sagene
    network=Ruter
    shelter=yes

— slut —

Det framgår tydligt att den norska modellen (den enda som duger för import) är en blandning av både den förenklade modellen och ptv2.

Stockholm taggar bara den förenklade modellen, men man får då det man betalar för, dvs inga hållplatslägen och omöjligt att göra hållplatskartor.

Om det är ok så kan jag göra en massredigering i Stockholm och fixa ref/local_ref det är ändå mitt fel, om jag ska uppgradera rutter till pt2 så kommer jag kanske att följa denna standard:

@Hidoo00 tack för länken till Public transport rutt redigeraren.. Att använda den ruttredigeraren som en standard/linter är jag lite osäker på med tanke på Zaczero, den är iofs bäst hittills. Jag ska kolla på NKAs fil för att se om det är vettigt att göra något bättre.

@archie @Wulfmorn vad är bäst för OSM? Alltså hur får man verktyg och dokumentation att gå frammåt. Jag tror att OSM egentligen borde anpassa sig lite, för att fortsätta vara relevant, när vi började så fanns INGEN data alls. Vi kommer inte ersätta OSM med topo10, men Stockholms Lokaltrafik har gjort den ändringen även om jag tycker det är en markant försämring.

Det viktigaste för OSM är att det blir en del av IT-infrastrukturen, dvs att den används flitigt - vilket gör att det blir mer relevant att arbeta med OSM.

Jag har inga synpunkter på pt-mapping så länge det finns platforms att gå på, och att dom är kopplade till vägnätet. Då blir det lättare för kollektivföretagen att switch2osm.

Men rent generellt så tänker jag att det hade varit nyttigt för OSM att ha ALLA hållplatser inne, och då är det svårt med manuellt arbete.

Bara för att fylla i lite bakgrundsinfo. När vi tog bort alla highway=bus_stop i Norge inför import så kollade vi en del på det och nästan allt som låg inne kom från äldre importer med dålig kvalitet - och gammal information. Därför va det ett lätt val för oss att hoppa över till dagens system med import. Det va säkert nån som hade gjort en jättefin hållplats nånstans, men en minoritet av jättefin data fick offras för en majoritet av ganska bra data. Ju mer tid man lägger på manuellt arbete i Sverige ju omöjligare blir importen. Just saying :slight_smile:

Hej @emj, jag vill inte blanda mig i förhållanden som gäller i Stockholm, men vill bara göra dig uppmärksam på att det finns en mappare som har hållit en gemensam standard för SL. Även om jag inte delar samma åskit. Så hör med snusmuriken först innan du gör något. Det finns kanske skäl för det ena eller andra och sen vore det bra att vara hygglig mot denne mappare som ändå har hållit ordning på pt i Stockholmsområdet.

På din fråga om vad som är bäst får jag hänvisa till hur taggningen görs i t ex Västtrafik-området, men även på andra orter.

Det har ju - ibland lite dunkelt - antytts att det finns stora omvälvningar på gång som är sååå betydelsefulla.
Jag är inte så värst insatt, men kan tänka mig att ett krav kommer om att varje hållplatsläge får en unik beteckning för att kunna länka det till andra tillämpningar. Sedan kommer som varje år en handfull hållplatser att dras in (tagga dem gärna med disused:platform osv) och en handfull nya hållplatser kommer att öppnas. Så märkligt är det inte.
Sedan har trafikbolagen sina appar för avgångstider m m, som de knappast kommer att överge. Det viktigaste är att karttittare kan orientera sig på osm och hitta rätt hållplatsläge.

Jag vet inte om ovanstående hjälper dig. Men gör så att du tar kontakt med snusmuriken innan du gör något.

Ja det stämmer, men Samtrafiken har inte samma modell som Norge, så det blir förmodligen en Samtrafiken-id och en lokalföretag-id på alla, beroende på vilket data man tittar på.

I have updated the bus stops in the link used above. There are 91k bus stops in the file. They are based on Samtrafik’s Netex dataset and filtered with Swedish GTFS3. The GTFS stop_id has been in included, which will be useful for any app or map which is dealing with public transport in Sweden.

Only bus stops with active routes are tagged with highway=bus_stop. There are 21k extra nodes with bus stops which are not included in any routes. They may (or may not) exist on the ground but are disused or are seasonal stops.

Approx. 40k of these bus stops are not in OSM now. Manual editing will be needed to get an acceptable node position (within a few meters). Apps which are using the daily GTFS feed in Sweden would then be able to use OSM to get more correct bus stop coordinates + foot rooting to and from the bus stops.

1 Like

Tillåt mig att upprepa att jag är fullständigt emot att “flytta” ut eller rättare att placera en nod highway=bus_stop vid sidan om vägen vid platform (det sagda gäller för Ptv2-modellen).

Det påstås - dessvärre felaktigt - att detta anges i wikin. Det gäller dock endast för Ptv1. I Ptv2 - som tillämpas utanför Stockholm, t ex i Västtrafikområdet - finns inget krav på att bus_stop-noden skall finnas där det föreslås (alltså vid sidan om vägen) (https://wiki.openstreetmap.org/w/index.php?oldid=625726).

I den antagna proposal jämställs tvärtom “existing tag” highway=bus_stop med “interpreted as” både med pt_platform och med pt_stop_position.

I Sverige där Ptv2 tillämpas har vi valt att ha taggen highway=bus_stop tillsammans med pt_stop_position. Detta ger fina möjligheter för att upprätta t ex detallierade hållplatskartor. Ett mycket bra val!
I Norge har man valt att ha taggen highway=bus_stop vid sidan om vägen så som det föreskrivs för Ptv1. Därmed går man miste om hållplatskartor. Otur med det dåliga valet i Norge.

Men en extra nod med bus_stop-taggen tillsammans med eller intill platform-taggen enligt den norska modellen bryter även mot grundläggande principer för osm (Good practice - OpenStreetMap Wiki). Det rör sig så att säga om osms värdegrund.

Den norska extra bus_stop-noden vid sidan om platform strider mot principen:

  1. “don’t map for the renderer”: highway=bus_stop-nodens enda syfte och funktion är att tjäna som etikett (label),

  2. den innehåller taggar (info) som redan finns i platform resp stop_position-taggarna (med andra ord dublett),

  3. den strider mot principen “one feature, one OSM element”.

Slutsatsen är:

  1. wikin föreskriver inte alls för hållplatser enl Ptv2 att highway=bus_stop-noden skall placeras vid sidan om vägen,

  2. den norska modellen är en sämre tillämpning av Ptv2 än den svenska.

Jag förstår inte varför vi skulle överge Ptv2-modellen. Den är vad jag kan förstå, en förbättring av tidigare modeller, eftersom det fanns ett behov av uppdatering.

Att gå tillbaka till Ptv1 eller något annat tycker jag känns fel.
Är det vad som den här tråden diskuterar?

Några intressanta exempel:

Exempel 1.)
norska modellen med extra noden highway=bus_stop förutom pt_stop_position och pt_stop_position.
Hallo alla ni som tycker Ptv2-taggningen är komplicerad. Här tillkommer ytterliggare ett objekt (som alltså inte finns i beskrivningen av Ptv2-modellen).

Exempel 2.)
norr om Uppsala finns en fin blandning av Ptv2 och Ptv1 på en del busshållplatser. Receptet är; man tagar vad man haver, blandar det och ut kommer något som varken är Ptv1 eller Ptv2. Skall vi kalla det Ptvspecial?
bench = yes
bus = yes
gtfs:name = Södra Krycklinge
gtfs:stop_id = 9022003780626002
gtfs_parent_station = 9021003780626000
highway = bus_stop
local_ref = B
name = Södra Krycklinge
nat_name = Södra Krycklinge (Uppsala)
network = UL
public_transport = platform
route_ref = 104
shelter = yes

Exempel 3.)
Sedan kan man göra som i södöstra tyskland. Likadan taggning som i Västtrafikområdet, dvs konsekvent användande av Ptv2-modellen. Inga extra noder som i Norge. Ingen blandning av taggar från olika Ptv-scheman som norr om Uppsala. Rent och fint.
Och gtfs:stop_id på såväl platform (+highway=platform) och stop_position (+highway=bus_stop). Det är så här det skall se ut. Ett enda schema som även innehåller gtfs:stop_id.

a) taggningen på platform:
gtfs:feed = DE-BE-VBB
gtfs:release_date = 2022-07-08
gtfs:stop_id = de:12071:900470276
highway = platform
name = Cottbus, Steinteichmühle
network = Verkehrsverbund Berlin-Brandenburg
network:guid = DE-BE-VBB
network:short = VBB
note:de = HSt-Name lautet bei CV Steinteichmühle für Bus 18 lokalisiert in CB Ströbitz Kirschallee, bei VBB Cottbus Ströbitz Steinteichmühle für Bus 12 etc lokalisiert in Kolkwitz/SPN Berliner Str; andersrum wäre eig. richtig
public_transport = platform
ref:IFOPT = de:12071:900470276
shelter = no
wheelchair = no

b) taggningen på stop_position:
bus = yes
gtfs:feed = DE-BE-VBB
gtfs:release_date = 2022-07-08
gtfs:stop_id = de:12071:900470276
highway = bus_stop
name = Cottbus, Steinteichmühle
network = Verkehrsverbund Berlin-Brandenburg
network:guid = DE-BE-VBB
network:short = VBB
note:de = HSt-Name lautet bei CV Steinteichmühle für Bus 18 lokalisiert in CB Ströbitz Kirschallee, bei VBB Cottbus Ströbitz Steinteichmühle für Bus 12 etc lokalisiert in Kolkwitz/SPN Berliner Str; andersrum wäre eig. richtig
public_transport = stop_position
ref:IFOPT = de:12071:900470276

Those tags and others (gtfs:route_id, gtfs:trip_id, gtfs:trip_id:sample) will be used by PTNA to perform some QA on Route/Route-Master relations of OSM (Ptv2) - besides PTv2 related other QA (finding gaps, against one-way, …) . I’m currently working on GTFS/OSM comparison. This includes at the moment GTFS-trip vs OSM route, will be extended to GTFS-route vs OSM-route_master.

See also PTNA: new feature - GTFS / OSM comparison

There is a lot of confusion in this thread about what the “Norwegian model” might be. In Norway, only highway=bus_stop’s are imported and they are placed to the side of the street at the point where passengers would enter the bus. That is all. Everything else that you might see in OSM in Norway is just a result of how individual mappers (and Entur) happens to be mapping. Very few public_transport=stop_position’s are mapped, but for example in Oslo, there is one user who is mapping and maintaining stop positions.

As pointed out at the start of this thread, the wiki for highway=bus_stop is clearly stating that bus stops should be mapped on the side of the street. Also, the wiki for public_transport (PTv2) clearly states that highway=bus_stop should be mapped, and that it should be mapped at the platform, not at the stop position.

According to taginfo, only 5% of highway=bus_stop in OSM worldwide is mapped on the same element as public_transport=stop_position. I believe this particular mapping habit in parts of Sweden is clearly at odds with the general OSM consensus, and it might confuse data consumers.

It is up to the Swedish community to agree on a way forward, but like other people on this thread, I do not see any benefits of using the PTv2-model for buses. It just adds a lot of complexity and duplicate information which sooner or later will get out of sync.

Denna passage beskriver på inget sätt Ptv2! Det är allmänt känt att Ptv2 i sin modell inte har highway=bus_stop eller för den del highway=platform i sin datamodel. Att dessa highway-taggar används tillsammans vid Ptv2 sker endast eftersom Ptv2-taggar inte renderas.

Därav följer att [quote=“NKA, post:58, topic:109409”]
As pointed out at the start of this thread, the wiki for highway=bus_stop is clearly stating that bus stops should be mapped on the side of the street.
[/quote] avser Ptv1 och inte Ptv2. Detta är ett ofta framfört uttalande, men avser inte Ptv2 utan Ptv1.

Vi som har följt Ptv2 har hållit oss till vad som angivits i en osm-wiki-sida om kollektivtaggning i Sverige (länken finns ovan i diskussionstråden), där det angivits att pt_stop_position även bör förses med highway=bus_stop.

Detta har i efterhand visat sig vara ett mycket klokt beslut eftersom det ger utmärkta resultat, t ex hållplatskartor som inte kunnat framställas om rekommendationen istället hade varit att tagga highway=bus_stop tillsammans med pt_platform.

Slutsats:

1.) det finns i Ptv2-modellen ingen anvisning om att ha en highway=bus_stop-tag vid sidan om vägen.

2.) i det svenska wikin anges taggning pt_stop_position+highway=bus_stop. Detta ger i jämförelse med andra taggningssätt (t ex Ptv1) överlägsna resultat.

For all others, just read the wiki. :slight_smile: