住所から手軽に緯度・経度を取得して天気を取れないかなと思い、OpenStreetMapで緯度・経度を取得して、KCCSAPIから天気を取得してみる事にしました。
###OpenStreetMapについてはこちら
https://wiki.openstreetmap.org/wiki/JA:Nominatim
田町駅を指定してcurlを投げてみます。
curl 'https://nominatim.openstreetmap.org/search?format=json&q=田町駅'
[
{
"place_id": 126250412,
"licence": "Data c OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
"osm_type": "way",
"osm_id": 154232005,
"boundingbox": [
"35.6450685",
"35.6462419",
"139.7464858",
"139.7487187"
],
"lat": "35.64564675",
"lon": "139.74745073974765",
"display_name": "田町駅, 36, なぎさ通り, 芝浦三丁目, 麻布, 港区, 東京都, 105-0014, 日本",
"class": "building",
"type": "train_station",
"importance": 0.111
}
]
認証情報やアクセスキーもなく取れました!
合ってるのか試しにOSMのGUIで見てみると合っていそう!
田町駅
緯度:35.6450685
経度:139.74745073974765
の降水情報を取得してみます。
今回は、こちらのドキュメントより、
データ配信サービス仕様書
2.10. 降⽔短時間予報データ配信機能(REST API)
curl -X GET 'https://<アクセスキーID>:<シークレットアクセスキー>@rest.energy-cloud.jp/api/v1/rain-forecast/short?latitude=35.64564675&longitude=139.74745073974765'
{
"datetime": "2021-09-14 13:00:00",
"timezone": "+09:00",
"request_info": {
"latitude": 35.64564675,
"longitude": 139.747450739748
},
"mesh": {
"latitude": 35.6458332941352,
"longitude": 139.743750000005
},
"values": [
{
"time": "2021-09-14T13:00:00+09:00",
"value": 0
},
{
"time": "2021-09-14T14:00:00+09:00",
"value": 0.4
},
{
"time": "2021-09-14T15:00:00+09:00",
"value": 0.4
},
{
"time": "2021-09-14T16:00:00+09:00",
"value": 1
},
{
"time": "2021-09-14T17:00:00+09:00",
"value": 1
},
{
"time": "2021-09-14T18:00:00+09:00",
"value": 1
}
]
}
これを見ると。
datetime
2021-09-14 13:00:00
の気象庁の予報で
予報時刻 | 降水量(mm) |
---|---|
2021-09-14T13:00:00+09:00 | 0 |
2021-09-14T14:00:00+09:00 | 0.4 |
2021-09-14T15:00:00+09:00 | 0.4 |
2021-09-14T16:00:00+09:00 | 1 |
2021-09-14T17:00:00+09:00 | 1 |
2021-09-14T18:00:00+09:00 | 1 |
という予報になり、午後から雨がふりそうです!
※後で気づきましたが、openstreetmapでジオコーディングした場合に、複数候補が出てきたり、ピンポイントでの地点情報が取れない可能性があるようで、そちらは工夫が必要そうです。