Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Select both photo and gpx point #107

Open
chrisgch opened this issue Jul 30, 2024 · 3 comments
Open

[Feature Request] Select both photo and gpx point #107

chrisgch opened this issue Jul 30, 2024 · 3 comments

Comments

@chrisgch
Copy link

On my map I'm loading both gpx tracks (from cycling) and photos taken while doing these tracks (which is a great feature!).

When I click on a dot representing a photo, GpsPrune often loads the nearest gpx point instead of the photo. I then have to zoom in a lot (more than the map would even display) to separate the gpx point and photo point to be able to click on the photo point.

Suggestion:
When clicking on the map, GpxPrune should look both for a gpx point and a photo within the size of the photo point. It has separate sections for the details of the gpx point and the photo, so they could be displayed at the same time without any changes to the layout.

@activityworkshop
Copy link
Owner

I understand what you're asking for, but unfortunately it doesn't quite fit with the way the selection currently works in GpsPrune. This may be subject to change in the future though, as the ability to attach multiple photos to a single point has been requested for some time, and if that is implemented then the whole selection mechanism will need to change anyway. Let me explain how it currently works.

GpsPrune currently has the restriction that a data point can have a maximum of one photo attached to it. So each data point either has a photo or it doesn't. Also, each photo can have a maximum of one data point attached to it, so each photo either has a point or it doesn't.

GpsPrune often loads the nearest gpx point instead of the photo.

I understand what you mean, but just to make sure we're talking about the same things: GpsPrune doesn't have "Gpx points", it just has points. Those points might have been loaded from a gpx file, or might have been created by loading a jpg, but after loading they not different kinds of points, they're all just points. So when clicking on the map, GpsPrune selects the nearest point.

When you select a point, and it has a photo, then that photo is also selected, so you see the details of the point and its photo - everything matches. When you select a photo, and it has a point, then that point is selected too, so everything matches. The point coordinates, point timestamp, map crosshairs, photo name and photo timestamp which are shown on screen all fit together.

When clicking on the map, GpxPrune should look both for a gpx point and a photo within the size of the photo point.

What you're asking for breaks this consistency - with your mechanism (if I understand it correctly) you would see a point with some coordinates, and a photo which has different coordinates, and a label for the photo saying "Connected: yes", so it would appear that the selected point and the displayed photo are connected to each other, but they might not be. Then you'd have the option to "Photo -> Disconnect from point", but it wouldn't be clear whether you want to disconnect the current photo from its point or disconnect the current point from its photo.

Looking for "a photo within the size of the photo point" is also a little problematic, because there may well be more than one point (within a certain tolerance) which has a photo attached to it, so it's not clear which photo you want to be selected. It's less ambiguous if you select the photo's name from the photo list on the left panel. Another technique is to rearrange the photo points to the beginning (or end) of the track and then step through the points individually (with the scroll control or with the keyboard). Note however that the sorting of the photo points might be chronological or might not, depending on how they were loaded or correlated.

Perhaps what you want instead is finer control over which of the points near to where you clicked on the map you actually want to select. Currently GpsPrune just picks the nearest point, but especially if there are identical points in the loaded data this can be unreliable. That's no longer specific to photos. It sounds like you want to have an extra level of control to say that you don't want the nearest point to your click (point 128 without a photo), you want to select exactly point number 237, which is maybe slightly further away from where you clicked. I don't know if there's a way that such a confirmation of point selection could be done without being extremely annoying for me every time I click on the map. Especially when I'm zoomed out, so that many points appear close together, I want to be able to just click somewhere to select a point, without being asked each time exactly which one I want.

Another potential solution would be to leave the selection mechanism as it is (so point 128 is still selected, without a photo), and then you call a separate function "Show nearby photos" which gives a list of all the points near the currently selected point which have a photo attached. These points might be listed a bit like the wikipedia search results, showing the distance from the selected point with the nearest ones at the top, and maybe also showing a photo thumbnail. Then selecting one of these from the list would select both the photo and its point. Of course that's a bit more awkward than what you're asking for, but at the end you'd have the photo you wanted and the associated point shown properly.

@chrisgch
Copy link
Author

chrisgch commented Aug 2, 2024

Thanks for the detailed reply! In my case, the GPX points (recorded by the app Komoot) and the photos (taken with the smartphone camera) are completely separate from each other, so there are never any linked gpx points+photos. However, there are often gpx points with nearly the same position as the photos because the photo was taken while shortly pausing at that position.

Some ideas how you could resolve this:

  1. Add a checkbox to prefer photos when clicking on the map. Of course this would only be applied if the click was within the displayed square of the photo, otherwise it would no longer be possible to select gpx points
    or
  2. Instead of stopping when finding the nearest point, add all points within a certain range to a list. Then show two buttons <- and -> similar to the ones to rotate an image, so the user can switch through all the points/photos in range. The list may be sorted by distance from the clicked point, or photos first
    or
  3. When clicking on the map and multiple points match, show a small square section of the map with 20x or 50x zoom so the points get separated from each other (or just arbitrarily separate them), so the user can make a second click on the one he wanted. The gallery app on Samsung phones does a combination of 2 and 3.

@activityworkshop
Copy link
Owner

OK, so it sounds like we're back to a consistent selection of a single point and if it has a photo then that will be selected too. That's good, I much prefer that to having two different points selected at the same time.

so there are never any linked gpx points+photos.

Again, there are just points. A point may have a name or not, a timestamp or not, an altitude value or not, a photo or not, and an audio clip or not. None of these points are any more "special" than the others in terms of selecting them. So in your case you have some points linked to photos and some other points which are not linked to photos.

Add a checkbox to prefer photos when clicking on the map.

That sounds a little arbitrary to me. If we want to be fair about this, then there should probably also be a checkbox to prefer points with audio clips, or points with names. It's also not so clear how the tolerance should be defined, or what happens when two points are equally far away from the click position.

add all points within a certain range to a list. Then show two buttons

This suggestion at least sounds more general, trying to solve the problem of which point you want to select rather than only being interested in photos and treating them as "special". But it sounds like the kind of awkward distraction I was imagining when I wrote "I want to be able to just click somewhere to select a point, without being asked each time exactly which one I want". I can't see where that list might be shown.

When clicking on the map and multiple points match, show a small square section of the map with 20x or 50x zoom so the points get separated from each other (or just arbitrarily separate them), so the user can make a second click on the one he wanted.

An interesting suggestion, but I'm not sure where this separate zoomed-in view would appear. It shouldn't stop me from just using a single-click though, because I will usually fine-adjust my point selection with Ctrl-left and Ctrl-right afterwards anyway.

A "gallery app" on a mobile phone might offer some useful suggestions, but it's covering quite a different use case than what GpsPrune is trying to do on the desktop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants