ダムbotシリーズについて

 2014年5月現在、早明浦ダム石手川ダム矢木沢ダムについて貯水率をTwitterへ投稿するbotを運用しています。とくに早明浦ダムbotについては、2013年8~9月の渇水(最低貯水率24%)の影響で多数の方にフォローいただきました。

 このページでは、ダムbotを作る上で必要な事項について紹介します。

情報元 国土交通省・川の防災情報について

 ダムの貯水率および流量、雨量その他のデータは国土交通省が運営している川の防災情報(river.go.jp)から取得しています。

 このWebサイトからは全国のダムや河川のさまざまな情報を取得できますが、ダムbotでは「リアルタイムダム諸元一覧」(DspDamData.exe &KIND=3)のページからダムの貯水率データを取得しています。たとえば早明浦ダムの情報はこのページにあります(URLは変わることがあります)。

 このページはフレームになっていて、実際の情報はリンクされているCSVかフレーム内のHTMLから取得することになりますが、これらのURLはテレメータが更新されるごとに変更されるので、アドレスを決め打ちで取得することはできません。毎回URLを解析するのをおすすめします。

 なお、HTMLファイルはフレームの内外ともにEUC-JPでエンコードされていますが、CSVファイルだけはShiftJIS(cp932)なので注意する必要があります(ヘッダの文字コードはEUC-JPで来てしまう…)。

 フォーマットについてはCSVファイルのコメントに書いてありますので参照してください。欠測でも「0.0」が入っているのが罠です。HTMLとCSVではフォーマットが違います。

 なおこれらのデータの権利については、著作権法からみても自由に利用できると考えられますし、Q&Aページにも「統一河川情報から公表するデータは、国民の皆様が自由に使用出来ます。自由にお使い下さい。」とありますが、利用における注意事項には「ツール等による、自動的なデータ収集等はサーバに負荷がかかり、情報提供できなくなる恐れがありますので原則としてご遠慮ください。」とあります。

 ダムbotでは、データ取得を一時間に一回としていますので問題ないかとは思いますが、類似のツールを作られる方はご注意ください。

 想像ですが、システムの拡張子が.exeだったり.doだったりするので、WindowsサーバにC言語CGIやApache Strutsか何かの組み合わせてるのかもしれません。(SiteInfo.exeなどいくつかの静的なページが.exeなのが謎。テレメータからデータを取得しているページは.exe。.doのページは管理用に後から追加した?)

 ダムの情報は川の防災情報のほか、ダムのWebサイトや都道府県のWebサイトにも掲載されていることがあります。

ダムbotについて

 ダムbotは川の防災情報から一定時間(いまのところは一時間)ごとにデータを取得し、Twitterへ投稿します。

 ユーザはダムの貯水率が低下している期間に特に情報を必要とし、ダムの貯水率が比較的高い期間(大半の期間)の頻繁な投稿はノイズとなる恐れがあります。そのため、ダムbotではダムの貯水率が80%以上ある場合には、一日一回(19時)の投稿としています。

システム構成

2010年1月(運用開始)~2014年5月までXREAサーバにPHP5で書いたシステムでしたが、たまに投稿に失敗するなどの不具合があったので、2014年5月にGoogle App Engine/Pythonに更新しました。

雑感


MENU