Detta inlägg är gammalt och kan innehålla inaktuell information.

GTFS Sweden 3

Jag vill få ut alla rader från stop_times.txt som matchar ett specifikt stop_id. Filen är för stor för min dator att hantera. Finns det verkligen inget sätt jag kan skicka en request till en tex. stop_id endpoint? måste jag alltid dra ner hela zip filen och göra resten för hand?

Kommentarer

  • Hej!

    Om du använder den vanliga notepad applikationen, kan jag rekommendera att använda notepad++ (använder 600mb minne istället för 1,2gb). Sublime däremot verkar använda mer än 2gb minne för samma fil.

    Om du vill få ut alla stop_times för en hållplats antar jag att du vill göra det igen i framtiden, och att man kommer programmera en lösning för det. Då blir det mycket enklare, eftersom att man inte behöver läsa hela filen i en gång. I python skulle det se ut såhär:

    with open('/your/path/file') as f:
    for line in f:
    process(line)

    Eftersom den for-each går genom en generator (yield istället för return) läses bara en rad i taget, så det kommer gå kanonbra att läsa i. Andra programmeringsspråk har liknande lösningar.

    Man måste alltid dra ner hela zip filen, eftersom att detta är meningen med GTFS och liknande datasets. Man får all data så att man kan göra vad som helst med dem. Annars har vi ResRobot API:er, om man hellre bygger på ett API (ResRobot bygger dock på äldre data). Om du bara är intresserad i data från en operatör finns samma data i GTFS regional, där kan du ladda ner mindre filer per operatör.

    Hälsningar,
    Bert

    Bert på Trafiklab

Kommentera eller skriv ett nytt inlägg

Ditt namn och inlägg kan ses av alla. Din e-post visas aldrig publikt.