自転車の走行を映像として残すには、アクション・カメラで撮影する。だが、撮影を忘れていることもある。あるいはライドの計画を立てている段階なら、映像があるわけがない。そのような場合には、擬似的にGoogleのストリート・ビューで辿れば良い。しかも走行のGPSデータがあれば自動的に映像化できる。この手の元祖は今は無きデザイン集団Teehan+LaxのHyperLapseだろう。なんとも完成度が高い。
今回は手軽なPeter Elmers氏のStreetWarpを利用してみる。まずStravaなどの走行ルートを選ぶか、GPXデータをアップロードする。今回はしまなみ海道の約半分、向島運動公園から瀬戸田港までだ。次いで1kmあたりのフレーム数(画像数)を指定する。ここではデフォルト値であり最大値である199のままにした。そしてFetch Metadataボタンをクリックすればデータが読み込まれて解析される。
ここでエラーが発生。メッセージから推察して、データ冒頭の<number>要素を削除してエラーを回避する。StreetViewが使用しているRustのGPXパーサは要素の出現順序に厳密だかららしい。他にはGPXデータを正規化するGPXBabelを使っても良いだろう。ともあれ、解析された総距離は29.51km。画像数は2,284に対して映像が76.13秒、つまり30fps。さらに平均誤差は4.94mだと分かる。
Error: Error: Failure: streetwarp failed with exit code 101stderr output:thread 'main' panicked at 'Could not read gpx: Error(InvalidChildElement("number", "track"), State { next_error: None, backtrace: InternalBacktrace { backtrace: None } })', src/main.rs:342:33note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
次にGoogleのAPIキーを入力する。これはストリート・ビューからの映像取得に費用がかかり、その支払いは利用者(我々)負担だからだ。具体的にはGoogle Cloudで開発者アカウントを作成し、クレジット・カードでの支払いを設定した上で、APIキーを作成する。これはかなり面倒なので、Claude in Chromeなどのエージェントに助けてもらおう。もちろん自己責任で。
APIキーをコピー&ペーストしてEnterキーを押せば、概算費用が表示される。この場合はUS$15.99(2,500円強)。もっとも1ヵ月に10,000画像までは無料らしい。そして現在地に近いリージョン、日本にいるならAsiaを選び、Fast(高速に処理する)ボタンかSmooth(滑らかな映像を得る)ボタンのいずれかをクリックする。これで処理が始まるので、完了するまでしばらく待つことになる。
今回はSmoothとして、Try to remove sudden jumps from result(急激な変化を除去)オプションをオンにして、3分間少々で処理が完了。View Result!ボタンをクリックすれば、作成された映像が地図や標高グラフとともに表示される。再生速度は0.25倍くらいば良いだろう。不思議なことに、移動手段を表すデータがないにも関わらず、自転車アイコンが表示されている。
このようにして作成された映像は荒くスムースでもない。これはストリート・ビュー側の限界もあるのだろう。しかも撮影は自動車または徒歩なので、因島大橋のように自転車走行としては矛盾することも多々あるのはご愛嬌。さらに撮影が直近とは限らないし、場所によって異なることもある。かくして歪んだ時空間を疾走する奇妙なリアリティを味わえる。
一方、ライドの追想だけでなく、将来のライドの下調べとしても活躍しそうだ。そこでサンフランシスコを走ってみよう。ロンバートを逆走し、ゴールデン・ゲート・ブリッシを渡ってティブロンに至る28.69kmのライドだ。実在する、しかし訪れたことのない街の疾走も不思議な高揚感がある。これならドロミーティでもレー・マナリでも走り放題!…と、おもろうてやがて悲しきバーチャリティ。
そして画質を含めて映像をより深く探求するには、ソースコードを改善し、発展させることが考えられる。StreetWarpや最初に紹介したTeehan+LaxのHyperLapseなどGitHubでは数多くのレポジトリが見つかる。視線をぐるぐる回したり、古地図散走のように昔の景色を走ったり、要はアイディア次第。プログラミングができなくても無問題。Claude Codeが請け負ってくれる(はず)。





