public class Tools {
/**
* 將公里數轉換爲度數
* @param l
* @return
*/
public static Double km2Degree(Double l){
//公式:l(弧長)=degree(圓心角)× π(圓周率)× r(半徑)/180
//轉換後的公式:degree(圓心角)=l(弧長) × 180/(π(圓周率)× r(半徑))
Double earthRadius = 6371.393;//地球半徑:km
Double degree = (180/earthRadius/Math.PI)*l;
return degree;
}
/**
* 將度數轉換爲公里數
* @param degree
* @return
*/
public static Double degree2Km(Double degree){
//公式:l(弧長)=degree(圓心角)× π(圓周率)× r(半徑)/180
Double earthRadius = 6371.393;//地球半徑:km
Double l = earthRadius/180*Math.PI*degree;//將180放在前面,降低數值
return l;
}
public static void main(String[] args){//測試
System.out.println("1公里="+km2Degree(1.0)+"度");//單位是公里
System.out.println("1度="+degree2Km(1.0)+"公里");//單位是度
}
}
結果
1公里=0.008992661340005603度
1度=111.20178578851908公里