activityworkshop / GpsPrune

GpsPrune is a map-based application for viewing, editing and converting coordinate data from GPS systems.
GNU General Public License v2.0
71 stars 21 forks source link

Bug: Photo correlation does not connect all photos #80

Closed activityworkshop closed 1 year ago

activityworkshop commented 1 year ago

Version 23 unfortunately brings a regression to the photo correlation process. Theoretically it could also affect the audio correlation too, but it's very unlikely to be an issue there.

Thanks very much to the user who told me about this issue - the contact was by email so out of respect I won't share the details, but your help is very much appreciated!

Symptom

An automatic photo correlation is done, and the checkboxes showing which photos can be correlated indicate correctly what should be done. However on completion, some photos may be unconnected by the operation when they could/should be.

Conditions

Two or more of the photos must have the same timestamp (to the nearest second), and during the correlation process a point is found which corresponds exactly to both photo timestamps. Also, this point must not already have a photo connected to it.

Explanation

Because the timestamps of both photos correspond exactly to a point, no interpolation is done and no new points are created. During the preparation step, GpsPrune sees that both photos can be simply assigned to an existing point (which currently doesn't have a photo), but doesn't see that multiple photos are going to be assigned to the same point. During the execution step the point cannot have two photos assigned to it, so one of the photos remains unconnected.

The separation between preparation step and execution step is new with version 23, so the error is new. With the previous version 22.2, this would have been properly handled (the first photo would have been connected, and then the point duplicated for the second photo).

Workarounds

activityworkshop commented 1 year ago

Fixed with 23.1