BasicAirData / GPSLogger

A GPS logger for Android mobile devices
http://www.basicairdata.eu/projects/android/android-gps-logger/
GNU General Public License v3.0
403 stars 126 forks source link

Feature request: Record a single trackpoint #218

Open m-fessler opened 6 months ago

m-fessler commented 6 months ago

Hello,

first of all, thank you for the great app!

If you allow me a few ideas or suggestions: An option to log directly to a microSD card would be practical, as it would reduce write access to the internal memory.

It would be nice, if there was a "single point mode" where a track would only be created using individual manually created points. Or is this not possible for similar reasons such as an update interval longer than 3s (in order to return a good accuracy)?

It would be great, if there was a filter option where some could specify that track points with an accuracy greater than x meters would be discarded.

Thanks and greetings, Martin

GrazianoCapelli commented 6 months ago

Hello, The user's feedback are a fundamental base to develop a good open source application. Thus, first of all, thanks for your time.

An option to log directly to a microSD card would be practical, as it would reduce write access to the internal memory.

GPS Logger records every single point into a database, that is located into the private app's folder. This way it is possible to backup the data using Google services. Unfortunately the app data must be saved into the device memory (this is an Android restriction). No KML / GPX / TXT files are created during the recording. The KML / GPX / TXT files are created on-the-fly when the user needs it, and using the EXPORT feature it is possible also to save them directly into the SD Card. As information, we already opened the issue #32 that is related to the use of SD Card.

It would be nice, if there was a "single point mode" where a track would only be created using individual manually created points. Or is this not possible for similar reasons such as an update interval longer than 3s (in order to return a good accuracy)?

The single point mode could be a good feature to implement, if you agree we could use this issue to collect ideas / suggestions / mock-ups on how to implement the feature (logic and user interface) and to deepen and track a possible future implementation.

It would be great, if there was a filter option where some could specify that track points with an accuracy greater than x meters would be discarded.

This is a duplicated topic, we already opened the issue #57 to discuss it.

GrazianoCapelli commented 1 month ago

We would to implement the recording of a single trackpoint using a long click of the Record button. The feature should work like the Annotation button, that adds a quick annotation without description with a long click: the button would become red, and it would return grey as soon as the trackpoint has been recorded. The trackpoint should record the next fix obtained, independently from the active filters.

We could use the long click of the button also when the app is recording to force the recording of a single trackpoint: it would be useful when the user wants to add additional trackpoints to a filtered recording.

maiHydrogen commented 1 month ago

hi @GrazianoCapelli !! As far as i'm understanding this we are trying to add an additional functionality to the track button which usually track the path you travel when u press it once and stops when you press it again and now we are trying record some points on the path individually without disturbing the actual tracking process just simply holding the track button. please correct me if i'm wrong and if i'm getting it right can i work on this one?

GrazianoCapelli commented 1 month ago

Hi @maiHydrogen ! Yes, we are thinking exactly the feature you described. The long press should "force" the recording of one (or more?) trackpoint, and it should not depend on (and neither change) the status of the Recording button. When a trackpoint is saved the app should vibrate (like the Annotation button already do) to inform the user that the trackpoint has been recorded. At this point we could choose if we would like to keep recording until the user releases the button or not... I think that a single point should be fine, but we can discuss and find the best solution.

I assign the issue to you, feel free to fork the develop branch and work on it!

maiHydrogen commented 1 month ago

Sure I'll try my best to help on it

maiHydrogen commented 3 weeks ago

Hey @GrazianoCapelli !! sorry being this late but actually i'm a flutter developer and this was my first time working on a native java project so it took me a lot of time to sync in with the code (java) and after that i started working on the issue then i realised that what we are trying to implement is the existing functionality which is provided by annotate button already i.e. marking the specific point on the track which user wish ,now i'm confused due to the same. instead of this i think we should add the option of recording another track between two points which lies on the track we are already recording i.e. a subtrack of track. so can you please clarify this to me ??

GrazianoCapelli commented 3 weeks ago

@maiHydrogen sure:

1) A long click of Annotation button adds a quick annotation (placemark) without label. 2) A long click on Record/pause button should add a trackpoint to the track. If the user is recording it should force the recording of the current trackpoint.

We are speaking of different tables on DB: 1) TABLE_PLACEMARKS 2) TABLE_LOCATIONS

maiHydrogen commented 3 weeks ago

ok and for this we have to add another part in UI to display this trackpoint too in the track and tracklist

GrazianoCapelli commented 3 weeks ago

No, we add a standard trackpoint to the current track. No new UI elements. We should simply add the current point to the track (if not already added) and increment the number of the trackpoints above the Record button.

GrazianoCapelli commented 6 days ago

Here a short task list, to keep track of the implementation status: