Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/09/2010, 14:25
davidsbok
 
Fecha de Ingreso: diciembre-2005
Mensajes: 57
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: convertir a grados minutos y segundos

Bueno al final parece que esa formula no va muy bien en php porque el %1 supongo que es para coger el valor como decimal y no me coincide. Se hace de la siguiente forma:

Por ejemplo teniendo una coordenada de google: 36.713432

Los grados son el numero entero, que seria 36.

Los minutos hay que multiplicar los decimales *60 que seria:
0,713432*60 = 42,80592 los minutos serían el entero: 42.

Y para los segundos se multiplica *60 los decimales de los minutos que seria:
0,80582*60 = 48,3552 los segundos serían el entero: 48.

Asi obtenemos 30g 42' 48". Creo que puede ser útil para quien use el api de google maps y quiera mostrar las coordenadas en ese formato.

En PHP:

$val = $registro['lat']; // la coordenada formato decimal del api de google almacenado en la base de datos .
list ($entero,$decimal)=explode(".",$val); // Separamos parte entera y decimal
$gr1=$entero; $val=("0.".$decimal)*60; // Los grados seria la parte entera. Y la parte decimal le unimos el 0. y lo multiplicamos por 60
list ($entero,$decimal)=explode(".",$val); // Separamos entero y decimal
$mi1=$entero; $val=("0.".$decimal)*60; // La parte entera son los minutos y la parte decimal le unimos el 0. y lo multiplicamos por 60
list ($entero,$decimal)=explode(".",$val); // Separamos entero y decimal
$se1=$entero; // La parte entera son los segundos y la pare decimal ya nos da igual.

Última edición por davidsbok; 07/09/2010 a las 15:09 Razón: encontrada solucion.