Bug 6584 - (int-152304) GPS geotagged pictures truncate precision of GPS reading (0 decimal places)
(int-152304)
: GPS geotagged pictures truncate precision of GPS reading (0 decimal places)
Status: RESOLVED FIXED
Product: Images and Camera
Camera
: 5.0:(20.2010.36-2)
: N900 Linux
: Medium normal with 8 votes (vote)
: 5.0/Community-SSU
Assigned To: unassigned
: camera-bugs
:
:
:
:
  Show dependency tree
 
Reported: 2009-12-04 18:56 UTC by Ian Stirling
Modified: 2011-09-14 22:33 UTC (History)
8 users (show)

See Also:


Attachments
GPS EXIF coords from a Sony camera - held to 5 decimal places (154.11 KB, image/jpeg)
2009-12-08 23:53 UTC, Neil MacLeod
Details
GPS EXIF coords from N900 - held to 0 decimal places (148.89 KB, image/jpeg)
2009-12-08 23:55 UTC, Neil MacLeod
Details
N85 Exif Geotags (124.99 KB, image/pjpeg)
2009-12-09 00:12 UTC, pepitoe
Details
photos are arranged in a grid and sometimes beside the track (84.48 KB, image/jpeg)
2011-02-15 21:21 UTC, MikeCC
Details
original photo with GPS position with truncated arc seconds (702.81 KB, image/jpeg)
2011-02-15 21:23 UTC, MikeCC
Details
showcase with edited arcseconds (here with 2 decimals) (702.81 KB, text/plain)
2011-02-15 21:24 UTC, MikeCC
Details
Confirmation (888.34 KB, image/jpeg)
2011-09-14 22:33 UTC, MikeCC
Details


Note

You need to log in before you can comment on or make changes to this bug.


Description Ian Stirling (reporter) 2009-12-04 18:56:33 UTC
SOFTWARE VERSION:
(Settings > General > About product)

Does not contain version string. Release firmware.

EXACT STEPS LEADING TO PROBLEM: 

1. Take several photos with geotags on a couple of meters apart.
2. Look at the coordinates.
3. They are identical

EXPECTED OUTCOME:

Geotag coordinates should vary as position varies - of course with errors.

ACTUAL OUTCOME:

The images are all positioned on corners of a grid ~30.8m (north-south) - or
some figure a bit less than this east-west (latitude dependant)

REPRODUCIBILITY:
always

EXTRA SOFTWARE INSTALLED:
none

OTHER COMMENTS:

This is seemingly due to the GPS position only being recorded to the nearest
'second', before being converted to decimal.

One way of representing position is degrees, minutes, seconds.
Degrees are whole degrees, minutes are 1/60th of a degree, seconds are 1/60th
of a minute.

http://en.wikipedia.org/wiki/Arcsecond#Cartography

The bugs likely origin is simply that no decimal points after the 'second' are
taken into account.

This bug makes geotagging images closer together than 30m unworkable in many
cases.
Comment 1 Andre Klapper maemo.org 2009-12-08 18:29:23 UTC
Thanks for reporting this.

