SlideShare a Scribd company logo
1 of 94
WIFI
Norrsken House Guest by Telia
Password: impacttech
12 juni
Norrsken House, Stockholm
Trafiklab meetup
Agenda
1.Intro omTrafiklab och saker på G, Elias
2.Nyheter i GTFS Sverige 2,Tobias
3.Trainhack, Max
4.Bodius, Magnus Eldén
5.Nya datamängder från SL, Andreas
6.Demo av nya datamängder,Tobias
7.Vad är GTFS? Johan
8.Ny typ av API påTrafiklab, Björn ochVladde
9.Teaser…
https://youtu.be/OsvEM7WhYX8
Kraftsamling öppna
trafikdata
VillkorDatamängder
och tjänster
IT-arkitektur Organisation Finansiering
http://bit.ly/2pVBqlX
2018-06-13
10
Dataset (ber.klar hos ST) 2018 2019 2020 2021
Hållplatser & Stationer x x
Rutter och Linjer x x
Information om biljetter
x
Realtidsdata om p. trafik x x
Realtidsdata om störningar x x
Nyttjandegrad
x
Grafiska element
Reseplaneringstjänster
x
Försäljning av biljetter
?
Pendelparkeringar
x
2018-06-13
11
Trafik-
Företag
2018
Hållplatser/
Stationer
Rutter/
Linjer
Realtid
Planerad
trafik
Realtid
Störningar
Positions-
data
Andel av
totala
resor i %
Östgöta Tr. Q1 X x x x x 1,8
UL Q1 X x x x 2,7
SLL Q2 X x x x 52
Skånetraf. Q2 10,1
Väst Tr.* Q3 18
JLT Q4 1,4
X-Trafik Q4 1
Kalmar Q3 0,6
VTAB Q4 0,8
* = Enbart statisk data i nuläget 88,4
2018-06-13
12
Trafik-
Företag 2019
Hållplatser/
Stationer
Rutter/
Linjer
Realtid
Pågående
trafik
Realtid Positions-
data
Andelen av
tot resor =
1,5%
segm.
SJ
MTR
Tågkomp.
Transdev
(Snälltåget)
Tågåkeriet i
Bergslagen
AB
Skandin.Jern.
Bergslagst.
A-Train* = Enbart statisk data i nuläget
2018-06-13
13
Nyheter i GTFS Sverige 2
Tekniskt linjenummer
Tekniskt turnummer
Ny struktur för route_id och trip_id
Tobias Hägglund
Systemutvecklare
Tekniskt linjenummer
Exempel: Sörmlands stadstrafik
Stad Annonserat Tekniskt
Eskilstuna 1 2 3 1 2 3
Strängnäs 1 2 3 141 142 143
Katrineholm 1 2 3 181 182 183
Tekniskt turnummer
Exempel: SL Pendeltågs tågnummer
Linje 40
Uppsala centralstation – Södertälje centrum
Tågnummer 2233 (tekniskt turnummer)
Idag 17 September
Pendeltåg + 2233 Pendeltåg 40
Nya extra-filer
routes_technical.txt
route_id,technical_route_number
1252014100001,141
1252014200001,142
1252014300001,143
trips_technical.txt
trip_id,technical_trip_number
22750000002233,2233
22750000002234,2234
22750000002235,2235
Ny struktur för route_id
“Maintain persistent ids for stop_id, route_id, and agency_id across data iterations whenever possible”
Idag På måndag 18/6
1310 (löpnummer) 1252014100001
Pos 1-1 (1) = Alltid 1 för route_id
Pos 2-4 (252) = Länstrafiken Sörmland
Pos 5-8 (0141) = Tekniskt linjenummer
Pos 9-13 (00001) = Löpnummer eftersom en verklig linje kan delas upp på fler routes med
olika route short name, route long name och transportmedel.
Ny struktur för trip_id
Idag På måndag 18/6
109622 (löpnummer) 22750000002233
Pos 1-1 (2) = Alltid 2 för route_id.
Pos 2-4 (275) = SL
Pos 5-8 (0000) = Tåg har inget linjenummer
Pos 9-14 (002233) = Tekniskt turnummer eller löpnummer då samma verkliga tur delas i flera
trips pga olika perioder.
20
Ska du till
Almedalen?
Dag: Söndag 1 juli
Tid: 15:30
Plats: Ryska gränd 9, Visby
Trafiklab och Samtrafiken bjuder in till
dialogmöte i samverkan med
regeringskansliet.
Dialogmötet är en del av Sveriges
regerings bidrag till Open Government
Partnership, ett internationellt program
som lanserades av bland annat USA
under president Barack Obama.
2016
2017
Film på trainhack.se
https://trainhack.se
Skriv upp er på nyhetsbrevet! 😘
VAD ÄR BODIUS?
• En webbtjänst för att sammanlänka tidsstyrda kartområden (isokroner) med annan plottbar
kartdata. Pendlingstyper är kollektivtrafik, gång, cykel eller bil
• Nuvarande version visar pendling 10 – 60 min från samtliga adresser i Sverige, via närmaste
kollektivhållplats, och med boenden från booli.se som resultat
• Det finns möjlighet att samköra upp till fyra startadresser för att t.ex. visa sitt arbete, sin partners
arbete och barnens förskola. Alla med separat möjlighet till max pendlings-tid/-typ. Resultat blir
alltid den totala nåbara ytan från sökt(a) punkt(er).
VARFÖR?
• Vi sökte bostad att köpa, min fru hittar inte bra i Göteborg. Sökte liknande tjänst utan resultat
• Jag arbetar som Produktägare och ville utmana mig själv att bygga något på fritiden – lära mig att
programmera
HUR GÅR DET TILL?
• Jag har laddat in hela GTFS-zipfilen i min databas
• Vid sökning letar jag upp den närmaste hållplatsen från sökt position, och börjar därifrån söka
• Med sökt maxtid som bas ”åker” jag sedan på alla tänkbara linjer från respektive hållplats, till det
tar slut på tid. Detta upprepar jag tills inga fler vägar finns från starthållplatsen
• Vid varje given hållplats jag besökt finns det en viss tid kvar av totala söktiden. Denna tid använder
jag för att skapa en cirkel runt hållplatsen, som indikerar att ju mer tid det är kvar, desto längre
från hållplatsen kan man ta sig till fots (det är också för att få en sökbar yta och inte bara en massa
prickar)
• Slutligen slår jag ihop alla dessa olika stora prickar till ett område
och presenterar på kartan
FRAMTIDEN
• Förbättra service för kollektivresenärer
• Inkludera bytestider för större noggrannhet
• Inkludera olika delar av resdygnet istället för en jämkning
• Färdigställa den autouppdatering av GTFS zip-api jag nu jobbar på eftersom mycket handpåläggning krävs vid
tabellskiften idag
• Expandera till andra länder
• Expandera med andra resultatlager
• AMS.se (för jobbsök)
• Lantmäteriet (för grönområden inom pendling)
• Etc.
• Plus mycket annat skoj såklart!
TACK FÖR ORDET
Magnus Eldén
0707-653246
hello@bodius.se
www.bodius.se
Exempel på insamlad statistik
(anonymiserad, i detta fall exklusive boendesök)
0
100
200
300
400
500
600
700
800
900
Stockholm Göteborg Malmö Lund Linköping Umeå Växjö Norrköping Helsingborg Karlstad Västerås Jönköping Enköping
Antalsökningar
Totalt antal registrerade bostadssökningar, 10 mest sökta orter (inkl. kranskommuner)
Bil Cykel Fotgängare Kollektivtrafik
33
29
28
27
21
27
26
10
23
33
37
32
0
5
10
15
20
25
30
35
40
Göteborg Malmö Stockholm
Min Genomsnittlig pendlingstid per typ (inkl. kranskommuner)
Bil Cykel Fotgängare Kollektivtrafik
10 min
20 min
30 min
40 min
50 min
60 min
Stockholm
10 min
20 min
30 min
40 min
50 min
60
min
Göteborg
10 min
20 min
30 min
40 min
50 min
60 min
Malmö
Procentuell fördelning av pendlingstid för kollektivtrafikresenärer i tre största städerna (inkl. kranskommuner)
TEKNIK FÖR DEN INTRESSERADE
• Mestadels C# och ASP.NET som kodspråk.
• SQL databas och Redis cache för lagring och snabb kollektivtrafikssökning
• Ett flertal samkörda api’er i applikationen
• Allt ligger i Microsoft Azure, kostnad ca 250kr/mån
Appendix: ILLUSTRATION AV SÖKNING
120
900
840
750
690
840
340
100
40
600
510
600
570
480
360
Nya datamängder från SL…
Andreas Strömberg
Trafikförvalntingen
K1
ÖPPEN DATA
• TF ska tillgängliggöra ett antal utpekade dataset och
tjänster …
• enligt utpekade standarder…
• samt vara kvalitetsgranskade
• Dataseten ska vara beskrivna enligt standard….
• och ha tillämplig licens
• Det ska också vara tydligt angivet vad man får göra och inte
göra med dataseten
• Det ska finnas SLA:er så att det blir tydligt för
tredjepartsaktörer vad som gäller
K1
• GTFS
• Point-of-interest
• Cykel i reseplaneraren
• Status för hissar och
rulltrappor
Demo…
Tobias
Vad är GTFS?
Johan Berg
GTFS-Guru
Johan Berg /johan@biketo.se/0768−132456
STHLM Traveling
Varför GTFS?
• Standard
• Öppet
• Enkelt
• Flexibelt
• Kontroll
Vadär GTFS?
• En reseplanerare
• Ett analysverktyg
• Ett färdigtAPI
• Rådata
• Helhet
• Kommaseparerade textfiler
• Enkelt att bygga ut
Varför GTFS?
GTFS
GTFS HÖJD
ENTRE
VÄGAR
GCBANA
Hjälpmed
el
gtfs.org/merged-view/
Numbers /Excel /Libre office eller liknande
https://iterm2.com
https://www.qgis.org
https://github.com/CUTR-at-USF/gtfs-realtime-validator
https://github.com/CUTR-at-USF/gtfs-realtime-validator
https://github.com/transitland/mapzen-gtfs
• Reseplanerare
• Analysverktyg
• API
• Realtid
• Kartdata
• Community
GTFS HÖJD
ENTRE
VÄGAR
GCBANA
OpenStreetMap
Vägar, GC-bana, byggnader, namn m.m
GTFS
GTFS and OSM
GTFS, OSM and Entrances
• Planet
• Uppdateras en gång per vecka
• ~900GB okomprimerat
• ~60GB bzip2
• ~40GB pff
https://planet.osm.org
• Geofabric utsnitt
• sweden.pbf 356MB
• Skapa egna utsnitt med t.ex osm-lib
• ~sl.pbf 5.4MB
http://www.geofabrik.de
https://github.com/conveyal/osm-lib
• Photo from Unsplash by
• Michal Grosicki
Frågor?
Johan Berg /johan@biketo.se/0768−132456
Ny typ av API på Trafiklab!!!
Björn & Vladde,
Savea
SAVEA + Utvecklare = ❤
Enkelt att boka genom SAVEAs (soon-to-be) API
Björn Hammarskjöld (min chef)
Vladimirs “vladde” Nordholm (jag)
Kort introduktion om oss (30 sekunder)
Vilka är vi?
Hint: Vi är SAVEA NetPro Solutions
Biljettförsäljningssystem för kommersiell
Expressbusstrafik (och tåg)
Testa på
labs.savea.se/
Varför är vi här?
SAVEA Biljett-API
● Skaffa nyckel på Trafiklab kör
○ Inget specialavtal behövs!
● Sök och sälj hela SAVEA utbudet kostnadsfritt
● Tjäna pengar på “kickback”
● Sälj direkt i din tjänst / app / etc
Exempel på hur API anropen kan se ut...
GET https://savea.se/api/v1/ticket?key=12345&originId=xxx&destId=yyy&date=yyyy-MM-dd&code=TRAINH4CK
---
// response
{
"trips": [
{
"originId": "xxx",
"destId": "yyy",
"depTime": "hh:mm:ss",
"depDate": "yyyy-MM-dd",
"arrTime": "hh:mm:ss",
"arrDate": "yyyy-MM-ss",
"depId": "20101",
"prices": {
"child_0to6": 100,
"youth_7to26": 110,
"adult": 200,
"senior": 150,
"group_of_10": 110
}
}
]
}
Exempel: Hämta våra avgångar
Exempel: Skapa bokning
POST https://savea.se/api/v1/ticket?key=12345
{
"successURL": "https://bokning.se/ticket/ok",
"errorURL": "https://bokning.se/ticket/error",
"originId": "xxx",
"destId": "yyy",
"date": "yyyy-MM-dd",
"code": "TRAINH4CK",
"depId": "20101",
"tickets": [
{
"type": "adult",
"name": "Martin Harari Thuresson",
"phone": "+46723175800",
"email": "martin@46elks.com",
"more important information": "...."
},
{...}
]
}
// response
{
"payURL": "https://savea.se/api/v1/ticket?paymentId=KGJAFTD",
"paymentId": "KGJAFTD"
}
Response information on return from ticketing payment:
https://www.blataget.com/ticket/ok?ticketID=JK45TT
https://www.blataget.com/ticket/error?code=567&message=<msg>
Teaser…
Kenneth
Tack!

