資料３

気象庁XML用APIを利用した気象情報取得法の紹介
2018年03月16日
先端IT活用推進コンソーシアム
クラウド・テクノロジー活用部会 リーダー
荒本 道隆
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

先端IT活用推進コンソーシアム
概要のご紹介Advanced IT Consortium
to Evaluate, Apply and Drive

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

2

AITCと気象庁
XMLコンソーシアムでの気象庁XMLの仕様策定への技術協力から始まり、AITCになってからもイベントの共催、部会でのディスカッションなど、10年に渡る関係です。
2008年～2009年
気象庁XML作成に技術協力
2010年～「気象情報を知る・取る・使う実践セミナー」
＠東京＆大阪（気象庁と共催）
ソフトウエアジャパンで発表など
気象庁 特別会員に。

2016年
WXBC設立に関与
2017年～WXBCに入会
運営委員会、人材育成WGで活動中

Javaコンソーシアム

XML部会

Windowsコンソーシアム

2010年設立 ～2001年設立 ～ 2010年活動終了

日本経営協会
XMLフェスタ
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

3

AITCについて(1)
会員 ： 正会員（法人会員＆個人事業主）
準会員（個人会員、学術会員）
特別会員 （産業技術総合研究所、気象庁、消防研究センター、防災科学技術研究所）
会長 ： 鶴保 征城（IPA顧問、HAL校長）
顧問 ： 和泉 憲明（産業技術総合研究所 上級主任研究員）
稲見 昌彦（東京大学 教授）
萩野 達也（慶応義塾大学 教授)
橋田 浩一（東京大学大学院 教授)
丸山 不二夫（早稲田大学 招聘研究員）
山本 修一郎（名古屋大学 教授)
BizAR部会顧問： 三淵 啓自（デジタルハリウッド大学大学院 教授）
川田 十夢（AR三兄弟 長男）
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

4

AITCについて(2)

活動の目的：
技術者の自律的な活動を支援し、個々の技術者が先端ITを身につけ、今後の企業活動および社会の発展に活かすため、次のような「場」を提供する。
- 先端ITに関する情報を、いち早く技術者に提供・試用してみる場- 技術者が切磋琢磨しあって先端ITに関する情報と知見を習得し、共有する場- 先端ITの可能性を検証し、活用を推進する場- 得られた先端ITの知見を発信していく場- 先端ITに関する交流の場

失敗しても何度でもトライできる場
先端ITにワクワクできる場
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

5会員主体の活動

オープンな活動

技術の調査・研究・実証、蓄積
セミナー/勉 強 会 TensorFlow

普及、啓発、活用推進
スキルと知見の伝播

ブロックチェーン

機械学習
深層学習

ノウハウ

部会

オープンラボノウハウ

部会横断
外部との連携機械学習

IoT

協働プロジェクト

シニア

IT女子プログラム

プログラム

部会・プロジェクトの成果を発信成果発表会

若手技術との交流
知見・経験の伝播

技術者育成でスキルを企業へフィードバック
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

女性の活躍を支援

実験、挑戦の場、より自由な活動を！

6

今期の活動対象分野

リアル

コト
モノ
ナチュラルユーザーインターフェース
IoT ロボット

ユーザーエクスペリエンスデザイン人

AR・MR・VRバーチ
ャル

セキュリティ

コンテキスト
コンテキストコンピューティング
ビッグデータAI

データ
メタ
クラウド コンピューティング
ブロックチェーン

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

7気象庁から配信されている気象庁XMLについて

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

8この資料で扱うデータについて• 気象データ高度利用ポータルサイトより– http://www.data.jma.go.jp/developer/index.html– 気象データの取得• 気象庁防災情報XMLフォーマット形式電文の提供• 気象観測データファイルのダウンロード
以降『気象庁XML』• 気象予測データファイルのダウンロード• GPVデータのサンプルのダウンロード

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

9気象庁からの配信の流れ• PUSH型の配信– 気象庁からFeedが配信される– Feed中のURLを参照し、気象庁XMLを取得• 注意：気象庁XMLは、一定期間後に自動的に消滅

http://xml.kishou.go.jp/open_trial/guidance.html より• PULL型も提供されるようになった
http://www.data.jma.go.jp/developer/xmlpull.html– グローバルIPが不要。会社の中からでも取得できる– クライアント側の実装なので、難易度が低い
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

10Feedの例

1気象庁XMLに関する情報

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

11気象庁XMLの例

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

12配信件数グラフ化(2013/01/01～2018/03/12)

5000

2013年
4500

2014年
2015年

4000

2016年
2017年

3500

2018年

3000

2500

2000

1500

1000

500

0
1/1

2/1

3/1

4/1

5/1

6/1

7/1

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

8/1

9/1

10/1

11/1

12/113

配信件数グラフ化(2013/01/01～2018/03/12)

5000

2013年
4500

9/17

4000

7/4

10/228/7

2014年
2015年
2016年
2017年

3500

