気象庁が防災情報XMLフォーマット形式電文の公開を始めて1年以上になりますが、日本の天気予報を自分の Web ページに載せたいと思って、気象庁XMLを使い始めています。それで、今まで使ったことがある他国の気象庁が公開している天気 API と比較してみました。

自分が使ったことのあるのは、アメリカイギリスノルウェーの気象庁のAPIです。まず、大きな違いは、気象庁 XML が、それを取得するために PubSubHubbub の subscriber を構築しないといけないということです。アメリカとノルウェーは、誰でもがRESTで簡単に取れます。下のリンクをクリックすると現時点での天気予報のXMLが表示されます。イギリスは、ユーザー登録が必要ですが、オンラインでキーが発行されます。

アメリカ ニューヨーク セントラルパーク

http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?lat=40.78&lon=-73.97&product=glance

http://forecast.weather.gov/MapClick.php?lat=40.78&lon=-73.97&unit=1&lg=english&FcstType=dwml
こちらだと現在の気温等の観測データも入っています。

イギリス シティ オブ ロンドン

http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/xml/350929?res=3hourly&key=(key)

ノルウェー オスロ

http://api.met.no/weatherapi/locationforecast/1.8/?lat=59.9127;lon=10.7461

気象庁が、無料で天気予報のXMLを公開するのは画期的なことだと思います。ただ、subscriber を構築しないと受信できないのは、ハードルの上げすぎではないかと思っています。初心者にとってはサーバー側のプログラムを組むというのは厳しいです。

それに、subscriber は、警報のように何時発表されるか分からない情報だと確かに便利だと思うのですが、天気予報のように定期的に発表されているものでは必要ないと思います。逆に、サーバーがダウンしたりして通知を取りこぼすと次に新しい通知があるまで復旧できないのが大きな欠点です。できれば、試行から本番に移行するときには他国のように単純に REST で XML を取得できるようにして、subscriber の方は追加の通知機能ということにして欲しいと思います。

ところで、先端IT活用推進コンソーシアム(AITC)の「気象庁防災情報XML」を活用するためのAPIが公開されているのを知りました。先端IT活用推進コンソーシアムには、日本の代表的な SIer が会員になっているし、鶴保会長も日本の SIer の代表者だと思います。こういう組織が作る利用規約だと先進的な利用規約を作るものと思っていましたが、10年以上遅れた利用規約で、明らかに気象庁の利用規約の方が上です。

具体的に言うと、利用規約に「新しい技術やデータセットの評価をおこなうためのものであるため、商用利用を固くお断りします。」、「定期的なクローリング、プログラムからの大量アクセスはご遠慮ください。」という条項があることです。

オープンデータでは、基本的に利用目的については問いません。だから、気象庁も商用利用を認めているし、イギリスの気象庁は Q&A で以下のように商用利用を積極的に認めています。今回の場合でも、商用利用といってもテスト的な利用はあるえると思うし、共同で開発していこうという姿勢を持つことが必要だと思います。それで、普通に書くとしたら「新しい技術やデータセットの評価をおこなうためのものであるため、予告なしにAPI等を変更することがあります。その結果生じたいかなる損失・損害についても、責任を負いません。」ぐらいの書き方がベターでないかと思います。

Can I use the DataPoint web services on a commercial website?

Yes, we actively encourage the use of the DataPoint web services on commercial websites, subject to the conditions set out in the detailed terms and conditions

次に「大量アクセスはご遠慮ください。」というのは、プログラムをする側からすれば意味不明です。きちんと定義すべきです。

アメリカの場合は、基本的に無制限で詳細に書いてあるのは免責条項です。サービスの説明の方にデータの更新は1時間に1回以上はしないから、アクセスの方も同一地点については1時間に1回だけにしてねと書いてあるだけです。

イギリスの利用規約では、1日5000リクエスト、1分100リクエスト以上になるとフェアーユースの範囲を超えるとして、有料になります。

For the purposes of this DataPoint Fair Use Policy, the Fair Use Limits shall be defined as follows:

  • You may make no more than 5000 data requests per day; and
  • You may make no more than 100 data requests per minute.

ノルウェーの利用規約では、毎秒20リクエスト以上を大量アクセスと定義しています。

You should save the information on your own server if you have heavy traffic. Heavy traffic means more than 20 requests from the api per second.

このサービスに多大なコストがかかるのであれば、今のような利用規約になっても仕方がないと思うのですが、最近は運用コストが低下して費用はそれほどかからないと思います。個人で天気予報 XML を公開している人もいるぐらいです。それに、先端IT活用推進コンソーシアムの会員にはクラウドコンピューティングを提供している企業もあるのでスポンサーになってもらえばいいのではないかと思います。日本の SIer も、OSS とかの活動にもう少し積極的になって欲しいと思います。

自分も希望があれば天気予報や週間天気予報の XML を他の国のようにRESTですぐに取れるように公開してもいいと思っています。もし、希望があればコメントに書いてください。