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

Alla hållplatser + deras adresser

Hej,

Jag behöver alla hållplatser i Sverige, vilket jag enkelt får från GTFS Sverige 2. Mitt problem är att det finns tusentals hållplatser som delar namn med andra hållplatser. Mina användare ska välja hållplats i en lista, så jag behöver differentiera hållplatserna genom att lägga till vilken kommun/postort eller liknande hållplatserna med samma namn ligger i.

Har Trafiklab någon API som tillhandahåller både alla Sveriges hållplatser samt deras adresser? Just nu använder jag en Open Street Map-API för att göra en reverse lookup mha hållplatsernas koordinater, men det är en mycket långsam lösning då OSM-APIn är begränsad till en sökning per sekund. Det tar alltså ett antal timmar att få fram alla duplicerade hållplatsers kommuner.

En annan lösning kan också vara om ni har en API som tillåter reverse lookup av en lång lista koordinater istället för att det görs styckvis.

Tack på förhand!
Mvh David

Kommentarer

  • Hej David,

    Just nu har vi ingen dataset som innehåller adresser. Vi har ingen API som kan göre reverse lookups (geocoding).

    Vi tar med din fråga/förslag när vi utvecklar nya hållplats datasets.

    Om det bara gäller vilken kommun en hållplats ligger i kan man ladda ner en fill som innehåller alla kommungränser (från https://osm-boundaries.com/) och göra beräkningen lokalt.Det är så vi gör internt när vi måste veta i vilken kommun en hållplats ligger. Jag kollar om jag kan få ut logiken i en python script så att all som behövs kan köra algoritmen.

    Hälsningar,
    Bert
    Bert på Trafiklab
  • Tack för svaret! Då vet jag.

    Lite orelaterat, men jag skulle också önska att det var möjligt att hämta enstaka filer ur sweden.zip via APIn. T.ex. är jag bara intresserad av stops.txt, det vore smidigt om jag kunde anropa APIn på ett sätt som bara returnerade den filen. Dels för att undvika nedladdning av överflödigt material, och dels för att det skulle eliminera behovet av zip-hantering (som i mitt fall behöver göras manuellt).

    Mvh David
  • Hej David!

    Du kan ladda ner individuella filer från Transitfeeds: https://transitfeeds.com/p/trafiklab/50/latest . Transitfeeds är en icke-officiell mirror (vi kan inte ge stöd om något är fel där), de hämtar varje uppdatering automatiskt inom 24 timmar. Det kan vara intressant om du vill slippa att ladda ner hela zip-filen.

    Hälsningar,
    Bert
    Bert på Trafiklab
  • Perfekt! Precis vad jag behövde.

    Angående Python-scripten du nämnde i ditt första svar, ser det ut att vara möjligt? Vore mycket smidigt.

    Tack för all hjälp!

    Mvh David
  • Här har du skriptet! Det är bara en snabb "port" från kod som vi redan hade, så dokumentation är kanske inte super-bra. Kolla här om du vill lära dig mer om hur det funkar: https://en.wikipedia.org/wiki/Point_in_polygon

    En exempel stops_with_municipalities fil ingår i repo:t, om du kör skriptet själv blir den genererad på nytt.

    https://gist.github.com/Bertware/77459159229f2fff1a448b028d0e60d6


    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.