「春の小川」にコイキングが泳ぐ?! - 渋谷のコイキングを調査してみた その2

「春の小川」にコイキングが泳ぐ?! - 渋谷のコイキングを調査してみた その1からの続きです。

9月13日に追記しました

f:id:dambiyori:20160908005709j:plain
渋谷の街の中を歩き回ってみたところ、確かにかつての川の跡の上でコイキングがビチビチ跳ね回っている様子を実際に目の当たりにすることができた。しかし「コイキングは水辺に出現する」ということが正しいのなら、かつては川だったとはいえ、なぜ現在の渋谷の街に現れたのだろうか。

まず最初に思いつくのは、わざと出現させたという身も蓋もない話である。確かに渋谷の街の地下には川が流れているという話はかなり有名なのでそれにちなんでこっそり仕込んでおいたなんていうことはありそうな話ではある。しかし、そういう理由でコイキングをだそうとすれば「春の小川」の歌碑が建立されている河骨川沿いにまず出現させようとするんじゃないだろうか。ところが実際に行ってみると鉄道の線路沿いというのを差し引いても歌碑周辺はコイキングが出現する様子ではなかった。

では一体何がコイキングを渋谷に呼び寄せているのだろう。ひょっとしてリアルな渋谷の街中に川を見ることはできないけど、例えば地図には何かしら記載されていてそれがコイキングを出現したりしているのではないだろうか。
というわけで、国土地理院の提供する地理院地図の電子国土基本図で渋谷周辺を見てみる。

地理院地図 渋谷駅周辺

ご覧の通り、渋谷川の開渠部分のみが地図上に記載されており、暗渠部分は全く記載されていない。
ではGoogleマップならどうだろうか。

Googleマップ 渋谷駅周辺

やはり同様に稲荷橋より下流の開渠部分のみが川として表されていて、暗渠部分は地図上に一切記載がない。っていうか、そもそもポケモンGOのアプリのプレイマップ上の表記がこうなっていた。ということで、地図表記上に原因を求めるのも脈がなさそうである。

では、ポケモンGOはなにをもって渋谷の川を判断しているのだろうか。考えてみた結果がこれである。
f:id:dambiyori:20160908004235j:plain
これはJAXAによって無料公開されている「ALOS全球数値地表モデル (DSM) "ALOS World 3D - 30m"」というデータを使用して作成した渋谷周辺の標高を表した地図である。白黒の濃淡が標高を表していて色が白くなるほど標高が高いことを示している。

そして、ポケモンGOはこの地形データから自前で川を算出することによりコイキングコダックの生息域を設定してるように思えるのである。

もっと詳しく見ていこう。
f:id:dambiyori:20160908004345j:plain
先ほどの地図にOpenStreetMapのデータや地名を記入したものである。渋谷の街に刻まれた谷状の地形にそって道路などが走っている様子が見て取れる。

さて、GISツールと呼ばれる地理情報を扱うためのソフトウェアを利用すると、こういった地形のでこぼこのデータをもとに流域や川筋を算出するなんていうことができたりする。

Q:簡単に流域界データをつくりたい | giscience.jp

の記事を参考にしてデータを作成してみた結果を合成してみるとこんな感じになる。白い線が算出された河川の流路、オレンジ色の線が雨が降った時にそこに流れ込む場所である流域の境界を表している。
f:id:dambiyori:20160908004441j:plain
注目したいのが駅周辺の様子。この「ALOS World 3D - 30m」というデータは「数値表層モデル(DSM)」と呼ばれるデータで、建物や樹木など地表の事物も含めた標高が記録されている。(参考測量に関するミニ知識|国土地理院)そのため、渋谷駅周辺の高いビルがそのまま標高として地図上に現れてしまい、算出された川が駅周辺を蛇行するように流れているようになってしまっている。現地でコイキング探しをしてみると駅周辺だけなぜかコイキングが現れなかったが、それがこのデータを利用してる証左にならないだろうか。

では、なぜポケモンGOはわざわざこんなことをしているのだろうか。それはポケモンGOのサービス対象エリアが特定のある一国を対象にしているわけではないからじゃないだろうか。

日本の場合、国土地理院によって全国をカバーする地形図が作られていて、さらにそれの電子化も強力に推し進められている。また国土数値情報のような各種の電子化されたデータが無料で公開されていたり、おそらくお金を出せばもっといろいろなデータを手にすることもできるだろう。

しかし、リオオリンピックに合わせてブラジルでポケモンGOのサービスが開始されたことがニュースで伝えられたように、おそらくポケモンGOは最終的に全世界をサービスエリアとしてカバーできるようにすることが求められ、また目指していると思われるのである。

ところが地図の整備状況やその電子化の状況というのは地域によって相当に差がある。日本のように電子化された地理情報が整備されて容易に手に入れられるような地域は世界の中ではかなり稀な状況といえるだろう。

その様子は実際にGoogle Mapsでうかがい知ることが出来る。試しに日本とブラジルで同一レベルの地図を表示してみよう。

Googleマップ 日本の地図

リンク先の日本の地図では支流の小さな河川まで表記されているのに対して

Googleマップ ブラジルの地図

ブラジルでは衛星画像でみると明らかに河川のようなところも地図には川として表示されなかったりする。

