(続)subscriber の構築をして気象庁の防災情報を取得
気象庁からの気象情報受信で失敗する場合
subscriberを構築し、気象庁からの接続テストで
「Web サイトへのアクセスが集中しているため Web ページを表示できません(ステータスコード HTTP 408/HTTP 409)」
というエラーが発生してしまい接続確認が行えませんでした。

気象庁から、他の申請者も同様のエラーが発生し接続確認ができないという事例は発生しており
その時の解決方法としては、以下のことが考えられるとアドバイスを受けました。
- レスポンスの最後に改行があった
- verify_tokenを読み飛ばす設定(もしくは設定しない)にする
そこで、今回、verify_tokenの設定をしていましたが設定を空白にして、再申請をしたところ無事接続ができました。
早速電文を受信
まずは、atomファイルからの受信となります。
以下が実際に受信されたatomファイルの中身です。
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja"> <title>JMAXML publishing feed</title> <subtitle>this feed is published by JMA</subtitle> <updated>2018-05-11T13:04:01+09:00</updated> <id>urn:uuid:d38e0e80-12ba-3236-b10f-256b78a08995</id> <link href="http://www.jma.go.jp/" rel="related"/> <link href="http://xml.kishou.go.jp/feed/other.xml" rel="self"/> <link href="http://alert-hub.appspot.com/" rel="hub"/> <rights>Published by Japan Meteorological Agency</rights> <entry> <title>生物季節観測</title> <id>urn:uuid:ddb70b3c-8418-350e-b6ef-f213df75ea15</id> <updated>2018-05-11T04:03:42Z</updated> <author><name>和歌山地方気象台</name></author> <link href="http://xml.kishou.go.jp/data/ddb70b3c-8418-350e-b6ef-f213df75ea15.xml" type="application/xml"/> <content type="text">【生物季節観測】</content> </entry> </feed>
atomファイルと言っていますが、xmlファイルのことです。
このファイルが受信できましたら、このファイルに記載されている link 情報から、実際に使用する気象情報のxmlファイルを取得します。
上記linkから取得した情報が以下のものになります。
<?xml version="1.0" encoding="UTF-8"?>
<Report xmlns="http://xml.kishou.go.jp/jmaxml1/" xmlns:jmx="http://xml.kishou.go.jp/jmaxml1/">
<Control>
<Title>生物季節観測</Title>
<DateTime>2018-05-11T04:03:42Z</DateTime>
<Status>通常</Status>
<EditorialOffice>和歌山地方気象台</EditorialOffice>
<PublishingOffice>和歌山地方気象台</PublishingOffice>
</Control>
<Head xmlns="http://xml.kishou.go.jp/jmaxml1/informationBasis1/">
<Title>生物季節観測</Title>
<ReportDateTime>2018-05-11T13:02:00+09:00</ReportDateTime>
<TargetDateTime>2018-05-11T00:00:00+09:00</TargetDateTime>
<EventID>20180511130200_23</EventID>
<InfoType>発表</InfoType>
<Serial />
<InfoKind>生物季節観測報告気象報</InfoKind>
<InfoKindVersion>1.0_0</InfoKindVersion>
<Headline>
<Text />
</Headline>
</Head>
<Body xmlns="http://xml.kishou.go.jp/jmaxml1/body/meteorology1/">
<MeteorologicalInfos type="生物季節観測">
<MeteorologicalInfo>
<DateTime significant="yyyy-mm-dd">2018-05-11T00:00:00+09:00</DateTime>
<Item>
<Kind>
<Name>しおからとんぼの初見日</Name>
<Code>23</Code>
<ClassName>シオカラトンボ</ClassName>
<Condition>通常</Condition>
</Kind>
<Station>
<Name>和歌山地方気象台</Name>
<Code type="国際地点番号">47777</Code>
<Location>和歌山市男野芝丁</Location>
<Status>付近</Status>
</Station>
</Item>
</MeteorologicalInfo>
</MeteorologicalInfos>
<AdditionalInfo>
<ObservationAddition>
<DeviationFromNormal>-47</DeviationFromNormal>
<DeviationFromLastYear>-7</DeviationFromLastYear>
<Text>和歌山城公園(ワカヤマジョウコウエン)</Text>
</ObservationAddition>
</AdditionalInfo>
</Body>
</Report>
このXMLの情報を利用するれば、利用したい地域の警報、注意報などの情報を取得できます。
これを利用してなにかができそうな気がしてきました。
ちなみに、5/10 では 約1400個のXMLファイルが受信されました。
今回の申請ではすべての情報を取得するという申請にしたので、こんなに膨大な情報量となってしまいました。
サーバ側の容量を圧迫させないために、定期的に削除させる仕組みづくりが必要ですね。
次は、XMLファイルを読み込んでデータベース化にチャレンジしたいと思います。
それをするには、気象庁が提供しているファイルフォーマットを理解しなくては・・・
[前の記事]subscriber の構築をして気象庁の防災情報を取得
[次の記事]subscriber 気象庁から防災情報XMLを受信








