気象庁API Rubyクライアント 「JMA」
こんにちは、今日は、先日リリースした、気象庁API Rubyクライアントの紹介です。動画はAerial view of city traffic at night – Free Stock Video[I]Aerial view of city traffic at night – Free Stock Videoさんです。
気象庁では、気象・海洋や地震・火山などを常に監視し、さらに起こり得る現象の予測に関する情報を配信しています。今回リリースしたこのRuby Gemは、それぞれの配信に対して統一したインターフェースを用意することで、横断的な情報の利用を容易にすることを目的に開発しました。
- リポジトリ
- スクリーンショット
- RSS配信と詳細の取得[II]出典:気象庁ホームページ jQuery('#footnote_plugin_tooltip_983_1_II').tooltip({ tip: '#footnote_plugin_tooltip_text_983_1_II', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });
- APIによる気象予測の取得[III]出典:気象庁ホームページ jQuery('#footnote_plugin_tooltip_983_1_III').tooltip({ tip: '#footnote_plugin_tooltip_text_983_1_III', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });
- 機能
リポジトリ
Bitbucket
jma | RubyGems.org | your community gem host
スクリーンショット
RSS配信と詳細の取得[II]出典:気象庁ホームページ jQuery('#footnote_plugin_tooltip_983_1_II').tooltip({ tip: '#footnote_plugin_tooltip_text_983_1_II', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });
RSSフィードを読み取り、1件目の投稿の詳細を取得します。
require 'jma'
client = JMA::Client.new.tap do |config|
config.response_type = :object
end
feed = client.request_extra
feed.updated.content
feed.items.first.content.content
report = client.request_xml feed.items.first.id.content
gem 'hashie'
report.body.extend Hashie::Extensions::DeepFind
report.body.deep_find('Title')
report.body.deep_find('Name')
APIによる気象予測の取得[III]出典:気象庁ホームページ jQuery('#footnote_plugin_tooltip_983_1_III').tooltip({ tip: '#footnote_plugin_tooltip_text_983_1_III', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });
APIを利用し北海道の気象予測を取得します。
response = client.request_area_codes
require 'jmespath'
JMESPath.search('[1].*.name', response.body.first)
code = JMESPath.search('[1].*.children', response.body.first).flatten.first
response = client.request_forecast(code)
response.body.extend Hashie::Extensions::DeepFind
response.body.deep_find('weathers').first
機能
Feed
- 定時
- 随時
- 地震火山
- その他
API
- エリア一覧
- アメダス 最新時刻
- アメダス(全国地図表示用)
- アメダス(地点系)
- アメダス(地点系)
- アメダス観測所一覧
- アメダス配信データ 各要素の説明
- 天気概況(当日/翌日)
- 天気予報
- エリア毎の注意報/警報
- ひまわり(フルディスク画像)の配信時刻
- ひまわり(日本付近画像)の配信時刻
- レーダー実況の配信時刻
- 降水ナウキャストの配信時刻
最後までお読みいただきありがとうございます。
もし、気に入っていただける内容ありましたら、「シェア」していただけるととても嬉しいです。
今後の活動の大きな励みになります!
コメント