public static String latlong2GeoFormat (double latlong) {
// doubleからintへ変換
Double _latlong = latlong;
int num1 = _latlong.intValue();
double num2d = ((_latlong - (double)num1) * 60);
int num2 = (int)num2d;
double num3d = ((num2d - (double)num2) * 60 * 100000);
int num3 = (int)num3d;
// フォーマット num1/denom1,num2/denom2,num3,denom3
return String.format("%d/1,%d/1,%d/100000", num1, num2, num3);
}
public static void embedExif(String fileName, Location loc) {
ExifInterface exif = new ExifInterface(fileName);
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE, latlong2GeoFormat(loc.getLatitude()));
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE_REF, "N");
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, latlong2GeoFormat(loc.getLongitude()));
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF, "E");
exif.saveAttributes();
}
参考:ExifInterface.TAG_GPS_LATITUDEには何を入れるのか?
2011年2月17日木曜日
Android Exif GPS
どういう形式なのか、さっぱりわからなかったが、以下のようで良いようだ。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