KCCS APIサービスにて暑さ指数を取得する

まずは、暑さ指数とは
###暑さ指数（WBGT（湿球黒球温度）：Wet Bulb Globe Temperature）とは
暑さ指数とは、①湿度、 ②日射・輻射(ふくしゃ)など周辺の熱環境、 ③気温の３つを取り入れた指標となります。

熱中症を予防することを目的として、1954年にアメリカで提案された指標です。

31度以上が「危険」、28度以上31度未満が「厳重警戒」の基準となり、「すべての生活活動でおこる危険性」となります。

「[環境省：熱中症予防情報サイト](https://www.wbgt.env.go.jp/wbgt.php)」より抜粋。

つまり、熱中症になりそうかどうか、という予測を立てて活動の予定を立てるのに使えそうですね。

ちなみに、暑さ指数は、年によって配信期間が変わるのですが、大体5月～10月までの配信となります。

###暑さ指数を取得してみよう
KCCS APIサービスの初期セットアップについては、以下のサイトにてyoshiyoshifujiiさんに解説頂いてますのでそちらをご参照ください。

https://qiita.com/yoshiyoshifujii/items/2a0b14674bf2883b4f0b



手始めに、以下URLのKCCS APIサービスのサイトからデータ配信サービス仕様書をダウンロードします。

https://www.energy-cloud.jp/documents/#service-specification

サービス仕様書 (PDF) Ver.2.6.0
サービス仕様書_別紙1 (PDF) 「暑さ指数（WBGT）予測地点⼀覧（令和3年度）」

別紙1に「暑さ指数（WBGT）予測地点⼀覧（令和3年度）」があります。

別紙1に定義されている「暑さ指数（WBGT）予測地点⼀覧（令和3年度）」のうち、リクエストで指定した緯度経度に一番近い予測地点が取得できます。

それでは、サービス仕様書「2.5. 暑さ指数予測データ配信機能（REST API）P.23 」の下記記載内容にそって、KCCS APIサービスにリクエストを投げてみます。

~~~
$ curl -X GET 'https://<アクセスキーID>:<シークレットアクセスキー>@rest.energy-cloud.jp/api/v1/wbgt-predictions/?latitude=<北緯>&longitude=<東経>'
~~~

サンプルとして、[弊社三田事業所](https://www.kccs.co.jp/company/maps/mita/)の緯度・経度を指定してリクエストを投げてみると、下記のようなレスポンスが返ってきました。[弊社三田事業所](https://www.kccs.co.jp/company/maps/mita/)直近の予測地点は文京区白山のようです。

~~~
$ date
2021年  5月 14日 金曜日 11:38:58 JST

$ curl -X GET 'https://<アクセスキーID>:<シークレットアクセスキー>@rest.energy-cloud.jp/api/v1/wbgt-predictions/?latitude=35.6414781&longitude=139.7419867'
{"datetime":"2021-05-14 11:25:00","timezone":"+09:00","area":{"latitude":139.75,"longitude":35.6916666666667,"location_code":"44132","observatory":"東京","address":"文京区白山"},"wbgt_predictions":[{"time":"2021-05-14 12:00:00","value":24},{"time":"2021-05-14 15:00:00","value":24},{"time":"2021-05-14 18:00:00","value":20},{"time":"2021-05-14 21:00:00","value":19},{"time":"2021-05-15 00:00:00","value":18},{"time":"2021-05-15 03:00:00","value":17},{"time":"2021-05-15 06:00:00","value":17},{"time":"2021-05-15 09:00:00","value":19},{"time":"2021-05-15 12:00:00","value":19},{"time":"2021-05-15 15:00:00","value":20},{"time":"2021-05-15 18:00:00","value":19},{"time":"2021-05-15 21:00:00","value":18},{"time":"2021-05-16 00:00:00","value":18},{"time":"2021-05-16 03:00:00","value":18},{"time":"2021-05-16 06:00:00","value":17},{"time":"2021-05-16 09:00:00","value":19},{"time":"2021-05-16 12:00:00","value":21},{"time":"2021-05-16 15:00:00","value":21},{"time":"2021-05-16 18:00:00","value":20},{"time":"2021-05-16 21:00:00","value":20},{"time":"2021-05-17 00:00:00","value":19}]}
~~~
サービス仕様書に記載されている下記レスポンス説明を参照して、JSONのレスポンスデータを読み解いてみます。

| Json パス | 項目名 | 型 | 補足 |
|:------------:|:------------:|:------------:|:------------:|
|wbgt̲predictions/time|予測日時|文字列|YYYY-MM-DD HH:MM:SS 形式<br>(例: 2016-02-01 01:00:00)|
|wbgt̲predictions/value|暑さ指数（WBGT）予測値|数値|暑さ指数（WBGT）の予測値。3 時間ごとの予測を返す。|

予報日時と、暑さ指数が3時間毎に取得できるので、

例えば、下記レスポンスだと、該当地域の2021/5/14 12:00の暑さ指数予測は24度ということが分かります。

~~~
{
  "datetime": "2021-05-14 11:25:00",
  "timezone": "+09:00",
  "area": {
    "latitude": 139.75,
    "longitude": 35.6916666666667,
    "location_code": "44132",
    "observatory": "東京",
    "address": "文京区白山"
  },
  "wbgt_predictions": [
    {
      "time": "2021-05-14 12:00:00",
      "value": 24
    },
    {
      "time": "2021-05-14 15:00:00",
      "value": 24
    },
    {
      "time": "2021-05-14 18:00:00",
      "value": 20
    },
    {
      "time": "2021-05-14 21:00:00",
      "value": 19
    },
    {
      "time": "2021-05-15 00:00:00",
      "value": 18
    },
    {
      "time": "2021-05-15 03:00:00",
      "value": 17
    },
    {
      "time": "2021-05-15 06:00:00",
      "value": 17
    },
    {
      "time": "2021-05-15 09:00:00",
      "value": 19
    },
    {
      "time": "2021-05-15 12:00:00",
      "value": 19
    },
    {
      "time": "2021-05-15 15:00:00",
      "value": 20
    },
    {
      "time": "2021-05-15 18:00:00",
      "value": 19
    },
    {
      "time": "2021-05-15 21:00:00",
      "value": 18
    },
    {
      "time": "2021-05-16 00:00:00",
      "value": 18
    },
    {
      "time": "2021-05-16 03:00:00",
      "value": 18
    },
    {
      "time": "2021-05-16 06:00:00",
      "value": 17
    },
    {
      "time": "2021-05-16 09:00:00",
      "value": 19
    },
    {
      "time": "2021-05-16 12:00:00",
      "value": 21
    },
    {
      "time": "2021-05-16 15:00:00",
      "value": 21
    },
    {
      "time": "2021-05-16 18:00:00",
      "value": 20
    },
    {
      "time": "2021-05-16 21:00:00",
      "value": 20
    },
    {
      "time": "2021-05-17 00:00:00",
      "value": 19
    }
  ]
}
~~~
一番高くても24度を下回っているので、直近では「厳重警戒」にはならなさそうです。出力された51 時間先までの予測値をグラフにすると、こんな感じです。
![image2021-5-14_11-44-9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1194651/e3ded846-eefc-111e-5704-2ddf1d4098aa.png)