この記事は「Call for Code Blog – Call for Code: The Weather Company and you(2019å¹´5月8日公開)」の翻訳です。

気象条件を理解することで、自然災害が人々に与える影響を軽減できる理由を理解する

毎年のように、異常気象と自然災害の発生件数は記録を更新しているようです。これらの事象の頻度は年々増加しています。そして、被災者の数と損害規模は増え続けるばかりです。

破壊的な異常気象が減少する気配はありません。それどころか、National Climate Assessment によると悪化の一途を辿っています。さらに、Centre for Research の災害疫学に関する調査によると、昨年 1 年間で異常気象の影響を受けた人数は 6,000 万人を超えています。

大洪水

Call for Code

Call for Code は、世界中の開発者に向けたチャレンジです。その目的は、開発者が自然災害について考え、自然災害による影響を軽減するソリューションを作成してポジティブな変化を推進することにあります。Call for Code では、開発のスキルを人命救助に活用するよう、開発者に呼び掛けています。

Call for Code に応募するソリューションでは、次のような面に取り組むことができます。

  • 災害事前対策の強化
  • 異常気象による影響の軽減
  • 自然災害後の復旧支援

昨年優勝したチーム Project Owl は、インターネットに接続不可能になったときに、通信被災者と緊急救援隊員をつなぐオフライン通信ネットワークを開発しました。

The Weather Company

私たちは気象をコントロールできませんが、気象に関する理解を深めることはできます。そうすることで、データとアナリティクスを使用して事前に対策を講じ、異常気象がコミュニティーに与える影響を軽減することができます。正しい知識があれば、異常気象や自然災害をより正確に予測し、事前対策を強化して、災害からより迅速に復旧できるのです!

気象が関わってくる問題を解決するには (つまり、より具体的に言うと気象条件を考慮したアプリケーションを作成するには)、気象データ自体にアクセスできなければなりません。

今回も地球気象データにアクセスできます

The Weather Company® は今回も、Call for Code Global Challenge に参加する開発者たちに Weather Data API を開放しています。開発者は Call for Code に応募するソリューションを構築する際に、これらの API を無料で使用できます。

The Weather Company のよく使われている 25 を超える重要な API エンドポイントを利用することができます。これらのエンドポイントは、次のデータ・パッケージを網羅しています。

開発者は革新的かつ潜在的な人命救助ソリューションに、異常気象アラート、熱帯性低気圧予報、停電指数などの気象データを簡単に追加できます。

Weather API の使用方法

Weather API にアクセスして使用するには、まず、API キーを登録する必要があります。登録は無料です。いったん登録すると、Call for Code Challenge の開催期間中は Weather API を無料で使用できます。登録フォームを送信すると、登録した e-メール・アドレスに API キーが送られてきます。

利用可能な各エンドポイントの詳細は、このリンク先の API ドキュメントで確認できます。このドキュメントは、作成するアプリケーションに適したエンドポイントを判断する上でも役立ちます。

API を使用するには、適切なエンドポイントに GET リクエストを送信する必要があります。リクエストには API キーとそのエンドポイントで必要とするパラメーターを含めることが要件となります。例えば、ニューヨーク州ローリー (緯度: 35.843686、経度: -78.78548) の短期 「15 分予報」を取得するには、次のようなリクエストを送信します (curl を使用)。

curl -X GET "https://api.weather.com/v1/geocode/35.843686/-78.78548/forecast/fifteenminute.json?units=m&language=en-US&apiKey=WXYZ" -H  "accept: application/json" -H  "Accept-Encoding: gzip"


ここで、WXYZ は登録後に受け取った API キーです。

実践から学習する

Weather API エンドポイントを使用するサンプル・アプリケーションが含まれている GitHub リポジトリーがオンラインで用意されています。これらのリポジトリーから発想を得たり、API の動作を確認したりできるだけでなく、アプリケーションを作成する際の出発点としてリポジトリーを使用することもできます。サンプル・コードに、以下のエンドポイントに対してクエリーを実行し、エンドポイントから返されたレスポンスを処理する具体的な方法が示されています。

  • Weather Alerts – Headlines API: 米国国立気象局 (NWS)、カナダ環境省、MeteoAlarm から発行された気象の観測データ、警告、声明、勧告を取得できます。
  • Daily Forecast API: 当日のジオコードによる気象予報を API エンドポイントから取得できます。
  • Severe Weather Power Disruption Index 15 Day v2.0: 気象による停電の可能性を示す統計情報を取得できます。
  • Tropical -Forecast – Projected Path: 活発な状態の暴風雨ごとに 1 つの予想進路のクエリーを実行できます。
  • Weather Alerts Detail: 米国国立気象局 (NWS)、カナダ環境省、MeteoAlarm から発行された気象の観測データ、警告、声明、勧告の詳細を取得できます。

GitHub 上には、サンプル・アプリケーションの Node.js 実装と Python 実装が用意されています。サンプル・コードを実行することで、エンドポイントをアプリケーションに統合する方法を確認できます。また、サンプル・コードを調べると、他の利用可能なエンドポイントを使用する方法も理解できるようになるはずです。サンプル・コードを取得して実行する手順は、Node.js 実装と Python 実装の両方のリポジトリーに含まれています。

サンプル・コードを実行するのは簡単です。大まかな流れとして以下の手順に従うだけで、Node.js または Python を使用したサンプルをローカルで実行できます。

  1. 目的の GitHub リポジトリー (Node.js および Python) を複製します。
  2. WEATHER_API_KEY 環境変数を作成して、その値を API キーに設定します。
  3. npm (Node.js の場合) または pip (Python の場合) を使用して依存関係をインストールします。
  4. app.js (Node.js の場合) または app.py (Python の場合) を起動します。

IBM Cloud Developer Tools を使用してサンプルを IBM Cloud にデプロイする手順は次のとおりです。

  1. 目的の GitHub リポジトリー (Node.js および Python) を複製します。
  2. manifest.yml 内の WEATHER_API_KEY 変数を更新します。
  3. ibmcloud cf push を使用してアプリケーション/リポジトリーを IBM Cloud にプッシュします。
  4. IBM Cloud アプリケーションを起動します

詳しい手順は、両方のサンプル・コード実装の README で説明されています。

開発者が世界を変える手段

効果的な異常気象対策システムとなるソリューションはありますか?自然災害後の健康上の懸念を軽減したいですか?どのようなアイデアであるかに関わらず、このイニシアチブに参加してください。

直接的な影響を持続できるソリューションを構築することに興味がありますか?このチャレンジに参加するには、まだ遅くありません。Call for Code 2019 への応募締め切りは 2019年7月29日です。

開発者として世界を変えることができます!

Raj Singh がこのブログに貢献してくれました。

ディスカッションに参加する

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です