firmware icon indicating copy to clipboard operation
firmware copied to clipboard

Location Ambiguity

Open Ferretdog opened this issue 1 year ago • 6 comments

Coming from using APRS in the ham radio world, I often enable Position Ambiguity which rounds off the last x digits of my lat/long. This gives people a rough idea where I am, but not an exact location, which is sufficient for many purposes. I might be happy to have people know roughly where I live without knowing the exact house, or knowing what town I'm in, but not much more than that.

  • I suggest a position ambiguity be added to the location settings, with a user selectable choice of digits of the decimal lat\long from 0 to 5 (or more), eg. x., x.y, x.yy, x.yyy, etc.

For example a decimal lat/long to 4 or more decimal places locates a specific house. -37.8929, 145.1524

But if I drop it back to 3 decimal places I'm still pretty close without disclosing which house I'm in, 2 places is quite adequate or even 1 place is plenty for what part of town or what suburb you're in which is often enough on a shared channel.

Ferretdog avatar Jan 12 '24 23:01 Ferretdog

I like this, but it's also probably best changed in the firmware repo and then implemented in the various UIs

crypto-smoke avatar Jan 13 '24 15:01 crypto-smoke

Are you not able to reduce location accuracy in android settings? This is an option for any app using location on iOS.

garthvh avatar Jan 13 '24 18:01 garthvh

Are you not able to reduce location accuracy in android settings? This is an option for any app using location on iOS.

Not reliably. In some areas it will still be very accurate, depending on local cell and wifi networks.

But you're assuming I'm not using my phone gps for anything else, like navigation.

This function is built in to APRS equipped hand held ham radios as I've described it, with ambiguity based on lat.long decimal places, and it is very effective. It's lso used in android apps which interact with APRS radios.

Screenshot_20240114-052507

Ferretdog avatar Jan 13 '24 18:01 Ferretdog

This issue has been mentioned on Meshtastic. There might be relevant details there:

https://meshtastic.discourse.group/t/adjustable-gps-precision-for-privacy/9513/3

geeksville avatar Feb 04 '24 03:02 geeksville

I've started work on this. Currently using a binary bitmask, so we just set the bits of precision.

jp-bennett avatar Feb 11 '24 18:02 jp-bennett

PRthis feature is at https://github.com/meshtastic/firmware/pull/3248, and support in the Python app is at https://github.com/meshtastic/python/pull/487 If anyone is interested in these features, and wants to test, I'd be very interested to hear how that goes. Full precision for a channel is 32, and at 0 location data is fully disabled for the given channel.

jp-bennett avatar Feb 19 '24 18:02 jp-bennett

Will we see this in the web and Android app? - Perhaps for security purposes ambiguity over position should be the default with the option to increase accuracy.

dougle03 avatar Feb 28 '24 20:02 dougle03

@dougle03 It's already in the iOS and Android app source code, and will roll out with the next release of both. It's not in the web app yet, but I expect that to happen before too long.

jp-bennett avatar Feb 28 '24 20:02 jp-bennett

Is this only for cellular device GPS forwarding or also for the hardware GPS on a node? I'm hoping it's for both so we can anonymize a little bit but still show the general location.

Firworksyt avatar Mar 11 '24 07:03 Firworksyt

@Firworksyt it's both now. We've added the code in the firmware routine that generates location packets. So regardless of the source, the location gets protected.

jp-bennett avatar Mar 11 '24 12:03 jp-bennett