Indexing issues - GPS & Timezone #1367
Replies: 2 comments 8 replies
-
Here's an example of what I am seeing |
Beta Was this translation helpful? Give feedback.
-
Sorry for the delay. I tested today and I can't see how the data I'm writing is incorrect. Here's two screenshots from a tool called WICExplorer, it just shows the raw data. In this screen shot you can see data written by a iPhone X, it's populated the GPS created data, which is the four values #1-4. #2 & #4 store the numeric values which are written as three urationals: In this screenshot you can see the same data is preserved. But #22 and #24 (GPS shown data) are now set, also with three urationals. Admittedly the format is a little different, but they are valid. So maybe PhotoPrism is expecting a specific format for the denominator? I checked this file using a few online viewers and they all pick up the data correctly. My guess is in gps.go, func GpsToLatLng(s string) (lat, lng float32) Minutes is expected to be a whole number but in my files it's a fraction. I don't remember why I formatted it this way. My code has an override that allows the seconds to be a decimal of the minutes and that's how I've been doing it for 10 years... So the three URationals can either be stored as: { 47 / 1 , 39 / 1 , 235 / 100 } or { 47 / 1 , 39392 / 1000 (39.392), 0 / 0 } <- Where 0.392 is 23.5/60 I'm writing a parser to touch my files and format them the same way as an iPhone, so I probably won't hit this bug again, but it might effect others. Ben |
Beta Was this translation helpful? Give feedback.
-
Hi All,
So I am new to PhotoPrism and playing around with the import. I copied over some test files and ran the index command. I got a bunch of errors that the GPS data couldn't be read, and when I look at the photo in the UX it shows them in UTC time.
How do I go about debugging the issues?
All the GPS was written using a library I wrote years ago (https://github.com/DustyTools/fotofly), I am confident the data is written correctly. I did extensive testing using a few different apps...
I am also unclear how the timezone is detected? When I was writing that library there was no standard way to handle timezones. I wrote the data in a proprietary IPTC property, is there now a standard way to store this data? I can migrate it over....
Thanks
Ben
Beta Was this translation helpful? Give feedback.
All reactions