如何将Exif long / lat转换为实际值?

我试图从我的一些照片中获取Exif数据,这些是我收到的纬度和经度值。 有人可以帮帮我,告诉我这些数字是什么意思吗?

DEBUG / lat = 30 / 1,12 / 1,34 / 1(7588):lattitude

DEBUG / long = 81 / 1,22 / 1,41 / 1(7588):经度

提前致谢。

我打算为这个和东西写一个转换器,但事实certificate答案已经在这个博客中

以防链接失效:

public class geoDegree { private boolean valid = false; Double Latitude, Longitude; geoDegree(ExifInterface exif) { String attrLATITUDE = exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE); String attrLATITUDE_REF = exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE_REF); String attrLONGITUDE = exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE); String attrLONGITUDE_REF = exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF); if((attrLATITUDE !=null) && (attrLATITUDE_REF !=null) && (attrLONGITUDE != null) && (attrLONGITUDE_REF !=null)) { valid = true; if(attrLATITUDE_REF.equals("N")){ Latitude = convertToDegree(attrLATITUDE); } else{ Latitude = 0 - convertToDegree(attrLATITUDE); } if(attrLONGITUDE_REF.equals("E")){ Longitude = convertToDegree(attrLONGITUDE); } else{ Longitude = 0 - convertToDegree(attrLONGITUDE); } } }; private Double convertToDegree(String stringDMS){ Float result = null; String[] DMS = stringDMS.split(",", 3); String[] stringD = DMS[0].split("/", 2); Double D0 = new Double(stringD[0]); Double D1 = new Double(stringD[1]); Double FloatD = D0/D1; String[] stringM = DMS[1].split("/", 2); Double M0 = new Double(stringM[0]); Double M1 = new Double(stringM[1]); Double FloatM = M0/M1; String[] stringS = DMS[2].split("/", 2); Double S0 = new Double(stringS[0]); Double S1 = new Double(stringS[1]); Double FloatS = S0/S1; result = new Float(FloatD + (FloatM/60) + (FloatS/3600)); return result; }; public boolean isValid() { return valid; } @Override public String toString() { // TODO Auto-generated method stub return (String.valueOf(Latitude) + ", " + String.valueOf(Longitude)); } public int getLatitudeE6(){ return (int)(Latitude*1000000); } public int getLongitudeE6(){ return (int)(Longitude*1000000); } }