Android Question GPS - FusedLocationProvider library accuracy error (always 3.9m)

irda

Member
Licensed User
Longtime User
Greetings to all.

I am developing an application that requires maximum gps accuracy so I display this value on the screen. My problem is the following: when starting the gps the precision is improving until it reaches the value 3.9 m and from there it does not go down. The coordinate values are correct since I verify them simultaneously with another program, but the accuracy is not updated correctly.

In the image you can see that the gps has an accuracy of 1 cm but it is not reflected in the library value.

WhatsApp Image 2024-06-11 at 09.18.07 (1).jpeg
Occasionally and without knowing the reason, the two programs do give the same accuracy, but after a few seconds it returns to show an accuracy of 3.9m.
WhatsApp Image 2024-06-11 at 09.18.07.jpeg
I have also tried the FusedLocationProviderGNSS library and it works a little better, but after a while it gives the same error again.

I have tried with different devices and I use api33.

Is there any way to solve this error? What is the best way to have a position with maximum precision (to draw it on a map)?

Thanks to all.
 

irda

Member
Licensed User
Longtime User
I don't know what you mean by "the two programs" and what you are comparing the accuracy to but for a consumer grade GPS an absolute accuracy of about 4m is to be expected.
Hello, I try to explain myself better. I use the application "GNSSMaster" to visualize and correct the accuracy of an external gps, it is the overlay application of the first image where I can verify that we have an accuracy of 1 cm. My application is the one with the black background where I can verify that the gps coordinates are correct but where the accuracy normally indicates 3.9m.



Sometimes the same accuracy appears in my application as in GNSSMaster, but for a short time. So I deduce that I really have an accuracy of 1cm even if the library indicates otherwise.



Thank you.
 
Upvote 0

agraham

Expert
Licensed User
Longtime User
If I understand correctly you are using GNSSMaster with an external GNNS receiver to obtain differentially corrected GNNS locations. You can't compare these to the uncorrected GNNS locations provided by the internal phone GNNS to the FusedLocationProvider. As I said above an absolute accuracy of 4m is pretty good for an uncorrected consumer grade GPS. The location provided by the internal GPS is also bound to wander due to atmospheric conditions and noise in the received GNNS signals so may some times coincide with the corrected location from GNSSMaster but will usually not.
 
Upvote 0

irda

Member
Licensed User
Longtime User
Yes, I use the program to obtain the differential correction and at the same time to generate a "mock location" so my program, as well as gnssmaster have the same locations and accuracy. As I indicate, it is the precision value returned by the internal gps library which is always 3.9 m, it doesn't go down from there.

We have been testing variations and updates of gps and gnns libraries. For example, if I use your GNSS library the accuracy is correct and everything works correctly except cvmap or maputils since our intention is to display and draw a route on a map.

We don't see a way to solve the problem.
 
Upvote 0

chej

Member
Good afternoon.
I made a program that shows the position of the cell phone obtained with the GPS functions in an image and it works perfectly, taking into account the precision of the image. I ask you how precise is the map where it will show the route, to want to obtain a precision of less than 4 meters?

Note: I do not know how to write in English, this text was made with Google translation
 
Upvote 0
Top