位置ゲームにおける、位置情報の取得方法についてのメモ
この記事は、位置ゲームにおいて肝となる位置情報の取得についてのメモです。
個人的な興味で調べたことをつらつらと書いているだけです。
スマートフォンにおける位置情報の取得には大まかに3つの測定方法があり、それぞれ特徴があります。
・人工衛星を使用した位置測定
人工衛星からの信号を受け取って現在地を計算する方法です。
この方法で位置を測定するには、端末がGPS衛星との通信に対応している+少なくとも3機の人工衛星から信号を受け取る必要があります。
最も正確かつ圏外でも使える測定方法ですが、位置特定までに時間がかかる、信号が拾えない場所(地下空間や構造物内)で動作しない、雲の量や太陽の活動によっては屋外でも不安定になるという弱点があります。
・付近のWi-Fiアクセスポイントが持つ情報からの位置測定
Wi-Fiのアクセスポイント(以下AP)はGoogleやAppleのデータベースに位置が記録されています。
この方法での位置の測定には、端末がWi-Fiを検知できる状態になっている+データベースに位置が記録されているAPが周辺にあることが必要となります。
人工衛星で補足できない場所でも使用できる、位置測定にかかる時間が短いといったメリットがありますが、人工衛星による位置捕捉に比べると精度が低く、現在地と異なる場所を表示してしまうこと(特にモバイルルータや引越しなどでルータを移動させた時)がよくあります。
ちなみに、APの名前を「〇〇_nomap」とすることでAPの位置が登録されなくなります。位置ゲーをモバイルルータに繋げた端末で遊ぶ方はぜひ設定しておくことをオススメします。
・携帯キャリア基地局からの位置測定
携帯キャリア(au・SB・docomoなど)が持つ位置局からの情報(A-GPS, Assisted GPS)を受け取って現在地を測定する方法です。
この方法での位置の測定には、端末にキャリアと契約したSIMが入っていること+3Gまたは4G通信ができる状態であることが必要となります。
衛星からの信号がなくAPもない場所での位置捕捉が可能ですが、精度は前者2つの方法と比べると低く、SIMカードが無いと使用できない、大手3キャリア以外とSIMを契約している場合も使用できないことがある、圏外になる場所では使用できないなど不安定です。
野外では主に人工衛星+AP+基地局から位置情報を得ているためかなり正確に位置を特定できますが、地下鉄やトンネルなど衛星の信号が来ない場所では精度の落ちるAP+基地局の情報を元に特定している様です。
地下鉄などでは、測定に使用されるAPや基地局が持つ位置情報がトンネルの入口や駅にあるケースが多いため、駅に着くまで位置情報が更新されないことやトンネルの先端or終端に位置が固定されることもしばしばあります。モバイルルータを使用している人が近くにいる場合、そのAPが持つ情報に引っ張られる時もあります。
本来、携帯の電波すら届かないはずの地下鉄などで圏外にならず位置情報が取れるのは鉄道会社や通信会社の努力の賜物です。これ以上の位置情報の精度改善はなかなか難しそうです。
ここからは「ポケモンGO」と「駅メモ!」における、位置情報をゲーム内に反映させる仕組みについて考察しています。
単に私的な考察なので、公式の仕組みとは違うことを書いている可能性があります。
ポケモンGO…アプリ起動中は常に位置情報を取得し、即座にNianticのサーバーに送り続けているようです。そのため、GPS機能をoffにすると即座に「GPSの信号を探しています」と表示されてしまいます。
速度の検知はおそらくGPSの動きから予測して計算しているものと思われます。スマホが持つジャイロセンサによる加速度検知も参考にしている可能性もありますが見た目では判断できません。
また、地下鉄や建物に入るとほぼ確実に「GPSの信号を探しています」と表示されるので、精度の高い情報となる人工衛星からの信号が必要である可能性が高そうです。
駅メモ!…アプリ起動時は常に位置情報をスマホ側で取得しているものの、サーバーへ情報を送るのはチェックインボタンを押した時のみだと思われます。そのためかGPSをoffにしてもチェックインボタンを押さない限りは何も言われません(正直駅メモはサーバーが貧弱すぎて毎秒単位で送る形式には見えない…)。
↑の仮説の通りなら、速度の算出も一つ前のチェックイン地点と直前のチェックイン地点の距離と時間間隔から速度を計算していそうです。もちろんジャイロセンサも有り得ますが(以下略)
駅メモは鉄道がメインテーマとなっている以上、地下鉄に乗っている人を考慮に入れる必要があるためか多少位置情報の精度が低い・位置飛びした程度では問題なく位置登録できるようになっています。
ちなみに、違反行為(位置偽装など)の検知システムに引っかかった際も、駅メモでは主に「どれぐらい現実ではありえない動きをしているか」が問題視されるようです。地下鉄の駅がスポットとして登録されている以上、機械的に対応することは出来ないのだと思われます。
スポンサーリンク:
個人的な興味で調べたことをつらつらと書いているだけです。
スマートフォンにおける位置情報の取得には大まかに3つの測定方法があり、それぞれ特徴があります。
・人工衛星を使用した位置測定
人工衛星からの信号を受け取って現在地を計算する方法です。
この方法で位置を測定するには、端末がGPS衛星との通信に対応している+少なくとも3機の人工衛星から信号を受け取る必要があります。
最も正確かつ圏外でも使える測定方法ですが、位置特定までに時間がかかる、信号が拾えない場所(地下空間や構造物内)で動作しない、雲の量や太陽の活動によっては屋外でも不安定になるという弱点があります。
・付近のWi-Fiアクセスポイントが持つ情報からの位置測定
Wi-Fiのアクセスポイント(以下AP)はGoogleやAppleのデータベースに位置が記録されています。
この方法での位置の測定には、端末がWi-Fiを検知できる状態になっている+データベースに位置が記録されているAPが周辺にあることが必要となります。
人工衛星で補足できない場所でも使用できる、位置測定にかかる時間が短いといったメリットがありますが、人工衛星による位置捕捉に比べると精度が低く、現在地と異なる場所を表示してしまうこと(特にモバイルルータや引越しなどでルータを移動させた時)がよくあります。
ちなみに、APの名前を「〇〇_nomap」とすることでAPの位置が登録されなくなります。位置ゲーをモバイルルータに繋げた端末で遊ぶ方はぜひ設定しておくことをオススメします。
・携帯キャリア基地局からの位置測定
携帯キャリア(au・SB・docomoなど)が持つ位置局からの情報(A-GPS, Assisted GPS)を受け取って現在地を測定する方法です。
この方法での位置の測定には、端末にキャリアと契約したSIMが入っていること+3Gまたは4G通信ができる状態であることが必要となります。
衛星からの信号がなくAPもない場所での位置捕捉が可能ですが、精度は前者2つの方法と比べると低く、SIMカードが無いと使用できない、大手3キャリア以外とSIMを契約している場合も使用できないことがある、圏外になる場所では使用できないなど不安定です。
野外では主に人工衛星+AP+基地局から位置情報を得ているためかなり正確に位置を特定できますが、地下鉄やトンネルなど衛星の信号が来ない場所では精度の落ちるAP+基地局の情報を元に特定している様です。
地下鉄などでは、測定に使用されるAPや基地局が持つ位置情報がトンネルの入口や駅にあるケースが多いため、駅に着くまで位置情報が更新されないことやトンネルの先端or終端に位置が固定されることもしばしばあります。モバイルルータを使用している人が近くにいる場合、そのAPが持つ情報に引っ張られる時もあります。
本来、携帯の電波すら届かないはずの地下鉄などで圏外にならず位置情報が取れるのは鉄道会社や通信会社の努力の賜物です。これ以上の位置情報の精度改善はなかなか難しそうです。
ここからは「ポケモンGO」と「駅メモ!」における、位置情報をゲーム内に反映させる仕組みについて考察しています。
単に私的な考察なので、公式の仕組みとは違うことを書いている可能性があります。
ポケモンGO…アプリ起動中は常に位置情報を取得し、即座にNianticのサーバーに送り続けているようです。そのため、GPS機能をoffにすると即座に「GPSの信号を探しています」と表示されてしまいます。
速度の検知はおそらくGPSの動きから予測して計算しているものと思われます。スマホが持つジャイロセンサによる加速度検知も参考にしている可能性もありますが見た目では判断できません。
また、地下鉄や建物に入るとほぼ確実に「GPSの信号を探しています」と表示されるので、精度の高い情報となる人工衛星からの信号が必要である可能性が高そうです。
駅メモ!…アプリ起動時は常に位置情報をスマホ側で取得しているものの、サーバーへ情報を送るのはチェックインボタンを押した時のみだと思われます。そのためかGPSをoffにしてもチェックインボタンを押さない限りは何も言われません(正直駅メモはサーバーが貧弱すぎて毎秒単位で送る形式には見えない…)。
↑の仮説の通りなら、速度の算出も一つ前のチェックイン地点と直前のチェックイン地点の距離と時間間隔から速度を計算していそうです。もちろんジャイロセンサも有り得ますが(以下略)
駅メモは鉄道がメインテーマとなっている以上、地下鉄に乗っている人を考慮に入れる必要があるためか多少位置情報の精度が低い・位置飛びした程度では問題なく位置登録できるようになっています。
ちなみに、違反行為(位置偽装など)の検知システムに引っかかった際も、駅メモでは主に「どれぐらい現実ではありえない動きをしているか」が問題視されるようです。地下鉄の駅がスポットとして登録されている以上、機械的に対応することは出来ないのだと思われます。
- 関連記事
-
-
DragonVale イースターイベント2019「The Chrysalis Kaleidoscope」開催中
-
征戦!エクスカリバーが2019年4月18日にサービス終了
-
DragonVale バレンタインイベント2019「GARDENIA'S COLOR GUARD」開催中
-
Googleアンケートモニターの紹介
-
DragonVale クリスマスイベント2018「WINTER SAGA」開催中
-
位置ゲームにおける、位置情報の取得方法についてのメモ
-
DragonVale ハロウィンイベント2018「WHITBEE'S CANDY BUSH V」開催中
-
DragonVale 限定ドラゴン&エピックドラゴン交配表 ※9/28更新
-
DragonVale 初心者向けガイド
-
Slime Rancher 1.2.0アップデート内容
-
Androidエミュレーター「BlueStacks3」紹介
-