<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">Le 23 septembre 2013 17:16, Shohreh <span dir="ltr"><<a href="mailto:codecomplete@free.fr" target="_blank">codecomplete@free.fr</a>></span> a écrit :<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Bonjour<br>
<br>
Je n'ai pas encore eu l'occasion de tester et aimerais l'avis de<br>
spécialistes du GPS (smartphone Android).<br>
<br>
Les éléments suivants sont-ils vrais?<br>
<br>
1. Pour accélérer la géolocalisation, le GPS peut utiliser à la fois les<br>
antennes GSM, utiliser le canal data pour télécharger des données AGPS, et<br>
récupérer la liste des hotspots wifi si le mode est activé<br></blockquote><div><br></div><div>Tout à fait vrai. Au moins sur les smartphones Samsung (mais je pense que le code de support fait partie en fait d'Android).</div>

<div>Mon smartphone utilise cela très bien alors même que la réception du GPS est désactivée ou qu'il est totalement impossible de recevoir les signaux GPS (à l'intérieur d'un bâtiment par exemple).</div><div>

<br></div><div>Maintenant la localisation est limitée, sa précision dépend de la puissance reçue : avec un bon signal Wifi on atteint une précision de près de 5 mètres, mais dès qu'on s'éloigne et que le signal s'affaiblit, elle peut tomber à moins de 50 mètres. Si la précision reste assez boe malgré tout c'est parce que la réglementation impose une limite de puissance rayonnée à l'extérieur, pour limiter la portée du signal Wifi.</div>

<div><br></div><div>Ce que ta question oublie de demander est: faut-il être connecté ou non à la borne Wifi ? En fait non, il suffit juste des données du "radar" wifi qui liste une série de hotspots visibles (le SSID n'est pas la seule indication, il est juste là pour donner un nom du hotspot pour l'utilisateur, mais il est plus fiable de simplement récupérer les numéros uniques matériels).</div>

<div><br></div><div>Le smartphone ne peut toutefois pas utiliser ces données tout seul : il a besoin de transmettre cette liste à un serveur (sur Android c'est transmis à un serveur Google, une fois qu'on a autorisé la demande de géolocalisation par Wifi dans l'appli : Android dispose d'autorisations spéciales qu'il faut accepter pour ce type de géolocalisation précise, séparées de l'autorisation de géolocalisation par antenne de téléphonie mobile, ou de celle par GPS, ou de celle par l'adresse IP si on est connecté à un fournisseur Internet, selon leur niveau de précision, la plus mauvaise précision étant celle utilisant les listes de signaux mobiles cellulaires).</div>

<div><br></div><div>On appelle ça de la géolocalisation assistée. Selon les applications, ces données peuvent être transmises à un service ou un autre, mais sur Android c'est souvent Google qui fournit la réponse à la demande de géolocalisation assistée. Google utilise différentes sources : les listes de hotspots captés par ces Google Cars, ou bien les listes de hotspots captés par des smartphones dont le GPS fonctionne, ou bien des données provenant des utilisateurs d'accès internet fixes (c'est l'adresse MAC du hotspot qui est stable et plus fiable que l'adresse IP).</div>

<div><br></div><div>Google agrège tout ça et arrive à avoir de très bonnes corrélations pour former des "graphes" reliant les listes entre elles avec plus ou moins de signaux, et selon leur fiabilité que Google estime. Mais en zone urbaine ou les signaux GPS soufrent de nombreux échos gênants, ou de signaux GS captés en nombre insuffisant pour une bonne triangulation, les signaux wifi captés apportent un plus non négligeable.</div>

<div><br></div><div>D'ailleurs cela se voit sur mon smartphone : si je coupe le wifi et le GPS, il ne reste qu'une localisation très imprécise à l'emplacement de la seule antenne de téléphonie mobile captée (la précision tombe avec jusqu'à environ 5 kilomètres d'écart).mais en ajoutant le GPS seul avec même peu de signaux la précision s'améliore (les écarts restent tout de même jusqu'à plusieurs centaines de mètres si on n'est pas dans une zone bien dégagée au milieu de la route et si la rue est étroite et entourés de bâtiments proches), et en ajoutant le wifi seul, les écarts ne dépassent plus guère les 15 mètres.</div>

<div><br></div><div>Mais si non seulement le coupe les données data et qu'il ne reste le wifi (sans se connecter à une borne pour disposer d'une connexion Internet), il n'y a plus que le GPS reçu qui ne fonctionne qu'en extérieur (au mieux Android ne fait que garder en cache la dernière position estimée connue, mais pas très longtemps).</div>

<div><br></div><div>Le wifi en revanche n'apportera rien en zone rurale, et notamment en forêt où le GPS est assez peu précis (on capte mais la marge d'erreur est plus grande et ça se voit dans les zigzags inattendus qu'on trouve dans les traces GPX, y compris quand on suit une route normale dégagée sur au moins 7 mètres de large, pour peu qu'elle traverse une forêt assez dense et haute. Dans la forêt des Landes ou autour de Royan, la précision s'écroule et ne peut fonctionner correctement qu'avec un bon GPS capable de capter et traiter des signaux plus faibles mais plus nombreux, mais un GPS courant ne capte que 3 satellites et pas les 7 ou 8 qu'on trouve facilement ailleurs, et au pire 5 ou 6 à certaines heures).</div>

<div><br></div><div>Le GPS pourrait s'améliorer si les constellations se densifient ou se multiplient (et sur les GPS savent les capter). Dommage que les données GPS fournies par Android oublient de mentionner point par point leur précision (calculée en fonction du nombre de signaux reçus, des puissances mesurées, de leur stabilité dans le temps, et d'autres facteurs comme la captation des mouvements et accélérations de l'appareil ; je ne sais pas du tout si l'algo d'Android utilise par exemple le gyroscope, l'accéléromètre ou la boussole pour fournir une donnée de correction ou d'estimation supplémentaire)</div>

<div><br></div><div>Ce serait bien que les traces GPX donnent non seulement des positions mais aussi un rayon d'incertitude sur chaque point. Cela permettrait d'éviter des données trop précises ou éviterait que les utilisateurs modifient des positions plus précises déjà estimées.</div>

<div><br></div><div>OSM malheureusement ne permet pas non plus d'enregistrer avec chaque noeud un rayon d'incertitude (qui serait aussi utile pour ceux qui utilisent une imagerie dont la précision est également limitée): pour placer un autre noeud voisin mais détaché, on doit pouvoir librement déplacer ce noeud dans ce rayon (en augmentant aussi le rayon d'incertitude de la longueur de ce déplacement) :</div>

<div><br></div><div>Si on avait ça on pourrait faire des calculs de position moyenne selon le nombre d'échantillons disponibles quand on fusionne des noeuds ou des chemins (avec un éventuel poids statistique qui diminue très lentement avec le temps pour tenir compte des aménagements par exemple des carrefours et rond-points, limitations de voies, nouveaux sens interdits...). Le dernier relevé téléchargé pour un endroit donné n'est pas nécessairement le plus précis.</div>

<div><br></div></div></div></div>