24時間で人はどこまで移動できるのか、GoogleMapのAPIと二分探索で等時間線を描いて遊んでみた
こんにちは、imaimaiです
突然ですが、この世の中で人類平等に与えられているものは何でしょうか?時間ですね。その人が光速に近い速度で移動していたり、ものすごく重たい物体の近くにいたりしない限り、時間はあまねく人々にほとんど平等に存在します。
最近、プライベートで群馬の北の方に行きました。「群馬?東京から近いだろ...名古屋より近いし2時間くらいか...」とタカをくくっていったら、なんと4時間もかかることに集合時間の3時間前に気付き、さらに乗り換えで1時間ロスするというプレイングミスを犯し、ウルトラ大迷惑をかましました。関係各所の方々、申し訳ございません。
そこで思ったわけです、「近いってなんだろう」と。現代の移動の本質は距離ではなく時間ベースではないか??と。距離ベースで物事を考えるのはあまりにもリスキー。そう思ったので、今回は等時間線をマップに描画できるようにして遊んでみました。
等時間線の取得
距離の取得にはGoogle MapのAPIを使います。出発地と目的地の緯度経度情報があれば、徒歩/自転車/自動車/公共交通機関などの時間をとることができます。(APIの使い方は割愛します)
ただし、このAPIは有料です(大体1回0.5円くらい。20000円分の無料枠あり)。
例えばある地点からの所要時間30分の等時間線を距離を少しずつ伸ばしながら探索しようとすると、めちゃくちゃな回数のAPIを叩かねばなりません。破産まっしぐらです。そこで、伝家の宝刀†二分探索†を用いることにしました。
10°ごとに放射線状に距離を取り、二分探索で狙った所要時間の距離を修正していくというロジックです。(※原点からの距離が遠いと所要時間は単調増加するという仮定が入っているので、仮定が崩れるところではうまく動作しません)
これにて、現実的な回数とスピードで等時間線を引けるようになりました!
等時間線の表示
表示には下記のAPIを用います。上記手法で出てきた結果を多角形状につなぎ合わせて表示するだけです。
サンプルコードはgithubにあげておきます。APIを使うためにキーの取得が必要ですが興味がある方はやってみてください
さて、これで等時間線が引けるようになったので、色々と実験です
会社からの等時間線
例えばお昼休み、どこまでいけるかは限られています。移動は往復20分以内に済ませたい!みたいな事があると思うので、会社から10, 20, 30分圏内を探す。私の家もこの自転車の30分圏内に入っております。これでお昼休みのご飯探索も簡単にできますね!
自転車と電車どっちが早いの
最近運動も兼ねて自転車で通ってるんですが、徒歩→電車→徒歩と会社にいくのと、自転車でいくのでは結局トータルの時間が変わらない気がしたんですよね。なので、各交通手段で何が一番遠くまで行けるのかを調べてようとしました。しかしここで問題が発生します。
Oh...
なんと日本では公共交通機関の検索APIは機能しないとのこと。なんでや。
というわけで、ただ都会っぽいという安直な理由でなんとなくロンドンで30分の等時間線を引いてみました。線と色の対応は下記の通り
赤: 徒歩
青: 自転車
オレンジ: 公共交通機関
緑: 車
公共交通機関は結構いびつな形をしていますね。自転車や徒歩の方がやはり安定した領域をカバーできそうだな、というのが見て取れると思います。やはり都会の近場は自転車のほうが良いのかも知れません!
24時間でどこまで行けるの(徒歩)
最後に、せっかくなので、24時間歩き続けたり、ドライブし続けたりするとどのくらいの距離行けるのかも調べてみました。まずは会社から24時間徒歩で行ける範囲です。
24時間かけると、歩きでも結構東京都を飛び出して色々と行けるのですね。万が一会社から逃げ出して遠くへ行きたいときの参考になればと思います!
おや、徒歩のはずなのに島が...と思った方もいると思います。調べてみると、どうやらAPIをデフォルト設定で叩くとフェリーも考慮して時間計測してるようです(フェリー考慮できるんだったら電車も考慮してよ...)
24時間でどこまで行けるの(ドライブ)
最後に、一番機動力のあるドライブで、24時間だとどのくらいの範囲行けるかを調べてみることにします。会社からの範囲を図示するとこうなりましたこの通り、ほぼ日本全国をカバーしています。
(形がいびつなのは10°ごとに測っているからで、角度を細かくするとカバー領域はもう少し綺麗に出ると思われます。)実際は札幌まででも17時間程度なので、24時間ドライブに日本は狭すぎるようです。
では、もうちょっと広いところでやってみましょう。地図を見ると、チェコのプラハがヨーロッパの中央っぽいところにあったので、ただそれだけの理由でプラハを起点に等時間線を描いてみました。
24時間で、行こうと思えばヨーロッパのほとんどの国にいけちゃうんですね。プラハからマドリードなんて2200kmもありますからね。24時間ってすごい!
まとめ
今回はGoogle Mapsに等時間線を引いてみました。もしできればサービスとして公開したいなと思っていたのですが、このやり方だと私が即破産してしまうので見送らせていただきます...w
(二分探索でも1回の等時間線描画で150円くらいかかります)
また、日本の公共交通機関もAPIで取れるとさらに色々と調べられるので、Googleと日本のその辺りの各利権をお持ちの方々、よろしくおねがいします!
他にもこんなこと調べられそうみたいなのがあれば教えて下さい。ではでは!
サポートいただけると励みになります! よろしくおねがいします!!