(In reply to comment #0)
> SOFTWARE VERSION:
> (Settings > General > About product)
> Does not contain version string. Release firmware.

Uh? That should not happen. Where did you buy this?

I could imagine that this could become a WONTFIX, hence for the sake of having
arguments for discussing with developers I'm asking for the actual usecases of
this request: What are the reasons you need such exact data?
Comment 2 Neil MacLeod maemo.org 2009-12-08 19:19:26 UTC
Could this just be a display issue on the device? Are the GPS coordinates being
stored accurately in the EXIF fields of the photos, or are they being truncated
there also?
Comment 3 Lucas Maneos 2009-12-08 19:57:27 UTC
In all photos I've taken with the N900 the coordinates in the EXIF tags are
stored as deg.00 min.00 sec.00 triplets.
Comment 4 Ian Stirling (reporter) 2009-12-08 20:12:35 UTC
    Andre: As to where did I buy the device - nokia.co.uk - delivered on the
30th
    of november.

    There is no obvious way to get to the settings menu in the normal place I
would
    expect it in the camera app - either try to open the control from the
bottom
    right as in the browser fullscreened, or try hitting the various controls
on
    the right.

    The only control that leads to an app is the view photos button - which
does
    not have a general option in its settings menu.

    Version: 1.0.40.3+0m5 I find in /var/lib/dpkg/status - I assume this is the
    version.


    As to usecases, I have several.

    I wish to take photos around my garden, and automatically arrange them onto
a
    map, requiring minor tweaking for the correct position.

    GPS works OK for this - the average error is considerably under 3m.

    An average error of 18m or so is almost useless for this purpose.

    As another use-case, I want to add content to openstreetmaps, taking
pictures
    of signs, and other features. A photo of a sign that's out by as much as
30m
    can put the photo on the wrong street, leading to putting the wrong name on
the
    street.

    My final use was that I was considering a simple application to guide you
to
    the location of a geotagged picture. Again, being 30m out can be confusing
in
    some situations.

    Of course the GPS will not always be accurate enough for this to make a
    difference.

    However arbitarily truncating the precision of the coordinates is not
ideal.

    Neil: No. exiftool - from extras-devel - as well as programs on my laptop
all
    read the tags the same way, as does the 'details' in the photo viewer app.

    :/home/user/MyDocs/DCIM# exif *jpg|grep '^\(Latit\|Longi\)'
    Latitude            |56.00, 13.00, 0.00                                     
    Longitude           |3.00, 6.00, 45.00                                      
    Latitude            |56.00, 13.00, 0.00                                     
    Longitude           |3.00, 6.00, 45.00                                      
    Latitude            |56.00, 13.00, 0.00                                     
    Longitude           |3.00, 6.00, 44.00                                      
    Latitude            |56.00, 13.00, 0.00                                     
    Longitude           |3.00, 6.00, 44.00                                      
    Latitude            |56.00, 13.00, 0.00                                     
    Longitude           |3.00, 6.00, 43.00                                      
    Latitude            |56.00, 13.00, 1.00                                     
    Longitude           |3.00, 6.00, 43.00                                      
    Latitude            |56.00, 13.00, 1.00     

    As I moved around the garden taking pictures - my 30*40m garden has
pictures
    from only six spots.
    GPS fix was from the GPS without network assistance.
Comment 5 Neil MacLeod maemo.org 2009-12-08 23:53:36 UTC
Created an attachment (id=1702) [details]
GPS EXIF coords from a Sony camera - held to 5 decimal places
Comment 6 Neil MacLeod maemo.org 2009-12-08 23:55:39 UTC
Created an attachment (id=1703) [details]
GPS EXIF coords from N900 - held to 0 decimal places

This looks like a valid bug as the N900 should store the GPS coords to the full
precision as long as this is available (it could be a bug in the GPS sub system
I suppose).
Comment 7 Ian Stirling (reporter) 2009-12-09 00:10:33 UTC
It does not seem to be the GPS subsystem - at least not the lowest levels -
osm2go for example with live tracking turned on - shows the 'dot' following the
user to a couple of meters or so accuracy, with no seeming granularity.

I've had comments from a couple of users that some other nokia models suffer
from this - but have not managed to find any details.
Comment 8 pepitoe 2009-12-09 00:12:55 UTC
Created an attachment (id=1704) [details]
N85 Exif Geotags

I can confirm the N85 also appears to store in similar accuracy to the N900, so
this may well be intentional by Nokia.  Hope we can convince them to reconsider
this.
Comment 9 Andrés Gómez 2009-12-26 20:22:07 UTC
Adding myself to CC.

AFAIK, the fail point could be the location subsystem, GStreamer, when writing
the coordinates to the picture/video or from Camera itself.
Comment 10 jdm 2010-01-04 03:11:28 UTC
(In reply to comment #6)
> Created an attachment (id=1703) [details] [details]
> GPS EXIF coords from N900 - held to 0 decimal places
> 
> This looks like a valid bug as the N900 should store the GPS coords to the full
> precision as long as this is available (it could be a bug in the GPS sub system
> I suppose).

I checked the exif data on some of my photos (below) and it's just storing
whole numbers of seconds.  This gives a precision of 25-30m depending on
latitude.  A GPS like the N900 with no differential correction might return,
say, 90% of positions within 10m in ideal conditions, so more precision seems
warranted.



GPSLatitude Ref = S
GPSLatitude = 43/1, 31/1, 6/1
GPSLongitude Ref = E
GPSLongitude = 172/1, 36/1, 23/1
Comment 11 Andre Klapper maemo.org 2011-01-04 00:36:08 UTC
WONTFIX for Maemo5 according to Nokia.
Comment 12 Andre Klapper maemo.org 2011-02-15 11:10:58 UTC
*** Bug 11934 has been marked as a duplicate of this bug. ***
Comment 13 MikeCC 2011-02-15 21:21:45 UTC
Created an attachment (id=3292) [details]
photos are arranged in a grid and sometimes beside the track
Comment 14 MikeCC 2011-02-15 21:23:28 UTC
Created an attachment (id=3293) [details]
original photo with GPS position with truncated arc seconds
Comment 15 MikeCC 2011-02-15 21:24:58 UTC
Created an attachment (id=3294) [details]
showcase with edited arcseconds (here with 2 decimals)
Comment 16 MikeCC 2011-02-15 21:27:43 UTC
(In reply to comment #12)
> *** Bug 11934 has been marked as a duplicate of this bug. ***

Ups - now I know that I should 1st look for _ALL_ tickets.
Didn't know that. I'm really interested in a solution. 

In Comment #1 was the question for a usecase:
As already mentioned in "my" bugreport 11934 I do some mapping for OSM.
I record the track in a GPX file. This works fine with several applications. 
For points of interest (bench, shelter, information board, historic boundary
stones) or just for informations (street name, quality of a trail) I take GPS
tagged photos. Later at home I load the track and the photos and edit the map.
For some cases it is acceptable to have an error of 30 meters (eg. trail
quality), but for some cases (like a boundary stone) it is not enough. On the
other side I know, that the N900 is no a high precise GPS device. Pictures tell
more, so josm.jpg as an example of a mapping hike some days ago. There you can
see the grid distribution of the photos and some geotagged photos out of the
track.

To explain how easy it is to change the GPS infos I attach 20101207_010.jpg
(original N900 photo) and the manual edited 20101207_010-2.jpg.
A GPS Latitude and Longitude is stored as 3 Rationals (Degree, Minute, Second).
One Rational consists of 2 Longs (4 Byte). The 1st long is the numerator, the
2nd is the denominator. In the picture the Lat is N 20° 26' 30". The value (3
Rationals) can be found in that JPG at position 1286h..129Dh. The Value in Hex
for the arcsecond is 
1E 00 00 00 01 00 00 00 
at position 1296h.
1Eh = 30    01 = 1   This means 30/1= 30.0
To substitute the value to 30.12:
30.12=3012/100   -> in Hex BC4 / 64
So I substituted the line above with
C4 0B 00 00 64 00 00 00
Additionally I manipulated the longitude from W 86° 59' 45" to W 86° 59' 45.67"
in 20101207_010-2.jpg
BTW the altitude is stored at position 1B6h (12.5m) (not truncated value, but
not important to me)

Web references about Exif:
http://www.exif.org/specifications.html (1st PDF)
http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html

Please try to convince the guys to change the issue in a fix. I hope that not
the last word is spoken.
Comment 17 Mohammad Abu-Garbeyyeh 2011-09-07 00:09:00 UTC
This has been fixed for the Community SSU Updates in package
gstreamer0.10-plugins-bad 0.10.14-git266-0maemo10+0cssu6
which is part of the internal build version
20.2010.36-2maemo16
(Note: 20.2010.36-2 is the latest official Nokia version.
The number after it indicates the Community SSU release version.)

A future public Community SSU update released just now includes the
fix.
Please verify that this new version fixes the bug by marking this bug report as
VERIFIED if you have some time.

For more information about Community SSU please see
http://wiki.maemo.org/Community_SSU
Comment 18 MikeCC 2011-09-14 22:33:55 UTC
Created an attachment (id=3418) [details]
Confirmation

I've got already in July a beta patch from Nicolai, but checked now again with
the latest CSSU Update. In the example pic the position is stored as 
N 48.00, 58.00, 40.23
E 08.00, 57.00, 07.01
(N48°58'40.23"/E08°57'07.01") which means an hundredfold improvement.
You are my heros!