Thanks @1s4, good job diagnosing this issue. Many Linux distributions use geoclue to provide location services, which defaults to MLS.
MLS is currently in maintenance mode. Mozilla is keeping the service running and secure, but not adding new features.
So I’m wondering, why none of the 50 access points my laptop can see, are in the database to get my location accurate within at least 100 meters?
At some level, your laptop makes a request to the Geolocation service:
If two or more WiFi access points are in the database, then you can get a WiFi-based results with as close as 100 meter accuracy:
If the WiFi access points are not in the database, or you make a request without any, then an IP-based lookup is used, with accuracy measured in kilometers. This will be wildly inaccurate if you use a VPN, which will use the IP of the provider’s datacenter. You can get an idea of the accuracy of that request by trying MaxMind’s service:
How can I browse the database to check accuracy/completeness of my local area?
MLS does not publish the WiFi database. You can use the MLS map to see the observations in your area, which might include some WiFi access points. The “Find My Location” feature uses your browser’s geolocation feature, which may or may not use MLS. For example, I’m on Firefox on macOS, so geolocation uses the Apple location service.
How do I submit new data to fill in the blanks?
Mozilla shut down our stumbler, and I’m not familiar with alternate options. The links here may get you started:
At a low level, there is the Geosubmit API:
I’m sorry I don’t have easy answers, but I hope this gives you some context on why Gnome’s automatic timezone selector was inaccurate.