Androidはどのように粗い位置を取得しますか?


15

私は、Android(およびiOSなどの類似の操作システム)がWiFiまたはGSMタワー三角測量を使用して現在の大まかな位置を取得することを読みました。基本的なアイデアは得ましたが、詳細について質問があります。

  1. Androidは通常両方の方法を使用しますか、それとも一方を優先して他方にフォールバックしますか?
  2. WiFi経由で位置を取得するためにサーバーと通信しますか?(たとえば、WiFiのSIDをWebサービスに送信する)
  3. キャリアと通信してGSMタワーを介して位置を取得しますか、それともデバイスで行われますか?

回答:


8

位置情報サービスの実装方法については、開発者次第です。詳細な説明はこちらから入手できます。

http://developer.android.com/guide/topics/location/obtaining-user-location.html

ページの3分の1ほど下のグラフは、典型的なアプリの動作を確認するのに非常に役立ちますが、ここでもアプリの開発者次第です。ロケーションサービスのタイプは次のとおりです。

  • キャッシュされた修正
  • セルID
  • Wi-Fi
  • GPS
  • モックの場所

アプリが大まかな位置の許可のみを要求する場合、位置の特定にGPSを使用しません。

質問に答えるには...

  1. 個々のアプリ開発者次第ですが、ほとんどの場合、シーケンスはCached Fix、Cell-ID、Wifi、GPSの順になります。
  2. はい、WiFi信号のタワーIDまたはSSIDを取得した後、そのデータはGoogleに送信され、大まかな場所を特定します。
  3. いいえ、Googleはここで本当に賢いことをしました。Googleは、セルタワーの位置に関する独自のデータベースを持っているため、タワーの位置を決定するために通信事業者と対話する必要はありません。

この記事には詳細の一部がありますhttp://franciscokattan.com/2010/02/06/dynamic-cell-id-clever-way-to-block-google-but-will-it-backfire/

短いバージョンでは、Googleマップなどのアプリを使用すると、アプリは現在のGPS修正とともに現在のCell-ID情報を送信します。このようにして、Googleはさまざまな場所の信号強度の非常に優れたサンプリングを取得し、非常に豊富なデータベースを構築できます。


私はあなたの答えがとても好きですが、「開発者次第」の部分に関するあなたの権利が正しいかどうかはわかりません。私が知る限り、開発者は良い場所または粗い場所を取得することしか決定できません。つまり、LocationManager.NETWORK_PROVIDERまたはLocationManager.GPS_PROVIDERを使用して場所を取得できます。WifiまたはGSMが使用されている場合、彼は決定することも見ることさえできないと思いますか?
ティムブッテ

最も一般的なケースでは、開発者はデータがWiFiまたはCell-IDからのものであるかどうかは気にしませんが、開発者は、WiFiが無効またはGPRS / GSMが無効な場合にのみアプリの動作を許可する制限を設けることができます。あなたの質問は、「すべてのアプリが従う標準的なシーケンスはありますか」という意味で、答えは「いいえ」です。ただし、Wi-FiとCell-IDの違いを特に考慮すると、アプリ開発者は1種類の位置情報サービスを具体的に要求する機能が制限されています。
ジェイドメイソン

1
Wi-Fiホットスポットの場所をデータベースに送信して、近隣/屋内でより良い三角測量を行う方法を知っていますか?私は私のものquestioneのためのスレッドを開いている:android.stackexchange.com/questions/4715/...
Özgür

3

これの多くは通信事業者固有のものであり、私は開発者ではありませんが、インターネット犯罪調査で行ったインターウェブとトレーニングからまとめることができるものは次のとおりです。

  1. はい。ただし、開発者が設定する特定のアプリのLBS優先度に依存し、現在のコースの精度、出力レベル、事前に定義された優先度に基づいています。
  2. はい。キャリアには、独自のWifiベースステーションロケーションDBがあります。
  3. 具体的にはAndroidと話すことはできませんが、一般的にこれはキャリアとネットワークの種類(CDMAまたはGSM)になります。電話機には両方の機能がありますが、少なくとも数年前は、帯域幅の制限によりotaを実行するため、ハンドセットでこの作業を行いました。


0

あなたの電話は最も近い塔が何であるかを知っています。タワーIDがマップ上のどこにあるかについて、国ごとにプロバイダーデータベースがあります。このデータベースは、プロバイダーが事前にインストールしたり、無線で提供したりするのに十分なほど小さい場合があります。アンドロイド携帯電話がこのデータをどのように取得するかはわかりません。


-1

#3には少し異なる答えがあります。三角測量を使用する場合はデバイスを使用できますが、Cell-IDとgsm(またはcdma)タワーのローカリゼーションを一致させる場合はキャリアを使用する必要があります。


しかし、これはアプリ開発者やエンドユーザーでさえ決定できるオプションですか、それともキャリアによって決定されるものですか?
マット

デバイスのローカライズにこの方法を使用する場合は、必須です。三角測量または別の方法を使用すると、アンテナの位置に対する位置を知ることができます。ただし、アンテナの緯度/経度がわからない場合は、地図上で自分の位置を取得できません。私ははっきりしている:)
ロブ

@Robしかし、塔の場所を見つけるためにキャリアは必要ありません。各タワーは一意のIDをブロードキャストするため、誰もがキャリアインタラクションなしで独自にIDを取得してマッピングできます。Googleはしばらくの間、セルタワーとWiFiアクセスポイントに対してこれを行ってきました。Google Streetview車は走行中に情報を取得し、さまざまなプラットフォームのGoogleマップのユーザーは、アンテナとwifi IDおよび強度を備えたGPS修正に一致する匿名データも送り返します。これは、Googleが都市の交通データの多くを取得し、多くのマップユーザーから速度と位置を集計する方法に似ています。
GAThrawn

本気ですか ?意外に見えます。たとえば、ドイツ(およびヨーロッパの他の国)では、Googleはwifi情報の収集で訴えられているため、このリソースを使用していないようです。GSMデータベースについては、Googleがそれを所有している場合、アクセス可能であるべきであり、私はそれについて聞いたことがありません。
ロブ

1
@ Robgooglemobile.blogspot.com / 2008 / 06 / 「携帯電話は、現在使用しているセルタワーのIDを知っています。携帯電話にGPSがある場合、携帯電話のMapsアプリケーションは携帯電話のGPS座標とともにGPS座標を送信しますGoogleロケーションサーバー。」今すぐリンクを見つけることができませんが、Blackberry Google Mapsアプリが同じ理由で近くのWiFi SSIDと強度を送信していることをしばらく前に発表しました。これは、意図したよりも多くのWiFiデータをキャプチャしたという理由で訴えられているStreetviewソフトウェアのプログラミング「エラー」とは異なります。
GAThrawn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.