Get GPS position for the exact time interval

I'm trying to make a gps post as accurate as possible in different interval ranges, I have few external gps, 10hz, 5hz and 1hz

    LocationManager locationManager = (LocationManager) 
car.this.getSystemService(car.this.LOCATION_SERVICE);

    LocationListener locationListener = new LocationListener() {
                public void onLocationChanged(Location location) {
                    // Called when a new location is found

                }
                public void onStatusChanged(String provider, int status, Bundle extras) {}

                public void onProviderEnabled(String provider) {}

                public void onProviderDisabled(String provider) {}
            };

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, 
locationListener);

Thus, I get a log update like when driving at a constant speed

10hz GPS

81ms  new position
79ms  new position
88ms  new position
96ms  new position
196ms new positon
60ms  new positon
256ms new position
70ms  new position

5 hz GPS

187ms new...
189ms ..
275ms ..
140ms ..
180ms ..
220ms ..

So, I think that onStatusChanged is initially faster than the nominal frequency, but then it saturates and causes big jumps.

If I use a timer, it works well, and I get a position every 100 ms (200 or 1000), but the timer goes out about 100 ms every 10 seconds.

Edit: to clarify, I want to get a position in each exact (or about) 100 ms, 200 ms or 1000 ms

** UPDATE 12-04-13

location.getTime() , , / 10 .

HTC Sensation Z710e 4.0.3 Internal GPS 1HZ

Average Accuracy: 12.1m       
Average intertval: 1186ms
Min: 98ms
Max: 2621ms


HTC Desire HD 4.0.4 Internal GPS 1HZ

Average Accuracy: 10.6m        
Average intertval: 1211ms
Min: 144ms
Max: 2588ms


ASUS Transformer TF101 4.0.4 Internal GPS 1HZ

Average Accuracy: 18.15m       
Average intertval: 1000MS
Min: 1000ms
Max: 1000ms


SAMSUNG NOTE II GT-N7100 4.1.2 Internal GPS 1HZ (Glonass)

Average Accuracy: 6.8m          
Average intertval: 1000MS
Min: 1000ms
Max: 1001ms


SAMSUNG, HTC OR ASUS  with external GPS 5HZ

Average Accuracy: 2.2m  
Average intertval: 200MS
Min: 200ms
Max: 200ms


SAMSUNG, HTC OR ASUS  with external GPS 10HZ (Glonass)

Average Accuracy: 1.6m    
Average intertval: 100MS
Min: 100ms
Max: 100ms
0
2

(), , , ​​GPS, 1000 (1/hz).

Gps- , 1000 1 . location.getTime() .

+2

, . , , , .

0

Source: https://habr.com/ru/post/1598803/


All Articles