Как мне преобразовать эти координаты в читаемые координаты карты Google? - PullRequest
3 голосов
/ 13 октября 2009

Привет, ребята. Мне нужно преобразовать координаты в следующей форме:

N42-53.9° 
W072-16.2°

В нечто вроде следующего:

-90.7311
0.346944

PHP-функция будет принята с благодарностью - или просто будет достаточно формулы:)

Ответы [ 2 ]

2 голосов
/ 13 октября 2009

Я нашел онлайн JS калькулятор и PHP решение :

<?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);
}    
?> 
0 голосов
/ 27 марта 2013

Сделай это с помощью простой математики:

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°
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...