a2 Tech blog

試したこと・調べたこと・感じたことを発信するITエンジニアの日記です。仕事とは直接関係ないけど興味あることを模索していきます。

F1 オープンデータWebService

f:id:ninna2:20170413225528j:plain:w360

面白そうなものを見つけたので備忘として残しておきます。Formula one (F1) の各種データが、Web Serviceで取得できることを知りました。何かサンプルアプリケーションを作ろうと思った時に、外部WebServiceとして使ってみたり、データ分析をする元データに使ってみたり、色々できそう。

Ergast Developer API

Ergast Developer APIで、提供しています。GET リクエストを投げると結果を返してくれます。レスポンス形式は、XML,JSON,JSONP に対応しています。

http://ergast.com/mrd

このAPIのデータを用いて様々なアプリケーションが作られているようです。

ergast.com

取得可能なデータ

では、どういうデータが取れるのか、簡単にまとめておきます。詳細は、API Document をみてもらうと結構詳しく書いてありますし、APIがシンプルなのでわかりやすいと思います。

  • Season List 特定のドライバーやコンストラクターが参戦したシーズンリストが取得可能

  • Race Schedule レーススケジュール。開催日時が取得可能

  • Race Results 決勝レースの結果(順位、タイム、ファステストラップなど)を取得可能。特定のドライバーや特定のレースで絞り込むことが可能

  • Qualifying Results 予選の結果。決勝と同様。

  • Standings ドライバーランキングとコンストラクタランキングがそれぞれのレースの断面で取得可能。

  • Driver Information ドライバー情報。過去を含めてF1参戦をしたドライバーを取得できます。

  • Constructor Information コンストラクタ情報。

  • Circuit Information レースが行われたサーキットの情報

  • Finishing Status レースフィニッシュのステータスが取得可能。どんなトラブルだったのかステータスid でわかるようになっている。

  • Lap Times ラップタイム

  • Pit Stops ピットストップ情報

サンプル

例えば、このようにリクエストを投げれば取得できます。

http://ergast.com/api/f1/drivers/alonso/constructors/renault/seasons.json フェルナンドアロンソが、ルノーに在籍したシーズンをjson 形式で取得

{
    "MRData":
    {
    "xmlns":"http:\/\/ergast.com\/mrd\/1.4",
    "series":"f1",
    "url":"http://ergast.com/api/f1/drivers/alonso/constructors/renault/seasons.json",
    "limit":"30",
    "offset":"0",
    "total":"6",
    "SeasonTable":
        {
            "constructorId":"renault",
            "driverId":"alonso","Seasons":
            [
                {"season":"2003","url":"http:\/\/en.wikipedia.org\/wiki\/2003_Formula_One_season"},
                {"season":"2004","url":"http:\/\/en.wikipedia.org\/wiki\/2004_Formula_One_season"},
                {"season":"2005","url":"http:\/\/en.wikipedia.org\/wiki\/2005_Formula_One_season"},
                {"season":"2006","url":"http:\/\/en.wikipedia.org\/wiki\/2006_Formula_One_season"},
                {"season":"2008","url":"http:\/\/en.wikipedia.org\/wiki\/2008_Formula_One_season"},
                {"season":"2009","url":"http:\/\/en.wikipedia.org\/wiki\/2009_Formula_One_season"}
            ]
       }
   }
}

2003,2004,2005,2006,2008,2009の6年間在籍したことがわかります。そういえば、2007年だけマクラーレンに在籍したので、ルノーではなかったんですね。

こういうデータを使って、時間があればなにかアプリでも作って見ます。F1グランプリニュースで川井一仁さんがフリップで出してるチャートとか似たようなものできそうですねー。