blog.kur.jp

バイオリンと山、自転車をこよなく愛するkurのチラシの裏。たまには技術的なことを書いたりするかも知れません。

TokyoRainFallを作ってみた

TokyoRainFallというサービスを作ってみました。

仕組みとしては簡単、東京都下水道局が提供しているサービスである東京アメッシュから情報を取得し、登録したエリアに雨が降っていれば、Twitter経由でお知らせするというものです。

以下、簡単にシステムの概要について説明します。

降雨情報の取得

このシステムの一番大事な場所は、どうやって降雨情報を持ってくるかにあります。今回は、東京都下水道局が提供しているサービスである東京アメッシュから情報を取得しています。

東京アメッシュは約5分ごとに降雨情報をあらわす画像を生成してくれるのですが、この画像のリストは、http://tokyo-ame.jwa.or.jp/scripts/mesh_index.js にアクセスすると取得することが出来ます。TokyoRainFallでは、1分ごとに上記URLにアクセスし、新しい画像が追加されていたら、画像を取得しに行く仕組みになっています。

降雨情報をあらわす画像は、上記URLにアクセスして取得できる数字を次のhttp://tokyo-ame.jwa.or.jp/mesh/000/XXXXXXXX.gifのXXXXXXXXの部分に当てはめることで取得できます。 ただし、雨が降っていないときは、真っ白な透明gifが表示されるだけです。

以上で、降雨情報を取得することが出来ます。

特定地域の降雨情報の計算

次に、特定の地域に雨が降っているかどうかを計算します。この計算のために、TokyoRainFallでは地域をあらわすためのマスクを用意しています。

例えば、大田区の降雨情報を得るためのマスクは次の画像のようになっています。東京アメッシュから取得した降雨画像と、マスク画像の黒い部分を重ね合わせ、黒い部分にどれだけ雨が降っているか、降っていないかを計算しています。

 

178808937 

twitterへの投稿

特定地域の降雨量が変化した際に、あらかじめ登録されたTwitterアカウントから、Twitterに投稿します。

このサービスを利用することで、家の中、オフィスの中に居ながら、雨が降り出したこと、雨が降り止んだことを、twitterを介して知ることができます。例えば、雨が降り止んだら出かけようなどと思っているときに便利かもしれません。