web-dev-qa-db-fra.com

Comment Google calcule-t-il ma position sur un ordinateur?

Cela me confond un peu, je ne suis pas sûr que l’un d’entre vous ait remarqué ou utilisé la fonctionnalité "ma position" sur Google Maps en utilisant votre ordinateur de bureau (ou aucun GPS/aucun appareil mobile). Si vous avez un navigateur avec Google Gears (Google Chrome est le moyen le plus simple à utiliser), un cercle bleu apparaît alors au-dessus de la fonction de zoom de Google Maps. Lorsque vous cliquez dessus (sans être connecté à mon compte Google), utilisez le Wi Fi standard pour votre propre usage. routeur et une connexion Internet normale à mon fournisseur de services Internet, il parvient en quelque sorte à localiser ma position exacte avec une précision de 100% (pour le moment).

Comment ça se passe? ils en parlent brièvement ici mais ça ne l'explique pas très bien, ça dit que mon navigateur sait où je suis ...

... je suis dérouté, comment?

Je suis intrigué parce que j'aimerais beaucoup l'intégrer à l'avenir dans mes projets de programmation, comme une compréhension de fond et cela ne semble pas très bien documenté pour le moment.

103
Shadi Almosri

Je suis actuellement à Tokyo et j'avais l'habitude d'être en Suisse. Pourtant, ma position n’était pas exacte jusqu’il ya quelques jours, sauf dans la grande région de Tokyo. Aujourd'hui, j'ai essayé et il semble que je sois en Suisse. Comment?

Le secret, c’est que je suis maintenant connecté via une connexion sans fil et que mon routeur sans fil a été identifié (grâce à une association avec d’autres femmes autour de moi à cette époque) dans une zone très précise de la Suisse. Maintenant, mon wifi a déménagé à Tokyo, mais le système interrogé pense toujours que le routeur wifi est en Suisse, car il ne dispose pas d'informations sur les wifis supplémentaires qui m'entourent actuellement, ou il ne peut pas résoudre les informations contradictoires (à savoir les informations spécifiques à propos de mon routeur wifi par rapport à la géolocalisation de mon adresse IP, ce qui me permet de repérer l’extrême-orient).

Donc, pour répondre à votre question, google, ou quelqu'un pour lui, a "surveillé" autour, cartographiant la présence wifi. Chaque fois qu'une requête est effectuée sur le système (probablement en conformité avec le brouillon du W3C pour l'API de géolocalisation ), votre ordinateur envoie les identifiants wifi qu'il voit et le système fait deux choses:

  1. interroge sa base de données s'il existe une géolocalisation pour certains des wifis que vous avez passés, et renvoie la position "sous contrôle" si elle est trouvée, éventuellement avec une triangulation si des intensités sont présentes. Plus il y a de réseaux wifi, plus la précision de positionnement est élevée.
  2. ajoute les réseaux supplémentaires que vous voyez qui ne sont pas actuellement dans la base de données à leur base de données, afin qu'ils puissent être réutilisés ultérieurement.

Comme vous le voyez, le système se construit tout seul. La seule chose dont vous avez besoin est un bon ensemencement. Après cela, il s'étend en "morceaux de 50 mètres" (la portée d'une connexion wifi récemment trouvée).

Bien sûr, si vous voulez vraiment que le système fonctionne à la banane, vous pouvez commencer à échanger des routeurs wifi dans le monde entier avec d'autres révolutionnaires du mouvement de non-positionnement global.

90
Stefano Borini

C'est beaucoup plus simple que vous en pensez. Vous vous êtes connecté à la fois à votre téléphone et à Chrome sur votre ordinateur en utilisant le même compte Google. Google s’attend simplement à ce que vous ayez votre téléphone portable avec vous la plupart du temps. Ils prennent les données de localisation de votre ordinateur. téléphone et supposons que l’emplacement de votre session de bureau actuelle est le même.

Je l'ai prouvé en utilisant RDP sur mon ordinateur Windows chez moi après le travail et en vérifiant Google Maps à distance. Cela indique que ma position est la même que Chrome sous Linux au travail.

