3
嗨,大家好,我需要將座標轉換爲以下形式:如何將這些座標轉換爲Google地圖可讀座標?
N42-53.9°
W072-16.2°
弄成那有點像下面這樣:
-90.7311
0.346944
一個PHP函數,將不勝感激 - 或者只是一個公式也將足夠好:)
嗨,大家好,我需要將座標轉換爲以下形式:如何將這些座標轉換爲Google地圖可讀座標?
N42-53.9°
W072-16.2°
弄成那有點像下面這樣:
-90.7311
0.346944
一個PHP函數,將不勝感激 - 或者只是一個公式也將足夠好:)
我發現了一個online JS calculator和PHP 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);
}
?>
用簡單的數學做它:
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°