Как сохранить координаты GPS в данных exif на Android?

Я записываю координаты GPS в свое изображение JPEG, и координаты верны (как показывает мой вывод logcat), но похоже, что оно каким-то образом повреждено. Чтение данных exif приводит либо к нулевым значениям, либо, в случае моего GPS: 512,976698 градусов, 512,976698 градусов . Может ли кто-нибудь пролить свет на эту проблему?

написав:

        try {
            ExifInterface exif = new ExifInterface(filename);
            exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE, latitude);
            exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, longitude);
            exif.saveAttributes();
            Log.e("LATITUDE: ", latitude);
            Log.e("LONGITUDE: ", longitude);


        } catch (IOException e) {
            e.printStackTrace();
        }

и прочитав это:

        try {
            ExifInterface exif = new ExifInterface("/sdcard/globetrotter/mytags/"+ TAGS[position]);
            Log.e("LATITUDE EXTRACTED", exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE));
            Log.e("LONGITUDE EXTRACTED", exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE));
        } catch (IOException e) {
            e.printStackTrace();
        }

Он входит (например) 37.715183 , -117.260489 и выходит 33619970/65540, 14811136/3368550 , 33619970/65540, 14811136/3368550 . Я делаю это неправильно?

РЕДАКТИРОВАТЬ:

Итак, проблема в том, что я не кодирую его в правильно определенном формате, который похож на то, что вы видите здесь:

enter image description here

Кто-нибудь может объяснить, что это за формат? Очевидно, первое число 22/1 = 22 градуса, но я не могу понять, как вычислить здесь десятичную дробь.

23
задан Brian D 12 March 2011 в 04:56
поделиться