More Related Content

Similar to Trafiklab Meetup 20180612

Meetup med Trafiklab 20171004
Meetup med Trafiklab 20171004 Meetup med Trafiklab 20171004
Meetup med Trafiklab 20171004 Elias Arnestrand
 
Slides Trafiklab meetup 20170425
Slides Trafiklab meetup 20170425Slides Trafiklab meetup 20170425
Slides Trafiklab meetup 20170425Elias Arnestrand
 
Travel hack datasources
Travel hack datasourcesTravel hack datasources
Travel hack datasourcestravelhack
 
Trafiklab Meet-up 20160211
Trafiklab Meet-up 20160211Trafiklab Meet-up 20160211
Trafiklab Meet-up 20160211Elias Arnestrand
 
Session 66 petter hill
Session 66 petter hillSession 66 petter hill
Session 66 petter hillSamgods
 
Lägesrapport för projektet Skandinavisk I
Lägesrapport för projektet Skandinavisk ILägesrapport för projektet Skandinavisk I
Lägesrapport för projektet Skandinavisk ISvenskt Projektforum
 
Session 4 Mattias Lundberg
Session 4 Mattias LundbergSession 4 Mattias Lundberg
Session 4 Mattias LundbergMattias Lundberg
 
Session 4 Mattias Lundberg
Session 4 Mattias LundbergSession 4 Mattias Lundberg
Session 4 Mattias LundbergMattias Lundberg
 