Si aucun mobile n'est connecté à Google, il ne peut que rechercher des données GeoIP pour l'adresse IP attribuée par votre fournisseur d'accès. Ce sera typiquement très imprécis.

10
Bruce

Ils utilisent une combinaison de géolocalisation IP et comparent les résultats d'une recherche de réseaux sans fil à proximité avec une base de données (construite en collectant les coordonnées GPS à côté de données de balayage wifi lorsque Android les utilisateurs de téléphones utilisent leur GPS)

10
bdonlan

J'ai finalement réussi. Le plus gros problème est de savoir comment ils ont réussi à déterminer les réseaux sans fil qui m'entouraient et comment savoir où se trouvent ces réseaux.

Cela "semble" ressembler à ceci:

  1. skyhookwireless.com [ou similaire] La société a cartographié l'emplacement de nombreux points d'accès sans fil. Je suppose par des moyens similaires que Google Streetview a fait le tour et a collecté toutes les photos.
  2. À l'aide de Google Gears et de mon navigateur, nous pouvons signaler les réseaux sans fil que je vois et que j'ai autour de moi.
  3. Comparez ces points sans fil à leur géolocalisation et triangulez ma position.

Référence: Slashdot

7
Shadi Almosri

Selon l'aide de Google Maps:
If your browser cannot show images, get a new one!

2
bit2shift

Rejeter l'idée de réseaux WiFi!

Désolé les gars ... je ne le vois pas. L'utilisation de réseaux Wi-Fi autour de vous semble être une méthode très imprécise et inefficace de collecte de données. De nos jours, les réseaux WiFi ne restent pas longtemps au même endroit.

Pensez-y, les réseaux WiFi changent chaque jour. Sans parler des réseaux MiFi et Adhoc qui sont "conçus" pour être mobiles et voyager avec les utilisateurs. Les pannes d'équipement, les paramètres de réseau changent, les gens bougent ... S'appuyer sur des "réseaux WiFi" dans votre région semble très imprécis et, au final, il pourrait même ne pas offrir une amélioration significative de la granularité sur la recherche IP.

Je pense que l'idée selon laquelle les utilisateurs d'iPhone "scannent et renverront" les données de l'enquête WiFi à Google, et que la surveillance, peut-être en conjonction avec la cartographie "Street View" de Google Maps, puisse sembler une méthode très possible de collecte de ces données, cependant, dans la pratique, cela ne fonctionne pas comme un modèle d'entreprise.

Oh et d'ailleurs, j'avais oublié de mentionner dans mon précédent message ... lorsque je trouvais initialement mon lieu, l'heure à laquelle j'ai été localisé "précisément" sur la carte, je me connectais à un routeur depuis mon bureau via une connexion Ethernet. Je n'ai pas de carte WiFi sur mon bureau.

Donc, si cette théorie des "réseaux WiFi à proximité" était vraie ... je n'aurais pas dû pouvoir localiser ma position avec une telle précision.

Je vais appeler mon fournisseur d'accès, SKyrim, et leur demander s'ils partagent la topologie de leur réseau pour permettre la géolocalisation sur leurs réseaux.

1
ct07

Il est possible d'obtenir votre localisation approximative en fonction de votre adresse IP (sans fil ou fixe).

Voir par exemple hostip.info ou maxmind qui fournit en gros un mappage d'adresse IP à des coordonnées géographiques. Ils utilisent probablement de nombreux types d’heuristiques et de sources de données. Ce type de système a probablement assez de précision pour vous placer dans la grande ville, dans la plupart des cas.

Google utilise probablement une approche un peu similaire en plus des astuces WiFi.

0
Juha Syrjälä

Je sais que vous pouvez rechercher une adresse IP pour obtenir une localisation approximative, mais elle n’est pas toujours exacte. Peut-être qu'ils utilisent ça?

mise à jour:

Généralement, votre navigateur utilise des informations sur les points d’accès Wi-Fi autour de vous pour évaluer votre position. Si aucun point d'accès Wi-Fi n'est à portée ou si votre ordinateur n'est pas équipé du Wi-Fi, il peut être amené à utiliser l'adresse IP de votre ordinateur pour obtenir un emplacement approximatif.

0
pxb