Я пишу GPS-координаты для своего изображения в формате JPEG, и координаты правильны (как показывает мой вывод logcat), но похоже, что он каким-то образом поврежден. Чтение данных exif приводит либо к нулевым значениям, либо, в случае моего GPS: 512.976698 degrees, 512.976698 degrees
. Может ли кто-нибудь пролить свет на эту проблему?
запись:
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
. Я делаю это неправильно?
EDIT:
Итак, проблема в том, что я не кодирую его в правильно определенном формате, что-то вроде того, что вы видите здесь:
Может ли кто-нибудь объяснить, что это за формат? Очевидно, первое число 22/1 = 22 градуса, но я не могу понять, как вычислить десятичную точку там.