コンテンツへスキップ

Weather.php:Yahoo!JAPANのWeatherAPI利用

Weather.php概要

Yahoo!JAPANの気象情報APIを用いて、指定した緯度経度の雨の強さを取得します。取得した絵、現在時刻の降水強度実測値から、60分後までの降水強度予測値をもとに、今後の雨予報を行います。

スクリプト仕様

  • Yahoo!JAPANの気象APIより現在の降水量実測値と60分後までの降水量を取得します
  • 降水量予測は、10分単位で取得を行います。

    以下、XMLで取得した際のサンプル。
  • 現在(observation)の雨量(Rainfall)を取得し、将来(forecast)の雨量を順番に見てゆきます。雨判定のしきい値を超えた時点で、雨予報のトリガーを実施します。(home-api.phpへ通知します)
  • このままだと、checkインターバルにもよりますが通知回数が多くなるので、通知間隔を調整する設定値を準備しております。
    雨が降り始めても、止むことなく降り続ける場合は少ないので、少し時間が空いた後の、雨の降り始めが通知出来るようにしております。
  • 雨トリガー実行、現時点の雨や60分先までの雨を検知した時点の時間を記憶し、インターバル時間以上の雨検知まで、雨トリガーを抑制します。
    インターバルを70分と設定した場合。
    雨トリガー実施08:00(次回09:10以降の雨検知までトリガー抑止)→数十分先の雨を検知08:40(次回9:50以降の雨検知までトリガー抑止)
    雨が降り続いている限り(70分以上の雨検知がなくなるまで)、雨トリガーは抑止されます。

動作定義

  • @URL4HOMEAPI@:home-api.phpのURLを登録 home-api.php V1
  • @APIKEY@:home-api.php のAPI KEYを登録 home-api.php V1
  • @YAHOO_API_ID@:Yahoo! JAPANのアプリケーションID
    Yahoo!JAPANアプリケーションの管理
  • @PLACE@:経度・緯度の順番で、コンマ区切りで指定
    例:https://www.geocoding.jp/?q=東京都港区芝公園4丁目2−8
    東京都港区芝公園4丁目2−8 座標(WGS84) 緯度: 35.658577 経度: 139.745451
    139.745451,35.658577

スクリプトファイル

Gist

https://gist.github.com/kenichimiki/42fb1736da90a911dd9c3bffda4a8f10