kylecorry31 / Trail-Sense

An Android app that uses your phone's sensors to assist with wilderness treks or survival situations.
https://kylecorry.com/Trail-Sense/
MIT License
1.23k stars 76 forks source link

Add more coordinate grid formats #785

Open kylecorry31 opened 3 years ago

kylecorry31 commented 3 years ago

Support multiple coordinate formats

aw-bib commented 3 years ago

Maybe the pointers to the OS grid (as one of the gird formats) come in handy before they get lost (#788)

Would come in very handy in the UK.

Lee-Carre commented 2 years ago

coordinate formats used for maps

Not just maps, but also those which are clearer for human-to-human communication (such as over a low-fi voice channel, and/or have denser encoding to require fewer characters be read(-back) for the same precision of location compared to purely-numerical types (I forget the name of the very short-string one I'm thinking of)).

Plus, ones that should be promoted (because common!=quality).

For clarity, I am absolutely not meaning the proprietary horror that is ///what.three.words {shudders}; libre-only.

As for maps specifically; include clues as to which format a user might want. Why? Well, I have a user-story for you.

Visited Australia (Victoria, near Melbourne, to see family) for a month back in 2010. Took a traditional GPS(-only) receiver (Garmin eTrex; the older grey-body ones, with the monochrome display) with me. Rather limited compared to what a modern nano-computer with various apps can do now, but it's what I had at the time. My thinking was that I could at least save the coördinates of the various places we visited, in order to easily find them on a map when back home. The logging & re-finding coördinates part was successful.

One day, we were doing some 4×4 adventuring, and become less-than-certain of where we were (to decide which route to take). So, instead of hopeful-gazing at the map like others, I fetched GPS receiver to get the coördinates.

The trouble was, the paper map wasn't really designed for using regular latitude & longitude. It expected you to use whatever grid-system is common in Australia. None of us knew (and the map itself was none too helpful) which grid system that was. GPS receiver had many options for output; I just didn't know which to choose (and didn't feel like brute-forcing it, at the time; non-tech folks wouldn't have been receptive to that tedium).

If I recall, I think I (much) later determined that it might have been a 4-letter one beginning with M (MGRS(?); I'd have to re-check).

At the time, had the UI given hints as to which were likely to be used in Aus, then there may have only been a few possibilities to try.

A usability suggestion given what modern software is capable of; by default, list only the notations which are applicable to where the user currently is (or where on the map is being displayed, or where the beacon is; you get the idea: make it context-sensitive), with the possibility to show-all anyway (to allow for weird edge-case usage).

kylecorry31 commented 2 years ago

Good idea, and thank you for the background! Here's a new issue to track that: https://github.com/kylecorry31/Trail-Sense/issues/1087

I've also edited my previous comment to remove the word maps as I didn't intend this issue to just map coordinate formats.

Lee-Carre commented 2 years ago

have denser encoding to require fewer characters be read(-back) for the same precision of location compared to purely-numerical types (I forget the name of the very short-string one I'm thinking of)

Open Location Code.

Lee-Carre commented 2 years ago

General references:

Specific systems:

kylecorry31 commented 2 years ago

@Lee-Carre I had originally excluded Open Location Codes because of their lack of use in hiking (https://github.com/kylecorry31/Trail-Sense/issues/59#issuecomment-871260227), but hadn't considered the ability to read back the code - I'll give it another review with that in mind

Lee-Carre commented 2 years ago

Systems common (ubiquitous?) in China (because government department says so):

Lee-Carre commented 2 years ago

OSGB Grid Reference to OSM Map

Junkyard5031 commented 1 year ago

Open Location codes AKA Plus Codes support would be cool. It's a system created by google but it has an open license.

Here is one: 9C3XGV5P+V7

They are short, simple to read thanks to the a limited selection of letters (only 20 alphanumeric characters), easy to write down or even say verbally to others. They are also supported by most navigation smartphone apps like OsmAnd, Organic Maps and Google Maps.

Seems like the perfect coordinate system for offline use and for this app.

https://plus.codes/ https://github.com/google/open-location-code https://maps.google.com/pluscodes/support/ https://en.wikipedia.org/wiki/Open_Location_Code

EDIT: and just after posting this i notice it was already suggested..

kylecorry31 commented 1 year ago

@Junkyard5031 thank you for the suggestion. I believe I also have some more info about that in one of the new feature idea issues, but it is nice to have that all consolidated here for easy reference, thank you!

My only concern about that is the code displayed in Google Maps will be incompatible because it uses the city name shortened format - but the code itself is still useful outside of that now that it has picked up a bit more popularity.

kylecorry31 commented 1 year ago

It was also recommended to look into sometime like What 3 Words, or some non-proprietary version of that.

aw-bib commented 1 year ago

My only concern about that is the code displayed in Google Maps will be incompatible because it uses the city name shortened format - but the code itself is still useful outside of that now that it has picked up a bit more popularity.

I may be wrong but at least on OSM And this Google-Stuff only works if I have an online connection. So I assume they need some of G web services to resolve their proprietary codes into real coordinates.

kylecorry31 commented 1 year ago

My only concern about that is the code displayed in Google Maps will be incompatible because it uses the city name shortened format - but the code itself is still useful outside of that now that it has picked up a bit more popularity.

I may be wrong but at least on OSM And this Google-Stuff only works if I have an online connection. So I assume they need some of G web services to resolve their proprietary codes into real coordinates.

If you use the shorted code (which contains the city name), that requires an internet connection. If you use the longer (less readable) code, it does not require an Internet connection. So the version that I would implement in Trail Sense is definitely less human readable than the one displayed in Google Maps and the code from Google Maps would be incompatible with Trail Sense unfortunately (but it works the other way around - Google Maps could use the code from Trail Sense).