気象庁ＸＭＬチュートリアル〜天気予報XMLを読み解こう〜

第2回気象庁ＸＭＬ利活用セミナー
平成26年3月20日
気象庁予報部予報課 仮屋﨑 純

目的 府県天気予報XMLの大まかな構造を理解しよう
 各資料を使った読み進め方を知ろう

2

府県天気予報XMLを読むために必要な資料
解説資料
 XML電文の構成や内容を解説した資料。情報の種類毎に用意されている。
これが基本！  「府県天気予報，地域時系列予報_解説資料.pdf」「府県天気予報・府県週間天気予報_解説資料付録.xls」


コード管理表・個別コード表
 電文中の Code が分からないときに使用 コード管理表：「jmaxml_20140307_code.xls」
 コード管理表を使い、どの個別コード表に必要な情報があるかを探す

気象庁防災情報XMLフォーマット（本文） 日付時刻表記、地理空間表記等、気象庁XMLの各種仕様が記載されている。
 「jmaxml_20100806_format_v1_1.pdf」

辞書
 気象庁XMLの基礎資料

ただし、各種情報間で共通化された資料なので、個別情報の運用を把握するにはあまり向かない。
3

天気予報XMLの大まかな構造<Report xmlns=http://xml.kishou.go.jp/jmaxml1/ xmlns:jmx="http://xml.kishou.go.jp/jmaxml
1/" xmlns:jmx_add="http://xml.kishou.go.jp/jmaxml1/addition1/"><Control>...</Control><Head xmlns="http://xml.kishou.go.jp/jmaxml1/informationBasis1/">...</Head><Body xmlns=http://xml.kishou.go.jp/jmaxml1/body/meteorology1/
xmlns:jmx_eb="http://xml.kishou.go.jp/jmaxml1/elementBasis1/">① <MeteorologicalInfos type="区域予報">...</MeteorologicalInfos>② <MeteorologicalInfos type="地点予報">...</MeteorologicalInfos>③ <MeteorologicalInfos type="区域予報">...</MeteorologicalInfos>④ <MeteorologicalInfos type="地点予報">...</MeteorologicalInfos></Body></Report>
管理部‥制御情報
 ヘッダ部‥情報名称や発表時刻等
 内容部‥①：区域予報のカテゴリー予報（天気・風・波、降水確率）、②：地点予報の量的予報（最高・最低気温）③：区域予報の時系列予報（天気・風）④：地点予報の時系列予報（気温）4HP掲載の情報と比較してみると①の降水確率①の天気・風・波

②

③

④

5

管理部の構成間違いない？
<Control><Title>府県天気予報</Title><DateTime>2014-03-16T19:35:37Z</DateTime><Status>通常</Status><EditorialOffice>気象庁本庁</EditorialOffice><PublishingOffice>気象庁予報部</PublishingOffice></Control>
解説資料には

6

ヘッダ部の構成
これは何？
<Head xmlns="http://xml.kishou.go.jp/jmaxml1/informationBasis1/"><Title>東京都府県天気予報</Title><ReportDateTime>2014-03-17T05:00:00+09:00</ReportDateTime><TargetDateTime>2014-03-17T05:00:00+09:00</TargetDateTime><TargetDuration>P1DT19H</TargetDuration>
まだよくわからん。。。
解説資料には<EventID/><InfoType>発表</InfoType><Serial/><InfoKind>府県天気予報</InfoKind>
フォーマット資料<InfoKindVersion>1.0_0</InfoKindVersion>には<Headline><Text/></Headline></Head>7

内容部の構成をつかむために①：区域予報のカテゴリー予報（天気、風、波）<MeteorologicalInfos type="区域予報"><TimeSeriesInfo><TimeDefines>...</TimeDefines> 予報期間の定義（今日・明日）<Item><Kind><Property><Type>天気</Type>...</Property></Kind><Kind><Property><Type>風</Type>...</Property></Kind><Kind><Property><Type>波</Type>...</Property></Kind><Area>
予報要素として、<Name>東京地方</Name>
天気・風・波<Code>130010</Code></Area>
東京地方が対象
Code については後ほど</Item><Item>...</Item>
対象地域の数だけ<Item>...</Item>
itemを繰り返す<Item>...</Item></TimeSeriesInfo>：<item>〜</item>で地域毎の予報を記述

8

内容部の構成をつかむために２①：区域予報のカテゴリー予報（降水確率）<MeteorologicalInfos type="区域予報"><TimeSeriesInfo>
ここで、予報要素（天気、風、波）が：記述されている</TimeSeriesInfo><TimeSeriesInfo><TimeDefines>...</TimeDefines> 予報期間の定義（6時間毎）<Item><Kind><Property><Type>降水確率</Type>...</Property></Kind><Area>
予報要素は、降水確率<Name>東京地方</Name><Code>130010</Code>
東京地方が対象</Area></Item><Item>...</Item><Item>...</Item><Item>...</Item></TimeSeriesInfo><item>〜</item>
で地域毎の予報を記述

対象地域の数だけitemを繰り返す
9

内容部の大まかな構成
 基本的な構成は①〜④いずれでも変わらない TimeDefinesで予報期間・時刻の定義
 Item Kindで予報を記述
 Area（もしくはStation）で、対象地域（または対象地点）を記述
 予報対象地域・地点の数だけItemが繰り返す10内容部を掘り下げてみる④：地点予報の時系列予報（気温）<TimeDefines>
ポインタ的なID<TimeDefine timeId="1"><DateTime>2014-03-17T06:00:00+09:00</DateTime>対象となる予報時刻</TimeDefine><TimeDefine timeId="2"><DateTime>2014-03-17T09:00:00+09:00</DateTime></TimeDefine>：</TimeDefines>※フォーマット資料に時系列<Item>
表現ルールの説明あり<Kind><Property><Type>３時間毎気温</Type><TemperaturePart><jmx_eb:Temperature description="７度" refID="1" type="気温" unit="度">7</jmx_eb:Temperature><jmx_eb:Temperature description="９度" refID="2" type="気温" unit="度">9</jmx_eb:Temperature>：</TemperaturePart></Property></Kind><Station><Name>東京</Name><Code>44132</Code>
この数字は何？
</Station></Item>11

<Code>44132</Code>を調べてみる


まず解説資料で該当部分を見ると

「府県天気予報・府県週間天気予報_解説資料付録」を見ると東京のコードが記載されている
12

コード管理表＆個別コード表の見方１
 コードはコード管理表＆個別コード表からも調べることが出来る
こっちの方がよく使う

ためしに①で出現したコードを 130010 を調べてみる。
該当箇所の解説資料を見ると、今回は付録を見る様になっていないので

コード管理表をみると、 府県天気予報 で。 区域予報 の場合

このファイルから探してみる13コード管理表＆個別コード表の見方２


個別コード表「20140107_AreaInformationCity-AreaForecastLocalM.xls」

コード番号、地域名、府県天気予報で取りうるか

14

その他の資料について

サンプルデータ

XML形式とかな漢字電文がペアで掲載されている
 サンプルデータのシナリオはサンプルデータ整理表を参照



スタイルシート
全内容を出力するスタイルシート（XSLT）を用意
 XML形式電文の内容を確認可能
 処理のサンプルとして参考になるが、直接組み込みは不可


15

最後に


天気予報ＸＭＬのおおまかな構造を知ることで、ほしい情報が見つかりやすくなります

わからないことはまず解説資料から



ルールがわから時は、気象庁防災情報XMLフォーマット



コードを調べる時は、コード管理表＆個別コード表



相互に参照しながら読み進めていきましょう

16