nrk.no

Gratis flydata fra Avinor

Kategori: Uten kategori


For et år siden skrev vi om trafikkdata fra Trafikantenog noen måneder senere var det full åpenhet. Veldig bra jobbet av Ruter og Trafikanten, og nå gjør Avinor gromme ting.

Oppdatering: Peter skriver i kommentarfeltet under at Trafikanten har en modell der dataene deres ikke kan brukes i kommersiell sammenheng (og da ikke på nettsider med reklame), og at Trafikanten krever prosenter av annonsering. Det synes jeg høres ut som en dårlig modell, og ikke slik det offentlige skal forvalte data. Vi følger det opp!

plane-moon

«Fly to the moon» av fdecomite – med en Creative Commons-lisens.

Avinor legger nemlig ut data for flyavganger og ankomster for alle norske flyplasser som XML. Du kan hente ut masse informasjon som du kan bruke for å lage tjenester med. Her er noen eksempler på elementer er gyldige inputparametre i tjenesten:

timeFrom – Ikke-obligatorisk, standardverdi er én time. Styrer hvor langt tid tilbake det hentes flights for, rundet ned til hele timer.
timeTo – Ikke-obligatorisk, standardverdi er syv timer. Styrer hvor langt frem i tid det hentes flights for, rundet ned til hele timer.
airport – Obligatorisk. IATA-kode som styrer hvilken flyplass XML-uttrekket gjelder for. Eksempel airport=OSL vil gi flights for Oslo Lufthavn, Gardermoen.
direction Ikke-obligatorisk. Angir «retning» for en flight: A = «Ankomster» (eng:»Arrivals»), D = «Avganger» (eng: «Departures»). Ingen verdi viser både A og D.
lastUpdate – Ikke-obligatorisk. Henter kun flydata som har blitt oppdatert etter et gitt tidspunkt. Eksempel, ”2009-02-03T09:30:00”.

Dette er veldig bra og et eksempel til etterfølgelse. All statlig data og informasjon bør tilrettelegges og gjøres tilgjengelig slik at både publikum og utviklere kan bygge tjenester med dem.

21 kommentarer

  1. Kjell Are Refsvik

    Hei,

    Såvidt jeg vet sender også flyene GPS-data og en del andre data slik
    at man med en antenne og litt utstyr kan ta rådataene ned selv også å lage sine egne XML-feeds.

    Kjell Are Refsvik

    Svar på denne kommentaren

  2. Å skrive at trafikanten har full åpenhet er ganske upresist.

    Avinor har lagt seg på riktig lisens, samme som yr.no, dvs. at det kan ligge på kommersielle sider så lenge det er fritt tilgjengelig og at det linkes tilbake til den respektive eieren.
    Trafikanten sier blankt nei med mindre de får en cut av annonsene på siden, noen som i de fleste tilfeller er helt uaktuelt.

    Ellers vil jeg bare gratulere avinor. Dette var faktisk ganske overraskende da jeg trodde vi skulle få høre om rikets sikkerhet og Loch Ness-monsteret før disse dataene skulle bli åpne.

    Svar på denne kommentaren

  3. At Trafikanten ikke deler dataene sine på en åpen og konsumentvennlig måte er rett og slett begredelig, spesielt med tanke på at de selv utnytter dataene så dårlig og alle løsningene de selv lager basert på dem er så dårlige.

    At Avinor nå gjør dataene sine tilgjengelige er flott, men jeg synes fortsatt de har et stykke å gå når det gjelder API-design, arkitektur, REST og modellering. Det er mildt sagt ufattelig mye jeg ville gjort annerledes, men da det kan se ut som at de bruker tradisjonell ASP (over 10 år gammel teknologi), er det mulig å se litt gjennom fingrene. I tillegg er det helt klart bedre med noe som ikke er perfekt enn ingenting i det hele tatt (eventuelt noe som i praksis er utilgjengelig, som Trafikantens data).

    Svar på denne kommentaren

  4. Jeg benytter allede Avinor’s data i min Flytids-applikasjon for Android. Syntes det var greit å benytte de tjenestene de har lagt ut, men det er smart å cache en del av dataene de serverer.

    Du finner applikasjonen på Android Markets. (Flytider Norge/FlightTime Norway)

    Svar på denne kommentaren

  5. Avinor planlegger en mindre endring i den åpne XML-feeden. Dette gjelder dato/tidsformatet. Vi skal fortsette å benytte ISO 8601, men vil legge til en Z etter klokkeslettet for å vise at det er UTC-tid som benyttes.

    ISO 8601-format: [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]Z
    Eks: 2009-12-31T16:00:00Z tilsvarer 31. desember 2009 kl 17:00 lokal tid i Norge (CET), mens 2009-06-23T16:00:00Z tilsvarer 23. juni 2009 kl 18:00 lokal tid i Norge (Sommertid).
    Avinor har testet endringen; den har ikke hatt noen innvirkning på våre systemer. Vi anbefaler alle som benytter denne XML-feeden om å vurdere om det kan ha noen innvirkning på deres tjeneste at det legges til en Z til slutt i dato/tid.

    Endringen vil tre i kraft om ca. 6 uker, rundt 1.oktober 2012.

    Svar på denne kommentaren

    • Jonas Lepsøy (svar til Torstein)

      Hvis du bare skal lage en visning som likner den de har på flyplassene er det enkleste å lage en webside som henter nye data med jevne mellomrom. Bruk for eksempel en XSLT-prosessor til å gjøre om XML-dataene til HTML og vis dem på skjermen du ønsker.

      Så kjører du bare noe slikt (selvsagt med en mer elegant visning av tid, destinasjon og status):

      Avgang/departure

      Time
      Flight
      Gate
      Destination

    • Jonas Lepsøy (svar til Jonas Lepsøy)

      Hm, ser ut som kommentarfeltet ikke er glad i å vise xml-markup, selv innenfor code-elementet.

      @NRKBeta: Skulle gjerne hatt mulighet for å forhåndsvise og/eller redigere egne kommentarer.

      Vi prøver igjen med escapede > og <-tegn:

      <xsl:template match="/">
      <table>
      <caption>Avgang/departure</caption>
      <tr>
      <th>Time</th>
      <th>Flight</th>
      <th>Gate</th>
      <th>Destination</th>
      <th/>
      </tr>
      <xsl:for-each select="/airport/flights/flight">
      <tr>
      <td>
      <xsl:value-of select="current()/schedule_time"/>
      </td>
      <td>
      <xsl:value-of select="current()/flight_id"/>
      </td>
      <td>
      <xsl:value-of select="current()/gate"/>
      </td>
      <td>
      <xsl:value-of select="current()/airport"/>
      </td>
      <td>
      <xsl:value-of select="current()/gate"/>
      </td>
      <td>
      <xsl:value-of select="current()/status_code"/>
      </td>
      </tr>
      </xsl:for-each>
      </table>
      </xsl:template>

    • Jonas Lepsøy (svar til Torstein)

      Torstein, trondheimlufthavn.net har kodet siden sin i PHP. Hvis du ønsker å sette opp noe liknende selv må du kunne programmere litt.

      Du kan f.eks sette opp en Linux-boks som henter ut XML-data fra Avinor, parser det i PHP med f.eks SimpleXML, og så viser det som en webside med Apache.

      Hvis denne løsningsbeskrivelsen ikke er nok for at du kan løse dette selv, er det nok greit å få noen til å gjøre det for deg. Det du ønsker å sette opp er ganske enkelt, men du får nok ikke hele løsningen i et kommentarfelt.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *. Les vår personvernserklæring for informasjon om hvilke data vi lagrer om deg som kommenterer.