[OSM-talk-fr] GPS sans data?
Philippe Verdy
verdy_p at wanadoo.fr
Mar 24 Sep 01:48:24 UTC 2013
Le 23 septembre 2013 17:16, Shohreh <codecomplete at free.fr> a écrit :
> Bonjour
>
> Je n'ai pas encore eu l'occasion de tester et aimerais l'avis de
> spécialistes du GPS (smartphone Android).
>
> Les éléments suivants sont-ils vrais?
>
> 1. Pour accélérer la géolocalisation, le GPS peut utiliser à la fois les
> antennes GSM, utiliser le canal data pour télécharger des données AGPS, et
> récupérer la liste des hotspots wifi si le mode est activé
>
Tout à fait vrai. Au moins sur les smartphones Samsung (mais je pense que
le code de support fait partie en fait d'Android).
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).
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.
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).
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).
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).
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.
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.
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).
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).
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)
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.
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) :
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.
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20130924/d2de4621/attachment.htm>
Plus d'informations sur la liste de diffusion Talk-fr