PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → différence  géoSuiviActive  / GPSRécupèrePosition
différence géoSuiviActive / GPSRécupèrePosition
Débuté par 01stef, 02 sep. 2016 08:58 - 6 réponses
Posté le 02 septembre 2016 - 08:58
bonjour,

j'essaye de comprendre la différence de fonctionnement pour les 2 instructions suivantes :
géoSuiviActive / GPSRécupèrePosition

pour GPSRécupèrePosition, l'instruction utilise les informations de positionnement disponible via le mobile
selon les directives : GPSInitParamètre(gpsAuto, gpsPrécisionElevée + gpsVitesse + gpsEnergieMoyenne)

mais pour géoSuiviActive , quel service utilise cette instruction ?
un service en arrière sous Android fourni par Google ??? (peut etre le service de localisation Google , menu : historique des positions disponible dans les paramètres de l OS)
la doc en ligne est un peu légère pour les instruction géo...
Apparemment la précision de géolocalisation de la fonction géoSuiviActive est basse,
avez vous un retour d expérience à ce sujet ?

merci
stef
Membre enregistré
637 messages
Popularité : +36 (36 votes)
Posté le 02 septembre 2016 - 11:28
Bonjour,

Oui. Je suis justement en train de tester depuis plusieurs jours la précision des mesures avec des fonctions Géo. Je mène cette étude sur 4 périphériques différents en parrallèle. Une TAB3 android, un S4 android, un S6 android et un iphone 6.

En statique, la précision n'est pas très bonne. La valeur de précision retournée est systématiquement 2000 mètres sur android ?! mais la réalité est tout autre. Parfois mes contrôles sur la carte me donnent 200m, parfois plusieurs kms... mais la valeur .précision renvoyée elle, ne semble jamais changer.

Sur l'iPhone la précision retournée semble plus précise. J'ai du 3767m, 4709m, 65m,.. et cela semble être conforme à ce que je vérifie sur la carte.

Moralité, et c'est clairement indiqué dans la doc, la précision n'est pas au rendez-vous MAIS c'est normal et rien à redire là-dessus.

