java實現千米與經緯度度數的轉換

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公里
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章