【问题标题】:How do I convert these coordinates to google map readable coordinates?如何将这些坐标转换为谷歌地图可读坐标?
【发布时间】:2009-10-13 13:12:40
【问题描述】:

我需要将坐标转换成如下形式:

N42-53.9° 
W072-16.2°

变成如下内容:

-90.7311
0.346944

非常感谢一个 php 函数 - 或者只是一个公式也足够好。

【问题讨论】:

    标签: php google-maps coordinate-systems


    【解决方案1】:

    我找到了一个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);
    }    
    ?> 
    

    【讨论】:

      【解决方案2】:

      用简单的数学来做:

      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°
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-06
        • 2013-09-22
        相关资源
        最近更新 更多