初めに
ダッシュボード作成のために、雨量をAPIにて取得する
YOLP 気象情報API を使用する。
⇒PHPを用い、HP等で表示させる用途を想定
リファレンスより引用
指定した緯度経度の雨の強さを取得できるAPIです。
現在時刻の降水強度実測値から、60分後までの降水強度予測値を取得できます。
環境
- Windows10
- PHP 8.0.6
パラメータ
- appid => Yahooデベロッパー登録をし、取得する
- coordinates => 経度,緯度(世界測地系)
- output => 出力形式を指定(json/xml)
- date =>日時を指定(YYYYMMDDHHMI形式)
本コードではparamsにてパラメータをセットしてください。
コード
yahoo_weather_api.php
<?php
//Yahoo weather APIにて気象情報を取得する
$api = 'https://map.yahooapis.jp/weather/V1/place?';
//パラメータをセット
$params = array(
"appid" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"coordinates" => "135.000000,35.0000000",
"output" => "json",
"date" => date("YmdHi", strtotime("now")),
);
$url = $api . 'appid=' . $params['appid'] . "&coordinates=" . $params["coordinates"] . "&output=" . $params["output"];
$weather_json = file_get_contents($url);
$weather_array = json_decode($weather_json, true);
//降水強度実測値を変数に格納
$date = $weather_array["Feature"]["0"]["Property"]["WeatherList"]["Weather"]["0"]["Date"];
$rainfall=$weather_array["Feature"]["0"]["Property"]["WeatherList"]["Weather"]["0"]["Rainfall"];
//出力
echo "日時:" . $date . "\n";
echo "雨量:" . $rainfall. "\n";
終わりに
実測値といえども、気象レーダー解析雨量のため実際の降雨量と差異があるが、アメダスがない地点の雨量も取得できるのは魅力的。
※降水強度は、気象レーダーで観測された降水の強さを時間雨量(mm/h)に換算した値で、実際の雨量とは異なります。
参考サイト