Search code examples
phpgoogle-mapscoordinate-systems

How do I convert these coordinates to google map readable coordinates?


I need to convert coordinates in the following form:

N42-53.9° 
W072-16.2°

Into something that is like the following:

-90.7311
0.346944

A php function would be greatly appreciated - or just a formula would also be nice enough.


Solution

  • I found an online JS calculator and a 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);
    }    
    ?>