我的Tom Tom设备上有GPS位置
S 33 22' 7.08",E 19 55' 27.44"
我需要将其转换为Google Lat Long。有没有人知道这样做的有效宝石或能够进行转换的代码片段
答案 0 :(得分:0)
我不知道Ruby on Rails,但我有一个PHP版本,用于将DMS(度/分/秒)转换为Decimal lat / lng。也许您可以将其转换为RoR版本。注意,代码不会在分钟和秒后检查(剥离)“或”。您可能需要为语法添加此内容。
// Converts DMS ( Degrees / minutes / seconds )
// to decimal format longitude / latitude
function GPS_DEC($coord)
{
$n = explode( " ", trim( $coord ) );
if ( count( $n ) == 1 )
return $coord;
$deg = $n[ 0 ];
$min = $sec = 0;
if ( !is_numeric( $n[ 1 ] ) )
$dir = $n[ 1 ];
else
{
$min = $n[ 1 ];
if ( !is_numeric( $n[ 2 ] ) )
$dir = $n[ 2 ];
else
{
$sec = $n[ 2 ];
$dir = $n[ 3 ];
}
}
$dec = $deg+((($min*60)+($sec))/3600);
if ( $dir == 'S' || $dir == 'W' )
$dec = -$dec;
return $dec;
}
来自OpenGeoCode.Org团队的安德鲁