このような状況下において全世界で同じようにゲームを行えるようにするためには全世界同じようなレベルで提供されているデータを利用するしかない。幸い、先ほど使用した「ALOS World 3D」などの標高データはほぼ全世界をカバーするような規模で提供されていて、これを利用して自分で川筋を計算すれば、全世界の中小河川までカバーできる河川の地図を得ることができるだろう。コイキングコダックといった水辺のポケモンの生息域を表現することも可能になる。ただ、この方法では渋谷のように川底が暗渠化されたなんていう情報は得ることができない。そのため、今は消えてしまった川筋にコイキングが跳ねまわるなんていう椿事が起こったんじゃないだろうか。

ところでポケモンGOのゲーム中の位置情報の取り扱いを注意深く見てみたとき気づいたことがもう一つある。それは「ポケモンの巣」の設定方法である。

ポケモンGOのゲーム中でレアなポケモンはある特定の場所のみに出現するようになっているようで、そういった場所が「ポケモンの巣」と呼ばれていたりしているようなのだが、どうやらそれらは必ず公園の中になるように上手に設定されているようなのだ。ポケモンGOのサービス開始以来、世界各地のゲームに興じるポケモンプレイヤーの熱狂ぶりを伝えるニュースを幾度ともなく見聞きしたと思うけど、人が集中して大変なことになっている場所はキチンと公園になっているようなのである。つまり、ポケモンGOゲームエンジンポケモンGOが安全に遊べる広場のような場所をきちんと把握できている可能性が高いのだ。

これは、日本国内だけで実現するのならそういうデータはどこかにありそうである。しかし、全世界で同じようにやろうとしたらどうだろう。かなり難易度の高い作業なのではないか。しかし、事実としてそれを実現してしまっているようである。一体どのように実現しているのだろうか。

一つ考えられるのはIngressのゲームデータの活用できるる。ポケモンGOのポケストップはIngressのポータルのデータが流用されているという話は有名である。だが実際はもっと深い部分でIngressのプレイ情報がポケモンGOに活用されていたりするように思えるのだ。「ポケモンの巣」の設定も、Ingressのポータルの密度や移動速度が一定速度以下のエージェント(Ingressのプレイヤー)しかいないまとまった領域みたいな基準で算出するなんてくらいのことはしているんじゃないだろうか。

ポケモンGOといえばポケモンという強力なIPとAR要素がまず注目されがちだけど、位置ゲーを全世界で同一ルールで提供できる技術や体制というのは一見地味だけどかなりのものにみえるのだ。これは本当にちょっとやそっとじゃ真似できない気がする。

まあ、なにはともあれ、「かつて文部省唱歌として歌われ高度経済成長によって失われた川が、グローバル企業のグローバル戦略によってうっかりその姿を現してしまった」としたら、なにか虚をつかれたような驚きと不思議さがあってすごく面白いなぁと思う。また、こんな風に地形が思いもよらない形で表現されている可能性を見るに、地図や地形の表現というのはまだまだ色んな可能性があるなーなんてしみじみ思うのだ。

追記(2016年9月13日)

と、なんとかブログにまとめてホッとしていたのですが、衝撃的な情報が飛び込んできました。

結論からいうと、「ポケモンGOOSMに掲載されていた旧渋谷川水系に由来する暗渠の情報に基づいてコイキングを表示していた」ということのようなのです。

具体的にはまず「ポケモンGOポケモンの生息域を作り出すのにオープンストリートマップ(OSM)の情報を利用している」らしいということです。
詳しくは
pokesoku.co
をお読みいただけばと思いますが、OSMの地物の属性情報を基にして出現するポケモンの確率が設定されていたみたいなのです。

さらに、「OSMには渋谷の旧河川の暗渠の情報が登録されていた」というもう一つの要因が渋谷の街の中にコイキングを発生させたといえるでしょう。

国土地理院の地形図をはじめ一般の地図には旧渋谷川の暗渠は描かれていませんが、OSMの場合誰もが自由に地図を編集できるため、誰かが登録すればそれはOSMのデータとして登録されることになります。

OSMについて不勉強なためきちんと正確なところは説明できないのですが、

宇田川遊歩道から代々木八幡あたりのオープンストリートマップ

をごらんになると分かる通り、OSM上に旧渋谷川水系に由来を持つ暗渠が川として登録されているようで、そのためにポケモンGOゲームエンジンは川に現れるポケモンを出現させたということになるようです。また、地図はGoogleマップを利用して表示していると思われるので、地図上の川の表示と一致しない、ちぐはぐなことが起こったということになるでしょうか。

また、渋谷以外にも立会川の暗渠でコイキングが出現するっていう話を前に目にしたのですが、こちらも今確認してみると、確かに水路が描かれています。

大井町そばのオープンストリートマップ

というわけで、ほぼ間違いなくこれが正解だと思われます。まさか、こんなはっきりと結論がでるとは思ってもみなかったのでびっくりして拍子抜けしてしまったのですが、まあ、確かにOSMは全世界をカバーする取り扱いが一番容易な情報ではあるでしょう。でも個人的にはもっとなんだかびっくりするような方法でゲームを実現してて欲しかったなぁとかなんとか、って、まあ、個人の勝手な思いですが。