| |||
convertir a grados minutos y segundos hola queria preguntar si existe en php alguna funcion que transforme las coordenadas decimales que utiliza google maps a grados minutos y segundos. muchas gracias. |
| ||||
Respuesta: convertir a grados minutos y segundos Eso es más bien una ecuación matemática. No requiere de una función para ello. Verifica este enlace http://www.astrosurf.com/astronosur/coordenadas2.htm
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
| |||
gracias buscaré entonces la formula matematica a ver que tal. muchas gracias. Ya lo encontré en esta pagina, por si a alguien le hace falta algun dia: http://montevideolibre.org/manuales:...ir_coordenadas Muchas gracias por la ayuda y un saludo. Última edición por GatorV; 06/09/2010 a las 14:54 |
| |||
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. |
Etiquetas: |