Muut työkalut

IRC kanava:
#avoindata

Miten yhdistän HSL pysäkkidatan toiseen tietueeseen?

1 tykkäys 0 ei tykkää
  • Ranked : 26059
kysytty 26. helmikuuta kategoriassa Liikenne | "reittiopasta omaan käyttöön" toimesta
Miten yhdistän HSL pysäkkidatan(data.stop.stoptimesWithoutPatterns.scheduledArrival yms) toiseen tietueeseen(data.routes.shortName)?

 

Mikä olisi kyseisille datoille yhdistävä arvo, jolla datat voisi yhdistää, ja näyttää seuraavan bussin tietoja laajemmin?

2 Vastausta

0 tykkää 0 ei tykkää
  • Ranked : 26059
vastattu 27. helmikuuta | Markku Huotari, HSL toimesta
En tiedä ymmärsinkö kysymystäsi oikein mutta jos tarkoitit Digitransitin rajapintoja ja siellä esim. tällaisen kyselyn suorittamista ...

{
  stop(id: "HSL:1140447") {
    name
      stoptimesWithoutPatterns {
      scheduledArrival
      realtimeArrival
      arrivalDelay
      scheduledDeparture
      realtimeDeparture
      departureDelay
      realtime
      realtimeState
      serviceDay
      headsign
    }
  }
}

niin tuossahan sinä annat ns. pitkän pysäkki-id:n parametreissä. Sen saa kytkettyä ns. lyhyeen pysäkkitunnukseen joka näkyy mm. pysäkkikatoksissa esim. tällaisella kyselyllä...

{
  stop(id: "HSL:1140447") {
    name
    lat
    lon
    patterns {
      id
      name
      route {
        gtfsId
        shortName
        longName
      }
      directionId
    }
  }
}
0 tykkää 0 ei tykkää
  • Tuukka Hastrup
  • Points : 1740
  • Ranked : 3
  • Badges : 2 3
  • http://dev.hsl.fi/
  • Location : Helsinki
  • Code for Europe -kumppanikoodari Helsingin seudun liikenteellä HSL:llä
1.74K
vastattu 27. helmikuuta | tuukka (1,740 pistettä) toimesta
Jatkona Markun vastaukseen:

1. GraphQL:ssä kannattaa hyödyntää sisäkkäisiä hakuja, jolloin sinun ei tarvitse tehdä yhdistämistä erikseen. Esim. shortName:

{
  stops(name:"Pasila") {
    stoptimesWithoutPatterns {
      realtimeDeparture
      serviceDay
      headsign
      trip {
        route {
          shortName
        }
      }
    }
  }
}

2. Kenttä id sisältää kyseisen GraphQL-tietoalkion tunnisteen, jonka perusteella kaksi tietoalkiota voi todeta samaksi ja tehdä yhdistelyn (tietoalkiosta voi myös hakea myöhemmin lisätietoa ja päivityksiä node-kyselyn kautta):
{
  stops(name:"Pasila") {
    stoptimesWithoutPatterns {
      realtimeDeparture
      serviceDay
      headsign
      trip {
        route {
          id
        }
      }
    }
  }
  routes {
    id
    shortName
  }
}

3. Kenttä gtfsId sisältää GTFS-tietomallin mukaisen datasetissä uniikin tunnisteen, jonka avulla Stopin, Routen, Tripin, Blockin, Shapen, Agencyn, Zonen, Faren jne. voi yhdistää muissa dataseteissä tai järjestelmissä oleviin tietoihin (tai hakea myöhemmin lisätietoa ja päivityksiä stop-, route-, trip- jne. kyselyiden kautta).
Sisällön lisenssi:

Datatoiveet

Aiemmat datatoiveet:

Esitä datatoive!

Tietoja

Avoindata.net on pystytetty suomalaisen avoimen datan verkoston avoimeksi tukisivustoksi. Suomalaisten tietovarantojen kieli on monesti suomi. Käytä siis suomen kieltä.


Kategoriat ovat työn alla, joten jos kaipaat jotain kategoriaa, lähetä palautetta.

203 kysymystä

237 vastausta

165 kommenttia

26,058 käyttäjää

Suosituimmat tagit

Sponsorit

...