東京アメッシュで好みの地域を拡大した状態で開くハック

東京アメッシュっていう、東京都下水道局がやってる便利なサイトがある。これは、レーダー雨量計のデータをコンピュータでとりまとめて、リアルタイムの降雨状況を知ることができる、というシステム。

微妙に曇っていて、雨降りそうだなー、って時に開いてみると、いまいるところの数キロ先で凄い豪雨になっていたりして、なかなか楽しい。10分ごとに更新しているので、雨がやみそうなタイミングも結構わかる。

んで、いつだったか忘れたけど、最近、そのウェブサイトが新しくなった。

レーダーの観測範囲が拡大されて山梨とか静岡の一部のほうまで見えるようになった。

前はこんな感じ。

それがこんな感じに。

んで、今、画像を比較して初めて気付いたんだけど、東京都のサイズは変化していない。(驚いた)

なんとなく地図の面積が広がって東京都が小さく表示されるようになった、ような気がしていた。(錯覚?)

ま、なんでもいいんだけど、とにかく、なんとかして23区を拡大した状態を記憶させて、ブックマークから開くと23区が拡大された状態で開くようにしたいなーと。

で色々研究したら、少しわかってきたのでそのまとめ。


index.htmlから読み込まれる " http://tokyo-ame.jwa.or.jp/scripts/initialize.js "っていうJavaScriptのファイル、この末尾を見てみると面白いことになっている。クッキーから "area" のデータを取り出して、 そのすぐあとで、areaの値を 000 に設定している。 000の隣のnullはクッキーが消えるまでの日数で、nullを指定すると、セッションクッキー(ブラウザを閉じると消えるクッキー)になるみたい。

何か理由があってこうなっているんだと思うけど、とりあえず調べた結果、23区を拡大するには areaクッキーに、 004 と設定させてそれを読ませればよいことがわかった。(areaのコード番号は、ページ左上のほうのプルダウンを開いてステータスバーを見るとわかる)

ということで、まず、http://tokyo-ame.jwa.or.jp/index.html を、どこか(手元のパソコンや、サーバーなど)に保存して、頭に

<base href="http://tokyo-ame.jwa.or.jp/">

と入れてやる。

んで、initialize.js も保存して、index.htmlで、それを読み出すように書き換える。

<script type="text/javascript" charset="UTF-8" src="http://localhost/amesh/initialize.js"></script>

(どっかのサーバーにinitialize.jsを保存した場合)

とか

<script type="text/javascript" charset="UTF-8" src="file:///C:/Documents%20and%20Settings/user/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/amesh/initialize.js"></script>

(Firefoxの場合)

とか

<script type="text/javascript" charset="UTF-8" src="C:\Documents and Settings\user\デスクトップ\amesh\initialize.js"></script>

(IEの場合)

ただ、IEの場合は、アクティブコンテンツがブロックされました、とかでてくる。Windows XPのSP2以降では、ローカル コンピュータ ゾーンのロックダウンとかいって、パソコンに保存したファイルでの「アクティブコンテンツ」の実行が厳しく制限されている。

その制限をなくすには、ツール→インターネットオプション→詳細設定→セキュリティ→「マイコンピュータのファイルでのアクティブコンテンツの実行を許可する」にチェック入れればいいんだけど、まあ、やめたほうがいいっていうんだから、こういう設定はやめたほうがいいんだと思う。

で、initialize.jsを変更して希望のエリアを設定するようにする

	if (Cookie.get("area")) {
		amesh.area = Cookie.get("area");
	}
	// Cookie.set("area", "000", null, "/");
	// これをこんなふうに↓
	Cookie.set("area", "004", 100, "/");

これでOK。

あとは保存したindex.htmlを開くと、そこが拡大されて表示される。

これだと、保存した各ファイルが更新されると変なことになりそうなので、PHPとかでいちいち元のファイルを読み出して書き換えてやるとか、diffをとって、シェルスクリプトCGI作ってwgetしたのにpatch当ててやるとかしたほうがいいかもしれない。

しかしあれだ。拡大した地図をドラッグしてスクロールする機能なんかいらないから、23区を拡大した状態のpermalinkを用意してくれないもんかな。クッキーとかもいらないから。