Tågtavlan & öppna data
Tågtavlan & öppna dataTågtavlan & öppna data
Tågtavlan & öppna dataTheodor Storm
 
Om attraktiva öppna API:er - Developers are humans too / Sundsvall42 2012
Om attraktiva öppna API:er - Developers are humans too  / Sundsvall42 2012Om attraktiva öppna API:er - Developers are humans too  / Sundsvall42 2012
Om attraktiva öppna API:er - Developers are humans too / Sundsvall42 2012Daniel Rudmark
 

Similar to Trafiklab Meetup 20180612 (20)

Meetup med Trafiklab 20171004
Meetup med Trafiklab 20171004 Meetup med Trafiklab 20171004
Meetup med Trafiklab 20171004
 
Meet up20150312
Meet up20150312Meet up20150312
Meet up20150312
 
Trafiklab Meetup 20161206
Trafiklab Meetup 20161206Trafiklab Meetup 20161206
Trafiklab Meetup 20161206
 
Slides Trafiklab meetup 20170425
Slides Trafiklab meetup 20170425Slides Trafiklab meetup 20170425
Slides Trafiklab meetup 20170425
 
Trafiklab Meetup 20150610
Trafiklab Meetup 20150610Trafiklab Meetup 20150610
Trafiklab Meetup 20150610
 
