Latitud y longitud se pueden escribir en un número de diferentes formatos. Para trabajar con los datos en un programa , puede ser necesario para extraerlo de una cadena de texto y convertirlo a un formato más utilizable. PHP soporta expresiones regulares , que proporcionan una manera versátil para localizar los datos específicos, incluso cuando se escribe en una variedad de diferentes maneras . Una vez extraídos de la latitud y la longitud , puede convertirlos a formato decimal con una fórmula simple. Instrucciones
1
inicializar la variable que contendrá la latitud o longitud de cadena en formato grados -minutos- segundos ( DMS ) . Por ejemplo , escriba:
$ dms = " 45:23:14.33 W " ;
2
Escriba un patrón de expresión regular para analizar la cadena de DMS . La siguiente expresión regular acepta dos puntos o la notación estándar con los símbolos de grados, minutos y segundos. Los espacios pueden ser utilizados entre los valores y los decimales son opcionales para los segundos . Sin embargo , se requiere una letra que indica el hemisferio ( N , S , E o W ) en el extremo de la cadena :
$ = patrón
3
Utilice la función " preg_match " para crear una matriz de los datos analizados . Por ejemplo , escriba:
preg_match ($ patrones, $ dms , $ coincidencias ) ;
4
Calcular el valor decimal de la latitud o longitud y asignarlo a una variable. Un grado es igual a 60 minutos o 3.600 segundos . Por ejemplo , escriba:
$ decimal = $ coincidencias [ "grados" ] + $ [' segundo ' ] /3600 partidos [ 'minutos' ] /60 + $ partidos ;
5 < p> Negar el valor si la coordenada se encuentra en el hemisferio sur y occidental . El valor devuelto es el formato decimal de la latitud o longitud . Por ejemplo , escriba:
if ( $ coincidencias [' continente '] == ' S '