F1 オープンデータWebService
面白そうなものを見つけたので備忘として残しておきます。Formula one (F1) の各種データが、Web Serviceで取得できることを知りました。何かサンプルアプリケーションを作ろうと思った時に、外部WebServiceとして使ってみたり、データ分析をする元データに使ってみたり、色々できそう。
Ergast Developer API
Ergast Developer APIで、提供しています。GET リクエストを投げると結果を返してくれます。レスポンス形式は、XML,JSON,JSONP に対応しています。
このAPIのデータを用いて様々なアプリケーションが作られているようです。
取得可能なデータ
では、どういうデータが取れるのか、簡単にまとめておきます。詳細は、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グランプリニュースで川井一仁さんがフリップで出してるチャートとか似たようなものできそうですねー。