「鉄道」タグアーカイブ

metro-clojure – gitリポジトリで地下鉄路線図を作るClojure製ツール

gjhenrique/metro-clojure は、鉄道路線図をgitのコミット/ブランチログで再現するためのオープンソースツールです。

路線と路線に所属する駅名を並べた json ファイルが入力となります。サンプルとしてサンパウロとニューヨークのデータがついてきてるので、それを参考にします。


[
{
"name": "銀座線",
"stations": [
"渋谷",
"表参道",
"外苑前",
"青山一丁目",
"赤坂見附",
"溜池山王",
"虎ノ門",
"新橋",
"銀座",
"京橋",

データをツールに食わせると、git コマンド群を発行するシェルスクリプトを作ってくれます。


$ boot generate-git-commands -c tokyo -f tokyo.sh

大江戸線のような循環があると、git グラフが作れないためツールはエラーで止まります。そりゃそうですね。

都庁前の循環を外して再度挑戦するも、東京のいたるところの乗換駅でエラーが… あちらとこちらで乗り換えができれば、循環だらけにもなりますね。


# 渋谷 銀座線 半蔵門線 副都心線
git checkout --orphan "銀座線"
git commit --allow-empty -m "渋谷"
git branch -f "副都心線" HEAD
git branch -f "半蔵門線" HEAD
# 代々木上原 千代田線
git checkout --orphan "千代田線"
git commit --allow-empty -m "代々木上原"
# 代々木公園 千代田線
git commit --allow-empty -m "代々木公園"
# 明治神宮前 千代田線 副都心線
git merge --strategy=ours --allow-unrelated-histories --no-ff --commit -m "明治神宮前" 副都心線
git branch -f "副都心線" HEAD
# 北参道 副都心線
git checkout "副都心線"
git commit --allow-empty -m "北参道"
# 方南町 丸ノ内線分岐線
git checkout --orphan "丸ノ内線分岐線"
git commit --allow-empty -m "方南町"
# 中野富士見町 丸ノ内線分岐線
git commit --allow-empty -m "中野富士見町"
# 中野新橋 丸ノ内線分岐線

「赤坂見附-永田町」のような別名の乗換駅の同一化を諦め、さらにエラーを起こす乗換駅を同一にしないよう入力データを修正していって、やっとなんとかエラーを出さなくした結果のスクリプトを、新しい git レポジトリに突っ込むことで、部分的には正しいところもあるぐらいの、東京の地下鉄gitグラフ(東京メトロ+都営地下鉄)を作ってみました。

git log で見るとこんな感じ

東京の路線図は循環しすぎなので、使用例としてはあまり良くないかもしれませんね。

もともとパリの路線図をGitHub 上で再現した2015年の作品があり、metro-clojure はこのような作品を簡単に作れることを目指して制作されたようです。

このツールを使えば、地下鉄の路線図以外の何か身近な有向グラフを git グラフで表現することができますね。

via From metro connections to a git graph

ヨーロッパの主要都市から「何時間でどこまで行けるか」を示した Isochrone Maps of Europe

ある地点から同じ所要時間で到達できる地点を線で結んだ地図のことを等時線図(アイソクローン地図)と呼びます。

ウィーン大学博士課程のピーター・カルペジェブ( Peter Kerpedjiev )さん作ったのは、ヨーロッパの主要都市から、鉄道に乗って何時間でどこまで行けるかを示す等時線図。

train-isochrone-map-from-paris-by-emptypipes

2時間ごとに色分けされていて、22時間以内では辿り着けないところが白です。パリから電車に乗ると、22時間でスコットランド(本土)の北端、ポルトガル中央部、ポーランド東端、イタリア(本土)南端からシチリア島、ぐらいまで行けることがわかります。

isochrone_madrid

スペインの首都マドリードからだとこう。イベリア半島を出るだけで6時間掛かるため、一日では東欧やローマにも行けません。

isochrone-berlin

こちらはドイツのベルリンから。

作者ブログでは、主要25都市からの等時線図を見ることができます。なお、鉄道を降りてからは5分間で1キロメートル歩けるとして徒歩移動も含まれています。1キロメートル/5分は時速12キロメートルになるので、元気に歩く、どころの速度ではなくどちらかというとランニングではないかと思います。

鉄道の整備や接続が不便でも高速バスが速いというところもあるでしょうし、LCCで飛行機に乗れば鉄道より早く安く飛ぶことができる都市も多いでしょう。「鉄道だけ」という縛りはあまり実用的ではないかもしれませんが、ヨーロッパの鉄道の整備状況やその速度などを感覚的に掴める点では面白い地図かと思います。

これらの所要時間のデータは、スイスの公共交通機関APIを使って集めたものを基にしているそうです。時刻表データがオープンに公開されていてAPIでアクセスできるのはいいですね。

日本では、今年の4月にヤフージャパンが発表した、東京駅からの到達所要時間ビジュアライゼーションマップがあり、話題になっていました。「ある一箇所から」の等時線図を作るのと「任意の場所から」の等時線図を作るのはまったく手間が違う話ですが、いずれはそういう地図を日常的に使えるようになると嬉しいですね。

via The Guardian

線路で感電した仲間を蘇生させた野生の猿 – インド

軌道上で感電してしまい、動かなくなった猿を、仲間がなんとかして生き返らせようとする様子を収めた動画です。

monkey-saving-electrocuted-friend

とはいっても蘇生術なんて知らないわけですから、頭に噛み付いたり、体ごと地面に叩きつけたりと荒っぽい起こし方です。

これだけ周りに見物人が集まってくると逃げても良さそうなものですが、友達を見捨てられなかったのでしょうね。

https://www.youtube.com/watch?v=NVdusnQEgJ0

インドのカーンプル中央駅での出来事ということ。野次馬の様子もところどころで写されています。大都市の中央駅に野生の猿がいるところは日本と違いますが、事件が起こるとみんながスマートフォン等で撮影をしようとするあたりは同じですね。

via Monkey Resuscitates Friend After Being Electrocuted | Geekologie