When reading an image taken with an iPhone; I'm attempting to read the GPS information stored in its EXIF profile.
Upon reading the profile, I find an array of 3 doubles. I know that each value represents the degrees, minutes and seconds - which I can then convert into the familiar decimal coordinates.
However, all of the images I've tested on return an array containing 'infinite' values for one or more of the doubles (ie double.IsInfinity(gpsLatitude[0]) == true). Viewing the propertys sheet in windows explorer reveals the true values, which if I plot on a map, do give roughly accurate locations.
The test image attached has issues with the seconds value. The underlying EXIF value is of a Rational datatype. I know ExifReader.cpp will convert this type to a double in ToURational() but I can't see what might be wrong.
Using Magick.NET-Q16-x64 7.0.0.8 on a x64 system.
Any thoughts?
Upon reading the profile, I find an array of 3 doubles. I know that each value represents the degrees, minutes and seconds - which I can then convert into the familiar decimal coordinates.
However, all of the images I've tested on return an array containing 'infinite' values for one or more of the doubles (ie double.IsInfinity(gpsLatitude[0]) == true). Viewing the propertys sheet in windows explorer reveals the true values, which if I plot on a map, do give roughly accurate locations.
The test image attached has issues with the seconds value. The underlying EXIF value is of a Rational datatype. I know ExifReader.cpp will convert this type to a double in ToURational() but I can't see what might be wrong.
Using Magick.NET-Q16-x64 7.0.0.8 on a x64 system.
Any thoughts?