Travel hack datasources
Travel hack datasourcesTravel hack datasources
Travel hack datasources
 
Trafiklab Meet-up 20160211
Trafiklab Meet-up 20160211Trafiklab Meet-up 20160211
Trafiklab Meet-up 20160211
 
Session 66 petter hill
Session 66 petter hillSession 66 petter hill
Session 66 petter hill
 
Trafiklab Meetup 141030
Trafiklab Meetup 141030Trafiklab Meetup 141030
Trafiklab Meetup 141030
 
It samverkan för snabbare bostadsbyggnad
It samverkan för snabbare bostadsbyggnadIt samverkan för snabbare bostadsbyggnad
It samverkan för snabbare bostadsbyggnad
 
Lägesrapport för projektet Skandinavisk I
Lägesrapport för projektet Skandinavisk ILägesrapport för projektet Skandinavisk I
Lägesrapport för projektet Skandinavisk I
 
Session 4 Mattias Lundberg
Session 4 Mattias LundbergSession 4 Mattias Lundberg
Session 4 Mattias Lundberg
 
Session 4 Mattias Lundberg
Session 4 Mattias LundbergSession 4 Mattias Lundberg
Session 4 Mattias Lundberg
 
Centralt geoarkiv trafikverket
Centralt geoarkiv trafikverketCentralt geoarkiv trafikverket
Centralt geoarkiv trafikverket
 
Codemocracy viktoria
Codemocracy viktoriaCodemocracy viktoria
Codemocracy viktoria
 
Session 7 Jan Persson
Session 7 Jan PerssonSession 7 Jan Persson
Session 7 Jan Persson
 