Toujours en statique (les périphériques ne bougent pas d'un centimètre), android me renvoit des données régulièrement (dans un créneau allant de 10mn à 30mn). Pourquoi ? Parce que sans bouger, la longitude change alternativement d'un valeur X à une valeur Y (toujours les mêmes valeurs alternatives !). La latitude elle, ne change pas. Bizarre !!!

Je me retrouve donc avec plusieurs centaines de mesures chaque jour sur android.

Pour iPhone, et toujours en statique, 3 ou 4 mesures par jour au plus. Les Long/Lat ne change pas MAIS c'est la précision qui change. Donc, apparemment iOS déclenche aussi sur un changement de précision. Ce qui est une bonne chose...


Par contre, lors des déplacements c'est totalement inexploitable et aussi très différent entre iOS et Android.

Sur un déplacement de 20 kms, android me renvoit tout au plus une dizaine de mesures. Toutes exactes, avec un degré de précision toujours aussi peu précis mais c'est toujours normal. Parfois, très précis mais rare.
Toutefois, le nombre de mesures globales sur un déplacement de 20kms et si insuffisant qu'il n'est que difficilement possible de retracer l'intinéraire sur une carte !

Sur le même trajet avec iPhone, alors là, seulement 2 valeurs renvoyées ! Sur 20 kms quand même !!!

Voila globalement. A noter que cela dépend probablement du réseau GSM implanté autour de soi et que les résultats pourraient être très différents en fonction de là où on se trouve.

Je précise que mes équipements sont connectés tous en même temps sur le même opérateur. J'utilise le même boitier 3G que j'emmène en nomade. Ainsi je suis sûr qu'il n'y peut pas y avoir de différences relatives au fait que les périphériques pourrraient être connectés sur des relais GSM différents.

Voila pour ma première étude. Il serait donc intéressant de croiser les expériences...

Attention, la doc dit bien :

Le suivi est un suivi de faible précision. Les événements sont envoyés uniquement en cas de changements significatifs de la position et à des intervalles supérieurs à plusieurs minutes. A titre indicatif, les conditions d'envoi par plateforme sont les suivantes :

iPhone/iPad Les événements de changement de position ne sont pas envoyés si le déplacement est en dessous de 500 mètres ou si l’intervalle de temps est inférieur à 5 minutes (décembre 2014).

Android Les événements de changement de position sont envoyés à un intervalle approximatif allant de 30 secondes à 10 minutes selon la vitesse de déplacement.

Cdlt - Eric.

--
Eric DELATTRE
http://www.yoosite.fr
Message modifié, 02 septembre 2016 - 11:32
Posté le 05 septembre 2016 - 08:19
Merci Eric
pour ce retour d expérience assez complet

cordialement
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 25 octobre 2016 - 14:08
Bonjour Eric,

Je réalise aussi des essais sur un smartphone Android Motorola 4G avec géoSuiviActive et tes valeurs me surprennent, certainement parce que tes périphériques sont connectés à un boitier et non indépendants !

Si le smartphone est statique (ne bouge pas) j'ai en effet un relevé toutes les 10 minutes avec par exemple sur 4 relevés une même latitude et une même longitude.

j'ai fait un déplacement estimé à 15-20 km en et hors agglomération. La précision moyenne des relevés (..Précision) oscille entre 18 et 22 mètres avec une fois 85mètre, une fois 409m (mais le GPS est juste), une fois 67m et les relevés GPS sont exacts par positionnement sur une carte. Sur ce déplacement d'environ 40 minutes (avec deux arrêts) j'ai obtenu 17 relevés GPS.

Il est indiqué dans la doc :
" Les événements de changement de position sont envoyés à un intervalle approximatif allant de 30 secondes à 10 minutes selon la vitesse de déplacement."
dans mon cas je n'ai aucun relevé espacé de plus de 10 minutes même en statique (lorsque le smartphone ne bouge pas)

Ce que je trouve simplement bizarre, c'est que le premier relevé démarre après 10 minutes de route alors que mon véhicule était en déplacement pendant ces 10 minutes. Après, la fréquence est plus élevée, souvent 2 relevés par minute.

Autre point positif : les relevés se poursuivent en arrière plan après un finprogramme()

Si tu veux tester des dispositifs non connectés en 3G ou 4G, il est possible d'écrire à chaque procédure définie par géoSuiviProcédure() les informations GPS dans un fichier par fEcritLigne
et une fois arrivé, de s'envoyer le contenu de ce fichier par Email en se construisant une chaine avec des boucles fLitLigne(), chaine qui devient le message du Mail.

A mon avis, les mesures sont toujours précises et prennent certainement les relevés satellites et peut-être aussi par positionnement de réseaux et d'antennes, mais c'est impossible à mesurer.

Le mode low energy est très discret puisque rien ne permet de le matérialiser. La consommation de la batterie ne s'affiche même pas pour cette application. Je vais la tester sur une durée plus longue de 24 heures pour voir si cette appli impacte la batterie.

il serait intéressant de trouver une documentation sur la notion de " selon la vitesse de déplacement."

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 30 novembre 2016 - 10:09
Bonjour,

avec un retour d'expérience plus long sur ANDROID, je suis très sceptique sur le mode GPS low-energy.

Par exemple lors de déplacement, aucun relevé pendant 90 minutes puis un relevé avec une précision indiquée de 1500 mètres mesurée de 435 mètres. Je ne pense pas qu'il s'agisse d'un problème Windev mais Android ne délivre pas les relevés assez souvent ou est-ce lié au matériel?
En plus ils sont inutilisables.

J'abandonne ce mode...

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
169 messages
Popularité : +2 (4 votes)
Posté le 24 mai 2017 - 12:40
Bonjour,

je suis tombé sur ce topic et je souhaite avoir un conseil:

Je souhaite, lors du clic sur un bouton, récupérer la position toutes les x secondes (5 ou 10 secondes).

Le but est de suivre en temps réel le déplacement du mobile sur une map.

Quelle serait la manière la + optimisée de mettre en place le système, et surtout, QUELLES FONCTIONS utiliser?

Merci d'avance pour les retours !
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 13 octobre 2017 - 14:35
Bonjour Christopher Gr. !
dans votre cas il faut utiliser GPSSuitDéplacement(position, delai)

http://doc.pcsoft.fr/?1000019206&lang=fr-FR&productversion=06F220037g