2012-08-03 253 views

回答

4

似乎你的GPS设备输出MinDec格式。

请参阅“从MinDec转换为十进制度”下的http://en.wikipedia.org/wiki/Geographic_coordinate_conversion以获取信息。

更新:

见我写了将其转换为你下面的函数:

function convert($input) 
{ 
    $input = ltrim($input, 0); 
    $mCount = preg_match('/([0-9]{2})([^NESW]+)(N|E|S|W)/', $input, &$matches); 
    if($mCount > 0) 
    { 
     $deg = intval($matches[1]); 
     $degMin = floatval($matches[2])/60; 
     $ret = $deg + $degMin; 
     return ($matches[3] == 'S' || $matches[3] == 'W' ? '-' : '') . $ret; 
    } 
    return null; 
} 

var_dump(convert('4425.7819N')); 
var_dump(convert('02607.5766E')); 

希望帮助?

+0

根据我写的测试函数,我得到'44.429698333333 26.126276666667' - 这是正确的吗? – Gavin 2012-08-03 08:33:14

+0

是的,非常感谢,非常感谢! – opc0de 2012-08-03 08:34:22

+0

太棒了!我已经更新了答案以包含示例:) – Gavin 2012-08-03 08:38:08

相关问题