2018年

3000

2500

2000

1500

1000

500

←2013/3/23

0
1/1

2/1

3/1

4/1

5/1

6/1

7/1

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

8/1

9/1

10/1

11/1

12/1

14

配信タイトル一覧"府県天気概況""府県天気予報""気象警報・注意報""府県週間天気予報""気象特別警報・警報・注意報""地方海上警報""警報級の可能性（明日まで）""地方海上予報""地方週間天気予報""気象警報・注意報（Ｈ２７）""府県気象情報""警報級の可能性（明後日以降）""降灰予報（定時）""紫外線観測データ""震源・震度に関する情報""地方海上警報（Ｈ２８）""地方気象情報""特殊気象報""台風解析・予報情報（３日予報）""生物季節観測""全般海上警報（定時）""噴火に関する火山観測報""竜巻注意情報""地方海上予報（Ｈ２８）""府県高温注意情報""土砂災害警戒情報"| 416,757 || 372,796 || 240,799 || 212,263 || 210,807 || 62,935 || 57,799 || 45,570 || 42,154 || 41,349 || 40,806 || 33,453 || 32,948 || 31,534 || 12,350 || 10,724 || 10,361 || 9,144 || 8,209 || 7,673 || 7,628 || 7,369 || 7,188 || 7,186 || 6,120 || 5,366 |(2013/01/01～2018/03/12)"竜巻注意情報（目撃情報付き）""指定河川洪水予報""火山の状況に関する解説情報""全般台風情報（定型）""地方１か月予報""異常天候早期警戒情報""全般週間天気予報""震度速報""全般海上警報（臨時）""台風解析・予報情報（５日予報）""府県海氷予報""震源に関する情報""地方高温注意情報""季節観測""全般気象情報""府県潮位情報""スモッグ気象情報""府県天候情報""地方３か月予報""全般台風情報""全般台風情報（詳細）""地上実況図""記録的短時間大雨情報""地方天候情報""全般１か月予報""地方潮位情報"Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

4,623 |
3,587 |
3,476 |
3,343 |
2,993 |
2,201 |
2,134 |
1,778 |
1,752 |
1,752 |
1,484 |
1,337 |
1,061 |
1,020 |
947 |
936 |
746 |
701 |
671 |
641 |
575 |
378 |
335 |
283 |
272 |
235 |

15

配信タイトル一覧"アジア太平洋地上実況図"|"降灰予報（詳細）"|"地震回数に関する情報"|"地方暖・寒候期予報"|"アジア太平洋海上悪天２４時間予想図" |"アジア太平洋海上悪天４８時間予想図" |"地上２４時間予想図"|"地上４８時間予想図"|"降灰予報（速報）"|"気象特別警報報知"|"噴火警報・予報"|"全般潮位情報"|"津波情報a"|"全般３か月予報"|"東海地震観測情報"|"地震の活動状況等に関する情報"|"津波警報・注意報・予報a"|"顕著な地震の震源要素更新のお知らせ" |"津波情報"|"全般天候情報"|"津波警報・注意報・予報"|"全般スモッグ気象情報"|"全般暖・寒候期予報"|"火山現象に関する海上警報・海上予報" |"噴火速報"|"沖合の津波観測に関する情報"
|

215 |
155 |
124 |
121 |
108 |
108 |
108 |
108 |
102 |
90 |
89 |
77 |
69 |
61 |
58 |
51 |
50 |
48 |
39 |
36 |
18 |
13 |
12 |
12 |
3 |
2 |

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

(2013/01/01～2018/03/12)

78種類
198万件

16

AITCが提供している
APIについてCopyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

17

何故、APIを作ったのか？
• 2013年：過去の気象庁XMLが参照できない– 実際に配信されている気象庁XMLを簡単に見れない• 大雪時に「今日は、どんな気象庁XMLが配信されたか気になる」→ 簡単に『今』を参照できる仕組みが無かった• 冬に「桜前線を可視化するサイトを作りたい」→ 『１年前』のデータを参照できる仕組みが無かった– 気象庁の方にお願いしてみると• 「サービスレベルを保証する必要があり、構築に時間がかかる」

そうだ、AITCが技術検証用として、配信された気象庁XMLを参照できるサイトを作ろう

２週間で作ってみた
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

18

注意事項
• APIサーバは、AITCの会費で運用しています– 誰でも無償で利用できます• 気象庁XMLの参照や、技術検証が目的• 手続きや認証などが不要– ただし、商用利用はご遠慮ください• サービスレベルは一切保証いたしません• 商用利用したい場合は、気象業務支援センターへ– オンラインによるデータ配信、CD-ROM/DVDによる販売• もしくは、同様の仕掛けを自前で構築してください– ご相談にはのれますが、代行はできません– AITCの活動終了をもって、APIサーバも停止します• AITC活動終了予定：2021年8月31日

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

19

参照方法
• http://api.aitc.jp
チュートリアル： https://github.com/uemuraj/aitc-api-tutorial-jma
ヘルプ： http://api.aitc.jp/jmardb-api/help

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

