OpenStreetMapでジオコーディングして緯度・経度から降水予報を取得する。


住所から手軽に緯度・経度を取得して天気を取れないかなと思い、OpenStreetMapで緯度・経度を取得して、KCCSAPIから天気を取得してみる事にしました。

OpenStreetMapについてはこちら

田町駅を指定して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でジオコーディングした場合に、複数候補が出てきたり、ピンポイントでの地点情報が取れない可能性があるようで、そちらは工夫が必要そうです。