web-dev-qa-db-ja.com

Googleはデスクトップ上の現在地をどのように計算しますか?

まさにこれは私をかなり混乱させます。あなたの誰かがあなたのデスクトップを使ってグーグルマップで「私の位置」機能に気づいたか、使用したかどうかわかりません(またはGPSなし/モバイルデバイスなし)。 Google Gearsを搭載したブラウザ(最も使いやすいのはGoogle Chrome)の場合、標準のWi Fiを使用して(Googleアカウントにログインせずに)クリックすると、Googleマップのズーム機能の上に青い円が表示されますルーターとISPへの通常のインターネット接続により、なんとかして100%の正確さで正確な位置を特定することができます(現時点では)。

どのようにそれをしますか?彼らはそれを簡潔に言及しています ここ しかしそれはそれを十分に説明していません、それは私のブラウザが私の場所を知っていると言います...

...私は困惑しています、どうですか?

興味をそそられるのは、プログラミングプロジェクトの将来にそれを統合したいからです。背景知識を理解するように、現時点ではあまり文書化されていないようです。

103
Shadi Almosri

私は現在東京にいて、かつてスイスにいました。それでも、数日前までの私の場所は、広い東京エリアを除いて、正確にはピン留めされていませんでした。今日私は試しましたが、スイスにいるようです。どうやって?

秘密は、私が現在ワイヤレスで接続されており、ワイヤレスルーターがスイスの非常に正確な地域で特定されていることです(当時の他のWi-Fiとの関連付けのおかげです)。今、私のwifiは東京に移動しましたが、クエリされたシステムはまだwifiルーターがスイスにあると考えています。なぜなら、現在私の周りの追加のwifiに関する情報がないか、競合する情報(つまり、特定の情報私のIPジオロケーションに対する私のWiFiルーターについて、これは極東で私を特定します)。

それで、あなたの質問に答えるために、グーグル、または彼のための誰かが、wifiの存在をマッピングして「ウォードライビング」を行いました。システムに対してクエリが実行されるたびに(おそらく ジオロケーションAPIのW3Cドラフト に準拠)、コンピューターは表示されるwifi識別子を送信し、システムは次の2つのことを行います。

  1. 渡されたwifiの一部にジオロケーションが存在する場合、データベースに照会し、見つかった場合は「wardrived」位置を返し、強度が存在する場合は最終的に三角測量を返します。周囲のWi-Fiネットワークが多いほど、測位の精度は高くなります。
  2. 現在データベースに存在しないネットワークがデータベースに追加され、後で再利用できるようになります。

ご覧のとおり、システムは自動的に構築されます。必要なのは、良い播種だけです。その後、「50メートル単位」(新しく見つかったWi-Fi接続の範囲)で拡張されます。

もちろん、システムを本当にバナナにしたい場合は、世界中のWiFiルーターをグローバルポジショニングのない運動の仲間の革命家と交換し始めることができます。

90
Stefano Borini

あなたが考えるのはもっと簡単です。同じGoogleアカウントを使用して、モバイルとデスクトップのChromeの両方にログインしました。 Googleは、ほとんどの場合、携帯電話を持ち歩くことを期待しています。電話から位置データを取得し、現在のデスクトップセッションの位置が同じであると想定します。

自宅から職場のWindowsマシンにRDPを実行し、Googleマップをリモートで確認することでこれを証明しました。職場のLinuxのChromeと同じ場所を示しています。

Googleにサインインしているモバイルを持っていない場合は、ISPによって割り当てられたIPアドレスのGeoIPデータを検索するだけです。通常、非常に不正確です。

10
Bruce

彼らはIPジオロケーションの組み合わせを使用し、近くのワイヤレスネットワークのスキャン結果を(Android電話ユーザーが使用するときにWi-Fiスキャンデータと一緒にGPS座標を収集することで構築された)側のデータベースと比較します彼らのGPS)

10
bdonlan

ようやく解決しました。最大の問題は、彼らがどうやって私の周りにあるワイヤレスネットワークであったかをどのように解決したか、そしてこれらのネットワークがどこにあるかをどうやって知るかです。

これは次のようなもののようです。

  1. skyhookwireless.com [または同様の]会社は、多くのワイヤレスアクセスポイントの場所をマップしました。同様の方法で、Googleストリートビューが回り、すべての写真を拾ったと思います。
  2. Googleのギアとブラウザを使用して、自分の周りにあるワイヤレスネットワークを表示し、所有していることを報告できます。
  3. これらのワイヤレスポイントをジオロケーションと比較し、私の位置を三角測量します。

参照: スラッシュドット

7
Shadi Almosri

Googleマップのヘルプによると:
If your browser cannot show images, get a new one!

2
bit2shift

WiFiネットワークのアイデアを拒否します!

ごめんなさい...私はそれを見ません。周囲のWiFiネットワークを使用することは、非常に不正確で非効率的なデータ収集方法のようです。最近のWiFiネットワークは、1つの場所に長く留まることはありません。

考えてみてください、WiFiネットワークは毎日変わります。 MiFiおよびAdhocネットワークは言うまでもなく、モバイル用に設計されており、ユーザーと一緒に旅行します。機器の故障、ネットワーク設定の変更、人の移動...お住まいの地域の「WiFiネットワーク」に依存することは非常に不正確であると思われ、最終的にIPルックアップよりも粒度が大幅に改善されることさえありません。

IPhoneユーザーはWiFi調査データをGoogleに「スキャンして送信」し、おそらくGoogleマップの「ストリートビュー」マッピングと組み合わせたウォードライビングは、このデータを収集する非常に可能な方法のように思えるかもしれませんが、実際には、ビジネスモデルとしては機能しません。

ああ、私は以前の投稿で言及するのを忘れていました...イーサネット接続を介してデスクトップからルーターに接続していた地図上で「正確に」特定されたときに最初に自分の場所を引っ張ったとき。デスクトップにWiFiカードがありません。

そのため、「近くのWiFiネットワーク」理論が真実だったとしたら、そのような正確さで自分の位置を特定することはできなかったはずです。

ISPのSKyrimに電話して、ネットワークトポロジを共有してネットワーク上の位置情報を有効にするかどうかを尋ねます。

1
ct07

IPアドレス(ワイヤレスまたは固定)に基づいておおよその位置を取得することが可能です。

たとえば、基本的にIPアドレスから地理座標へのマッピングを提供する hostip.info または maxmind を参照してください。おそらく、多くの種類のヒューリスティックとデータソースを使用します。この種のシステムは、ほとんどの場合、適切な大都市にあなたを入れるのにおそらく十分な精度を持っています。

Googleは、おそらくWiFiのトリックに加えて、多少似たアプローチを使用します。

0
Juha Syrjälä

おおよその位置を取得するためにIPアドレスを検索できることは知っていますが、必ずしも正確ではありません。おそらく彼らはそれを使用しているのでしょうか?

更新:

通常、ブラウザは、周囲のWi-Fiアクセスポイントに関する情報を使用して現在地を推定します。 Wi-Fiアクセスポイントが範囲内にない場合、またはコンピューターにWi-Fiがない場合、お使いのコンピューターのIPアドレスを使用しておおよその位置を取得することがあります。

0
pxb