20

APIの種類• REST– 容易に検索ができる– アプリケーションへの組み込みが容易• SPARQL「配信件数グラフ化」や「配信タイトル一覧」の作成時に使用– 複雑なクエリ（集計など）を記述できる– 全データ（約200万件）を集計するので、遅い• WebSocket– プッシュ配信される– 配信条件を指定できるブラウザでページを開いたままにしておくと、ほぼリアルタイムに配信される

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

21

まずは興味のあるタイトルで検索• REST画面で「タイトル検索(1)」– http://api.aitc.jp/jmardb/– “火山”で検索

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

部分一致ができるのはフォームからの検索のみ

22

APIで天気予報を取得－１• “府県天気予報”で検索
http://api.aitc.jp/jmardb/default.jsp?title=府県天気予報
APIの呼び出しhttp://api.aitc.jp/jmardb-api/search?title=府県天気予報
最新のものから

http://api.aitc.jp/jmardb-api/search?order=new&title=府県天気予報この呼び出し方は、・検索に時間がかかる・目的の場所の天気予報を探すのが大変

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

23

APIで天気予報を取得－２
http://api.aitc.jp/jmardb-api/search?order=new&title=府県天気予報
検索期間を指定して高速化

http://api.aitc.jp/jmardb-api/search?order=new&datetime=2018-03-01&d
atetime=2018-04-01&title=府県天気予報「東京地方」で絞り込む

http://api.aitc.jp/jmardb-api/search?order=new&datetime=2018-03-01&d
atetime=2018-04-01&title=府県天気予報&areaname_mete=東京地方{"data":[{"datetime":"2018-03-12T10:35:51.000+0900","fragment":null,"headline":[],"link":"http://api.aitc.jp/jmardb-api/reports/eac5de46-7981-3f42-8723-41720c410b82","title":"府県天気予報"},{"datetime":"2018-03-12T07:51:08.000+0900","fragment":null,"headline":[],"link":"http://api.aitc.jp/jmardb-api/
reports/b82de2c7-806a-3c99-9aff-d1db172fdd8f","title":"府県天気予報"},取得したJSONの先頭の{"datetime":"2018-03-12T04:31:48.000+0900","fragment":null,"headline":[],"link":"http://api.aitc.jp/jmardb-api/
reports/25b58605-3290-3be4-8d55-1417e155c70e","title":"府県天気予報"},
URLを参照すると、気象:庁XMLが取得できる],"paging":{"next":"http://api.aitc.jp/jmardb-api/search?&datetime=2018-03-01&datetime=2018-04-01&title=%E
5%BA%9C%E7%9C%8C%E5%A4%A9%E6%B0%97%E4%BA%88%E5%A0%B1&areaname_mete=%E6%9
D%B1%E4%BA%AC%E5%9C%B0%E6%96%B9&order=new&limit=20&offset=20","previous":null,"totalCount":37}}
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

24APIで天気予報を取得－３
http://api.aitc.jp/jmardb-api/reports/eac5de46-7981-3f42-8723-41720c410b82
気象庁XMLをJSONに自動変換

http://api.aitc.jp/jmardb-api/reports/eac5de46-7981-3f42-8723-41720c410b82.json
ブラウザでマッシュアップする場合は、JSONの方が便利

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

25

APIを呼び出す上での注意事項• areaname, areacodeの指定について– 使用できる名称／コード一覧• 気象庁の 気象庁防災情報XMLフォーマット 技術資料
→ 「個別コード表」→ 20161013_AreaInformationCity-AreaForecastLocalM.xls– 検索パラメータ名• HeadにArea要素がある：areaname, areacode• BodyにArea要素ある：areaname_mete, areacode_mete• 例：港区（1310300）の“気象警報・注意報”
http://api.aitc.jp/jmardb-api/search?order=new&datetime=2018-03-01&datetime=2018-04-01&title=気象警報・注意報&areaname=港区• 例：草津白根山（305）に関する情報を検索
http://api.aitc.jp/jmardb-api/search?order=new&datetime=2018-03-01&da
tetime=2018-04-01&areaname=草津白根山

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

26

その他のAPIーSPARQL• feedをRDFに変換して格納– RDFの構造を知らないと、新しいクエリの作成は難しい

http://www.kanzaki.com/works/2005/rap/graph-check でサンプルRDFを可視化
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

27

その他のAPIーWebSocket• “草津白根山”に関する情報をWebsocketで受信
http://api.aitc.jp/websocket/『//basis:Name[text()=‘草津白根山’] 』を指定して[xpath]を押す

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

28

まずは試してみてください• 「タイトル検索(1)」をやってみる– 本資料P15～P16のタイトル一覧を参照– アプリに組み込んでみたい気象庁XMLがあったら→ APIを利用 http://api.aitc.jp/jmardb-api/help• 大雪や地震のあった日時で検索する

Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

29