[Digikam-devel] GPS coordinate accuracy

Arnd Baecker arnd.baecker at web.de
Mon Nov 27 13:43:22 CET 2006


thanks for looking into this!

On Sun, 26 Nov 2006, Andreas Huggel wrote:
> I've tweaked the exiv2 logic a bit for the upcoming 0.12 release. Since
> the exiv2 output is shown in digikam if I'm not mistaken, here is what
> it is now:
> Consider
>    3.14159292 degrees, which can also be written as
>    3deg 8.4955752' or
>    3deg 8' 29.734512"
> Depending on how the value is encoded in the Exif data (*), exiv2 will
> show 7 decimal places for degrees, 5 for minutes and 3 for seconds,
> i.e.,
>    3.1415929deg (**)
>    3deg 8.49558'
>    3deg 8' 29.735"
> Converting this to distance, the corresponding accuracies of such values
> are (at least):
>    10^-7deg ~ 1.1cm
>    10^-5'   ~ 1.9cm
>    10^-3"   ~ 3.8cm
> i.e., all much lower than the best GPS accuracy you can ever get, so
> there shouldn't be a concern that the numbers shown do not correspond
> to a location determined by GPS accurately enough.

These numbers do indeed sound accurately enough.
However, it seems this is not yet achieved
(current exiv2 svn and digikam svn):

Take any image and use the "Edit geographical coordinates"
to provide a position on the highest zoom level (satellite view,
i.e cars are roughly of the size of the mouse pointer ;-),
which is I think level 19 in google map terms).
Accept these coordinates by "OK".
Then invoke "Edit geographical coordinates" again
and compare the resulting longitude/latitude coordinates.
For example I get:
51.02370459056218, 13.710897266864777
51.0236666667   ,  13.7108333333
So it seems that more digits are lost than expected?

Well, let's have a look where these digits get lost:

Output of `exiv2 -p t`:

Exif.GPSInfo.GPSVersionID                 Byte        4  2 0 0 0
Exif.GPSInfo.GPSLatitudeRef               Ascii       2  North
Exif.GPSInfo.GPSLatitude                  SRational   3  51deg 1.42000'
Exif.GPSInfo.GPSLongitudeRef              Ascii       2  East
Exif.GPSInfo.GPSLongitude                 SRational   3  13deg 42.65000'
Exif.GPSInfo.GPSAltitudeRef               Byte        1  Above sea level
Exif.GPSInfo.GPSAltitude                  SRational   1  0 m
Exif.GPSInfo.GPSMapDatum                  Ascii       7  WGS-84

51.023666666666666666, 13.71083333333333332

Alright, so to me it seems that the
"Edit geographical coordinates" tool does not write
the necessary number of digits.

As a test:
With `exiv2 -p v` one gets:
0x0002 GPSInfo      GPSLatitude          SRational   3  51/1 142/100 0/1
0x0004 GPSInfo      GPSLongitude         SRational   3  13/1 4265/100 0/1

Manual modification:
exiv2 -M "set Exif.GPSInfo.GPSLatitude 51/1 14222/10000 0/1 "  IMG_5356test_manip.JPG
works fine both in digikam display and the "Edit geographical
coordinates" tool.
Only on save not enough digits are used ...

Best Arnd

More information about the Digikam-devel mailing list