2009-10-13 114 views

回答

2

我發現了一個online JS calculatorPHP solution

<?php 
function DMStoDEC($deg,$min,$sec) 
{ 
// Converts DMS (Degrees/minutes/seconds) 
// to decimal format longitude/latitude 

    return $deg+((($min*60)+($sec))/3600); 
}  

function DECtoDMS($dec) 
{ 
// Converts decimal longitude/latitude to DMS 
// (Degrees/minutes/seconds) 

// This is the piece of code which may appear to 
// be inefficient, but to avoid issues with floating 
// point math we extract the integer part and the float 
// part by using a string function. 

    $vars = explode(".",$dec); 
    $deg = $vars[0]; 
    $tempma = "0.".$vars[1]; 

    $tempma = $tempma * 3600; 
    $min = floor($tempma/60); 
    $sec = $tempma - ($min*60); 

    return array("deg"=>$deg,"min"=>$min,"sec"=>$sec); 
}  
?> 
0

用簡單的數學做它:

arcsecond is 1⁄3,600 of a degree 
arcminute is 1/60 of a degree 

S,E negative, N,W positive 

example: S 23° 25' 33.8: -1 * 23+25/60+33.8/3600 = -23,426055555555555555555555555556° 
相關問題