Tågtavlan & öppna data
Tågtavlan & öppna dataTågtavlan & öppna data
Tågtavlan & öppna data
 
Session 22 Alf Peterson
Session 22 Alf PetersonSession 22 Alf Peterson
Session 22 Alf Peterson
 
Om attraktiva öppna API:er - Developers are humans too / Sundsvall42 2012
Om attraktiva öppna API:er - Developers are humans too  / Sundsvall42 2012Om attraktiva öppna API:er - Developers are humans too  / Sundsvall42 2012
Om attraktiva öppna API:er - Developers are humans too / Sundsvall42 2012
 
Presentation msi group
Presentation msi groupPresentation msi group
Presentation msi group
 

More from Elias Arnestrand

About Trafiklab @vinnova 20170404
About Trafiklab @vinnova 20170404About Trafiklab @vinnova 20170404
About Trafiklab @vinnova 20170404Elias Arnestrand
 
Veridict Trafiklab meetup 2016 12-06
Veridict Trafiklab meetup 2016 12-06Veridict Trafiklab meetup 2016 12-06
Veridict Trafiklab meetup 2016 12-06Elias Arnestrand
 
Trafiklab Meetup 20160211: Kundundersökning SLL
Trafiklab Meetup 20160211: Kundundersökning SLLTrafiklab Meetup 20160211: Kundundersökning SLL
Trafiklab Meetup 20160211: Kundundersökning SLLElias Arnestrand
 
Trafiklab Meet-up 20160211: Sveriges Radio Åke Brulin
Trafiklab Meet-up 20160211: Sveriges Radio Åke BrulinTrafiklab Meet-up 20160211: Sveriges Radio Åke Brulin
Trafiklab Meet-up 20160211: Sveriges Radio Åke BrulinElias Arnestrand
 
Trafiklab Meet-up 20160211: GTFS Johan Nilsson
Trafiklab Meet-up 20160211: GTFS Johan NilssonTrafiklab Meet-up 20160211: GTFS Johan Nilsson
Trafiklab Meet-up 20160211: GTFS Johan NilssonElias Arnestrand
 
Transportforum 2016: Framtidens trafikinformation
Transportforum 2016: Framtidens trafikinformationTransportforum 2016: Framtidens trafikinformation
Transportforum 2016: Framtidens trafikinformationElias Arnestrand
 
Transportforum 2016: Årets kollektivtrafiktjänster
Transportforum 2016:  Årets kollektivtrafiktjänsterTransportforum 2016:  Årets kollektivtrafiktjänster
Transportforum 2016: Årets kollektivtrafiktjänsterElias Arnestrand
 
Skjutsgruppen trafiklab meetup 20150610
Skjutsgruppen trafiklab meetup 20150610Skjutsgruppen trafiklab meetup 20150610
Skjutsgruppen trafiklab meetup 20150610Elias Arnestrand
 
Presentation meetup 16 juni 2014
Presentation meetup 16 juni 2014Presentation meetup 16 juni 2014
Presentation meetup 16 juni 2014Elias Arnestrand
 
Trafiklab ochTravelhack Vinnova 20131003
Trafiklab ochTravelhack Vinnova 20131003Trafiklab ochTravelhack Vinnova 20131003
Trafiklab ochTravelhack Vinnova 20131003Elias Arnestrand
 
Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013
Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013
Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013Elias Arnestrand
 
Transportforum 2012 Elias Arnestrand
Transportforum 2012 Elias ArnestrandTransportforum 2012 Elias Arnestrand
Transportforum 2012 Elias ArnestrandElias Arnestrand
 

More from Elias Arnestrand (13)

About Trafiklab @vinnova 20170404
About Trafiklab @vinnova 20170404About Trafiklab @vinnova 20170404
About Trafiklab @vinnova 20170404
 
Kollektivtrafikåret 2016
Kollektivtrafikåret 2016Kollektivtrafikåret 2016
Kollektivtrafikåret 2016
 
Veridict Trafiklab meetup 2016 12-06
Veridict Trafiklab meetup 2016 12-06Veridict Trafiklab meetup 2016 12-06
Veridict Trafiklab meetup 2016 12-06
 
Trafiklab Meetup 20160211: Kundundersökning SLL
Trafiklab Meetup 20160211: Kundundersökning SLLTrafiklab Meetup 20160211: Kundundersökning SLL
Trafiklab Meetup 20160211: Kundundersökning SLL
 
