在數學中,表示角度的度、分、秒分別使用°、′、″符號進行表示。
1°=60′,1′=60″ ,1°=3600″。
由上述可知度分秒轉換度的計算公式為:(dd°mm′ss″) dd+mm/60+ss/3600
如:113°30′10.25″ = 113+30/60+10.25/3600 ≈113.502847
/**
* 經緯度轉換 ,度分秒轉度
* @param str
* @author cai_yf
* @return
*/public static string dms2d(string jwd)else if(jwd.contains("'"))
//不同單位的秒,可擴充套件
if(jwd.contains("″"))else if(jwd.contains("''"))
jwd = string.valueof(d+m/60+s/60/60);//計算並轉換為string
//使用bigdecimal進行加減乘除
/*bigdecimal bd = new bigdecimal("60");
bigdecimal d = new bigdecimal(jwd.contains("°")?jwd.split("°")[0]:"0");
bigdecimal m = new bigdecimal(jwd.contains("′")?jwd.split("°")[1].split("′")[0]:"0");
bigdecimal s = new bigdecimal(jwd.contains("″")?jwd.split("′")[1].split("″")[0]:"0");
//divide相除可能會報錯(無限迴圈小數),要設定保留小數點
jwd = string.valueof(d.add(m.divide(bd,6,bigdecimal.round_half_up)
.add(s.divide(bd.multiply(bd),6,bigdecimal.round_half_up))));*/
}return jwd;
}
執行結果
* 十進位制經緯度轉換 ddd°mm.mmmm 轉 ddd.ddddd°
* 如:112°30.4128 = 112.50688
* @param str
* @author cai_yf
* @return
*/ public static string dmturnd(string jwd)
return jwd;
}執行結果
有待完善。。。!
經緯度格式轉換
public float dufenmiaotodu float d,float f,float m public float dutodufen fen float d public float fentofenmiao miao float f float 有效數字位數 6 double 有效數...
經緯度座標轉換
經緯度與xy座標轉換工具類 public class latlngxyzconverthelper xy轉經緯度 需要轉換的x座標 需要轉換的y座標 地圖級別 轉換後的經度 轉換後的緯度 public static void tiletolatlng double tile x,double til...
NEMA資料經緯度轉換
一.gps模組在定位後會輸出含有各項定位資訊的 nmea語句,其中包括經緯度 資訊,例如串列埠輸出內容 gpgga,054514.000,2238.5260,n,11401.9686,e,1,7,1.27,89.2,m,2.3,m,7f gpgsa,a,3,08,23,10,28,09,04,02,...