blogTitle.png
p < .05 公式ブログ
目的地提案機能でロンドンの旅をシミュレーション
iOSアプリを作る | comments(0)

ロンドンに旅をする予定があったとする。より具体的な目的地として、ブロンプトンバイシクルのオフィシャルストア、Brompton Junction Londonを考えることにする。そこを起点としてノット巡りをするとしたら、どのようなルートを選べば良いであろうか?

ゴルディアスの結び目(アプリ)の地図上にBrompton Junction Londonを表示させ、店の前の通りを長押ししてプローブピンを刺す。上の図では更に、プローブピンをドッペルゲンガーピンに変換しているが(バージョン4.1.0からの機能)、それは必須ではない。このプローブピン(またはドッペルゲンガーピン)を出発点として、目的地提案機能を発動させる。
 

目的地提案機能は基本的に、出発点から最も近い(移動経路の短い)ノットを探し出し、そこへのルートを表示する。既に行ったことのあるノットは提案対象から除外されるが、私はロンドンのノットをほどいたことがないので、単純にBrompton Junction Londonから最も近いノットが表示された。リンカーンズ・イン・フィールズという広場に存在するノット上にプローブピン(赤)が刺さり、出発地点のBrompton Junctionにはドッペルゲンガーピン(青)が刺さっている。


リンカーンズ・イン・フィールズのノットに刺さったプローブピンから目的地提案機能を再度発動させると、今度はそこから最も近いノットとして、ラスボーンプレイスという路地に導かれた。Park Camerasというカメラ店の正面にノットが存在している。そのすぐ隣にはEvans Cyclesの支店があるが、Google Street Viewでは店内の様子はよくわからなかった。ノットの真南にWasabiという店名表記があって、こちらもGoogle Street Viewで調べてみると、寿司と弁当の店であった。

ここで目的地提案機能を発動させるとどうなるかというと、二つの可能性が考えられる。第一に、またどこか別の未知なるノットが目的地として提示される可能性がある。であるならば、目的地提案機能を使った旅のシミュレーションを更に続けていくことができるであろう。

しかし第二の可能性として、先ほどのリンカーンズ・イン・フィールズのノットが、最も近いノットとして示されるということも考えられるのである。その場合、旅のシミュレーションは一旦終了させる必要がある。なぜならば、目的地提案機能はリンカーンズ・イン・フィールズとラスボーンプレイスの間を行ったり来たりすることになるからである。

シミュレーションを継続するには、目的地提案機能を使わない手動操作による仕切り直しが必要となる。次なる目的地を自力で探し出してピンを刺し、そこを出発点として目的地提案機能を改めて発動させるのである。その結果として提案される目的地がラスボーンプレイスでないことを祈りたい。

上記のような煩雑な事態を回避するため、現在開発中のバージョンでは、経路提案機能がこれまでに提案したノットを記録しておき、それらを提案対象から除外するという仕様に変更している。これならば、経路提案機能を使うたびに、新たなノットが次なる目的地として提案されることになるのである。


目的地提案機能を引き続き発動させ、10回繰り返した結果ところ、西へ西へとテムズ川上流方面へと導かれることになった。出発地点のBrompton Junction Londonからまっすぐ西に移動してきたことになる。黒いラインが提案された経路全体を表している。もし、この後で再びBrompton Junction Londonに戻らねばならないのであれば、北か南に移動して東に向かって戻っていけば、更に10箇所のノットをほどくことができる。

と、このように、旅のシミュレーションが非常にやりやすくなるような仕様変更を予定しているのであるが、いかがであろうか?

※この改良を採用したバージョン4.1.1が既にリリースされています。




コメント