mozilla / ichnaea

Mozilla Ichnaea
http://location.services.mozilla.com
Apache License 2.0
574 stars 139 forks source link

Client: Work on MLS data jumping huge distances? #1950

Closed kop316 closed 4 months ago

kop316 commented 1 year ago

Hello!

I was working with the Geoclue folks to help improve the MLS database. I used to have an issue where MLS reported that my house was in a city (City B) about 500 km away (with 10 accuracy). I was able to submit a correction, but now, I noticed that in my house, MLS will report one side of it in one location (city A, 5000 or 1646.0 accuracy), but if I move ~10 meters to the opposite side, MLS now will report that I am in the wrong city again different city 500 km away (City B with 10 accuracy).

EDIT: I actually just saw it happen there the exact same spot now shows City A (1646 accuracy) then will go to city B (10 accuracy).

All of these MLS queries were with wifi and cell towers on.

In chatting here: https://gitlab.freedesktop.org/geoclue/geoclue/-/merge_requests/156#note_1888666 we were trying to figure out a smarter way to work with this and get the client to not make these huge jumps, and were wondering if you have thoughts.

(I am also trying to submit corrections as well!)

Thank you!

jwhitlock commented 1 year ago

A precise location is determined by correlating the visible WiFi access points with the MLS database. It sounds like one or more of the visible WiFi access points was previously seen in City B, so MLS thinks you are in City B.

The MLS database is updated by taking the "geolocate" request and turning it into a "submit" request by adding a lat/long location via GPS or other means. This will move an access point to a blocked state for about 48 hours, where it no longer contributes to location estimates. If the updated location is consistent, then new results are expected after a few days.

Ideally, the geoclue suite would allow a user to say "my MLS location is wrong", enter in a correct location, and submit for the user. This would allow the user seeing the issue to easily correct it, without having to figure out the details of the submit API.