2

我有一个 gps 设备女巫输出坐标,例如:4425.7819N 02607.5766E

如何使用 PHP 将它们转换为正常的纬度和经度?例如。44.432395,26.125751

4

1 回答 1

4

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

有关信息,请参阅http://en.wikipedia.org/wiki/Geographic_coordinate_conversion中的“从 MinDec 到十进制度数的转换” 。

更新:

请参阅我为您编写的以下函数来转换它:

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'));

希望有帮助吗?

于 2012-08-03T08:01:20.130 回答