Latitude e longitude podem ser escritos em uma série de formatos diferentes. Para trabalhar com os dados em um programa, pode ser necessário para extraí-lo a partir de uma cadeia de texto e convertê-lo para um formato mais utilizável. PHP suporta expressões regulares , que proporcionam uma maneira versátil para localizar os dados específicos , mesmo quando são escritos em uma variedade de formas diferentes . Após a latitude e longitude são extraídos, você pode convertê-los para o formato decimal com uma fórmula simples . Instruções
1
Inicializar a variável que irá conter a latitude ou longitude corda em formato de graus- minutos-segundos (DMS) . Por exemplo, digite :
$ dms = " 45:23:14.33 W" ;
2
Escrever um padrão de expressão regular para analisar a seqüência de DMS . A seguinte expressão regular aceita dois pontos ou a notação padrão com os símbolos para graus, minutos e segundos. Espaços podem ser usados entre os valores , e decimais são opcionais para os segundos. No entanto, uma carta indicando o hemisfério (N , S, E ou W) é exigido no final da string :
$ pattern =
3
Use a função " preg_match " para criar uma matriz dos dados analisados. Por exemplo, digite :
preg_match ( $ pattern , $ dms , $ matches) ;
4
Calcule o valor decimal da latitude ou longitude e atribuí-lo a uma variável. Um grau é igual a 60 minutos ou 3600 segundos. Por exemplo, digite :
$ decimal = $ corresponde [ ' graus ' ] + $ matches [' minutos ' ] /60 + $ corresponde [' segundo '] /3600 ;
5
Negue o valor, se a coordenada é no Sul ou Hemisfério Ocidental. O valor retornado é o formato decimal da latitude ou longitude . Por exemplo, digite :
if ( $ matches [ ' hemisfério ' ] == 'S'