Bug #2086
GPS Provider sometimes reports stale locations
Status: | Resolved | Start date: | 10/15/2013 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | harlo | % Done: | 0% | |
Category: | - | |||
Target version: | InformaCam - APP Public Beta v2 | |||
Component: |
Description
Check out these pictures from the bus ride to Boston:
http://ec2-54-205-155-217.compute-1.amazonaws.com:8080/submission/a4d9f82df2d62de6a5dd78a5162103e0/
http://ec2-54-205-155-217.compute-1.amazonaws.com:8080/submission/6f270c6abee3f076ae620d3868a3caa6/
They didn't upload so I retried from home and the location displays my apartment rather than I95.
We might want to use "regionLocationData" coordinates for dashboard display, or have a second display for location taken.
History
#1 Updated by harlo over 4 years ago
- Tracker changed from Feature to Bug
- Assignee changed from n8fr8 to harlo
- Priority changed from Normal to Urgent
This is really strange, though. And a VERY big problem.
I'm looking at the J3M for those submissions:
http://icdev.guardianproject.info/media/a4d9f82df2d62de6a5dd78a5162103e0/YptggbrcgABONCBALWTlbfJMcN.json and http://icdev.guardianproject.info/media/6f270c6abee3f076ae620d3868a3caa6/lcSleptBAfAeJcLhsRxGeOhEZY.json
and those are indeed listed as your coordinates, which as you tell us is faulty (I believe you!!!)
But, how is it that, since the location is ONLY written during the intake loop? (Here's the line's of code in core where this happens: https://github.com/guardianproject/InformaCore/blob/master/src/org/witness/informacam/models/j3m/IDCIMDescriptor.java#L90).
Bryan, could you look at the other captures you've taken (in-app) and see what lat/lng they're reporting. Also, could I have a few more eyes on this bug?
#2 Updated by harlo over 4 years ago
- Status changed from New to In Progress
The J3M for one of these photos (http://icdev.guardianproject.info/media/6f270c6abee3f076ae620d3868a3caa6/lcSleptBAfAeJcLhsRxGeOhEZY.json) also reports the same coordinates several times; not just at the time of capture, but throughout the session during which it's polling your location.
This could mean that your location provider was not updating your GPS, and that it's NOT because it's replacing the location when you opened up and annotated the image, but that your location didn't change since before you left the house to get on the bus...
So, let's have another audit of this block of code: https://github.com/guardianproject/InformaCore/blob/master/src/org/witness/informacam/informa/suckers/GeoHiResSucker.java#L89
#3 Updated by harlo over 4 years ago
...The J3M also shows that it did not get a newer GPS coordinate pair until about 5 minutes after capture. These later fixes place you on I-95, as you said.
#4 Updated by harlo over 4 years ago
- Subject changed from Dashboard shows where photo was uploaded, not where it was taken to GPS Provider sometimes reports stale locations
- Priority changed from Urgent to High
some more info:
It appears that in this case, Bryan's device did not have an appropriate GPS fix. A look at the J3M data shows that over the duration of the capture, the last location returned by the API corresponded to his home, and this did not update for about 5 minutes into his capture session. All other info appears to have been captured correctly, though, and this has nothing to do with the dashboard.
I believe this is an edge case, but we'll be looking into the GPS sucker to see if we can obliterate that error. Changing the title of this ticket to reflect this...
#5 Updated by harlo over 4 years ago
this link is worth studying: http://developer.android.com/guide/topics/location/strategies.html#BestEstimate
#6 Updated by n8fr8 over 4 years ago
Seems like this bit of code could cause problems:
criteria.setAccuracy(Criteria.ACCURACY_MEDIUM);
criteria.setPowerRequirement(Criteria.POWER_LOW);
at the very least, we should have these be configurable settings so we can debug in real-time.
#7 Updated by n8fr8 about 4 years ago
- Target version changed from InformaCam - Public Beta v1 to InformaCam - APP Public Beta v2
Moving to beta 2 to dig into more. For now, I am using the Fused sucker by default, and will add a preference for HiRes. We can work on data quality issues once we get this build out.
#8 Updated by n8fr8 over 2 years ago
- Status changed from In Progress to Resolved