07/09/2010, 14:25
|
| | Fecha de Ingreso: diciembre-2005
Mensajes: 57
Antigüedad: 18 años, 11 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.
|