Trafiklab Meet-up 20160211: Sveriges Radio Åke Brulin
Trafiklab Meet-up 20160211: Sveriges Radio Åke BrulinTrafiklab Meet-up 20160211: Sveriges Radio Åke Brulin
Trafiklab Meet-up 20160211: Sveriges Radio Åke Brulin
 
Trafiklab Meet-up 20160211: GTFS Johan Nilsson
Trafiklab Meet-up 20160211: GTFS Johan NilssonTrafiklab Meet-up 20160211: GTFS Johan Nilsson
Trafiklab Meet-up 20160211: GTFS Johan Nilsson
 
Transportforum 2016: Framtidens trafikinformation
Transportforum 2016: Framtidens trafikinformationTransportforum 2016: Framtidens trafikinformation
Transportforum 2016: Framtidens trafikinformation
 
Transportforum 2016: Årets kollektivtrafiktjänster
Transportforum 2016:  Årets kollektivtrafiktjänsterTransportforum 2016:  Årets kollektivtrafiktjänster
Transportforum 2016: Årets kollektivtrafiktjänster
 
Skjutsgruppen trafiklab meetup 20150610
Skjutsgruppen trafiklab meetup 20150610Skjutsgruppen trafiklab meetup 20150610
Skjutsgruppen trafiklab meetup 20150610
 
Presentation meetup 16 juni 2014
Presentation meetup 16 juni 2014Presentation meetup 16 juni 2014
Presentation meetup 16 juni 2014
 
Trafiklab ochTravelhack Vinnova 20131003
Trafiklab ochTravelhack Vinnova 20131003Trafiklab ochTravelhack Vinnova 20131003
Trafiklab ochTravelhack Vinnova 20131003
 
Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013
Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013
Elias Arnestrand Nordic APIs Stockholm 18-19 sept 2013
 
Transportforum 2012 Elias Arnestrand
Transportforum 2012 Elias ArnestrandTransportforum 2012 Elias Arnestrand
Transportforum 2012 Elias Arnestrand
 

Trafiklab Meetup 20180612

Editor's Notes

  1. Historiskt data sedan augusti 2012. Tekniskt linjenummer – välja ut t.ex. Malmös stadstrafik. Tekniskt turnummer – tågnummer då det fungerar som tekniskt turnummer och inte ska visas för resenären.
  2. Möjligt att välja ut bara Strängnäs stadtrafik baserat på ett antal tekniska linjenummer. I Stockholm skiljer sig annonserat och tekniskt linjenummer: Ersättningsbussar, t.ex. för Roslagsbanan 27 blir det tekniskt linjenummer 927. I Skåne: - Buss 1 i Malmö (1), Kristianstad (401), Helsingborg (601), Eslöv (701) och 6 till.
  3. För producenter som levererar tekniska turnummer på sin trafik kan de vara av intresse, t.ex. för att se att flera trips med samma tekniska turnummer egentligen är en och samma verkliga tur som är uppdelad på olika perioder. SL levererar inte tekniskt turnummer för busstrafik utan Samtrafiken genererar löpnummer som tekniska turnummer. Läs om detaljer på blogg.trafiklab.se.
  4. http://gtfs.org/best-practices/ Längre nummer än tidigare. Kolla din implementation. T.ex. Javas datatyper String och long fungerar, short och int räcker inte längre till.
  5. Vi rekommenderar starkt att inte försöka extrahera data ur de olika delarna, t.ex. tekniskt turnummer från pos 9-14 i trip_id. Se dem som slumpmässiga nummer i din impementation.
  6. Jag har alla hållplatsers position i databas. Sökning på bodius ger en lat/lng till arbetsplats, som jag markerar på kartan (x)
  7. Med Redis-cache geospatiala metoder kan jag mycket snabbt hitta den närmaste hållplatsen från min position (fågelvägen så inte exakt på metern)
  8. Från min starthållplats söker jag mig sedan utåt, eftersom jag även har alla hållplatsers interaktioner (möjliga grannar) med genomsnittlig restid baserat på samtliga tidtabellsdata där tiden inte är 0.
  9. Jag räknar av tiden i sekunder som återstår. Om tiden är 0 eller mindre (egentligen mindre än 30 sekunder) stoppar jag uträkningen längs den aktuella vägen. Uträkningen sker parallellt med flera trådar samtidigt för att snabba på förloppet. Beroende på hur många besökare jag har (Bodius är ju ett hobbyprojekt så har inte så mycket resurser) kan jag parallellisera upp till åtta samtidiga trådar.
  10. Slutligen tar jag alla punkter med sin respektive tid kvar, samkör dem till en stor polygon och publicerar för användaren.