IBMは、テック・フォー・グッド イニシアティブである「Call for Code Global Challenge」の創設パートナーです。開発者はこのチャレンジの期間中、IBMのグループ企業であるThe Weather Company(以下、TWCo)の豊富な気象データAPIに無料でアクセスできます。このAPIはMapboxとシームレスに統合されており、天候情報を取り入れたマップを作ることができます。
Call for Codeとは
Call for Codeは、オープンソース技術を使って差し迫った社会的課題に挑戦する最大の取り組みです。2018年以降、この運動は179カ国、40万人以上の開発者が集まるまでに成長しました。受賞したソリューションは、フィールドテストを経て、与えるインパクトが大きいコミュニティへ展開されます。今年のコンペティションは、7月31日まで応募を受け付けており、世界中のソフトウェア開発者やイノベーターに、オープンソースを活用したテクノロジーで気候変動に立ち向かうことを呼びかけています。
気象データを使ったマップ事例
「AllTrails」のようなアウトドアアプリは、気象データを利用して、ユーザーが標高の高い場所で何が必要となるかを把握でき、準備するのに役立ちます。
また、気象データを含んだナビゲーションアプリでは、ドライバーは正確な到着予定時刻や、雪や大雨などの天候を把握することができます。
保険会社のプログレッシブは、過去と現在の気象データを組み込み、住宅ローンの査定担当者のポートフォリオのリスクを分析しています。
天気は地形に深く関係しています。場所が天気を形成する一方で、天気はその場所での経験を変えてしまうこともあります。現在・過去・未来の天気に関する情報を活用すれば、アプリ開発者は、より価値のある体験を提供することができ、エンドユーザーは安全な判断を下せるようになります。
The Weather Companyの製品を使ったデモ
TWCoは、膨大な数のデータ製品をAPIで提供しています。気温や降水量などの天気予報アプリでおなじみのデータから、製品を組み合わせる分析まで、Mapboxの開発者はアプリケーションを強化するための気象データを利用することができます。
上図のデモでは、TWCoの2つの異なる製品を使用しています。「マップのためのRadar overlay」と「検索結果のためのCurrent Condition」です。現在のレーダーデータは、マップの読み込み時に表示されます。マップのレイヤースタックの中に位置しているので、地名ラベルや道路はレーダーレイヤーの上に表示されています。場所を検索した後、マップをズームインする間に、コードはTWCoにCurrent Conditionを二次的に要求します。マップが検索結果を中心にして表示されると、マップの左上に現在の天気と気温が表示されます。
1.レーダーAPI
TWCoにマップタイルをリクエストするには、2つのプロセスがあります。レーダーデータは5分ごとに提供され、マップタイルをリクエストするには、TWCoがタイルを公開したポイントインタイムを指定する必要があります。レーダーのメタデータエンドポイントには、利用可能な「タイムスライス」のリストが含まれています。最初にメタデータエンドポイントを呼び出し、時間配列の最後のタイムスライスを抽出します。その後、その時間をマップタイルリクエストの入力として使用します。
マップタイルのURLが利用可能になり、マップロードイベントが発生すると、コードはレーダーレイヤーをマップに追加します。マップの描画順でレーダーを表示する場所を指定するには、`before_layer`パラメータを使用します。ここでは、"aeroway-line "レイヤーを使用します。
2.Current Conditions API
マップが最初に読み込まれたときには、広い範囲が表示されるため、現在の天気は表示されません。ユーザーが場所を検索すると、コードはその結果を使用してユーザーの関心のある場所を特定します。Mapbox Search APIのレスポンスが来ると、アプリは検索結果の座標を使用して、その場所の現在の天気を要求します。
このデモでは、マップ上に現在の気温や天気をdivで表示しています。このエンドポイントには数十個のデータ要素があるので、アプリには風速、大気質指数(AQI)、湿度、気圧も含めることができます。
早速参加してみましょう!
Call for Codeでアカウントを登録し、TWCo API キーを取得します。(※IBM アカウントを作成する必要があります。IBMのプライバシーポリシーをご覧ください。)Mapboxのアカウントをお持ちでない場合は、サインアップしてください。
デモのサンプルコードをダウンロードし、スクリプトの先頭にある変数にAPIキーを追加します。
*本記事は、Mapbox Inc. Blogの翻訳記事です。Call for Codeは日本からも参加可能です。