Latitude et longitude peuvent être écrites dans un certain nombre de formats différents. Pour travailler avec les données dans un programme, il peut être nécessaire d'extraire à partir d'une chaîne de texte et de le convertir en un format plus utilisable. PHP supporte les expressions régulières, qui offrent un moyen souple pour localiser les données spécifiques même si écrite dans une variété de façons différentes. Après la latitude et la longitude sont extraits, vous pouvez les convertir au format décimal avec une formule simple. Instructions
1
initialiser la variable qui contiendra la latitude ou la chaîne de longitude au format degrés-minutes- secondes ( DMS ) . Par exemple , entrez:
$ dms = " 45:23:14.33 W" ;
2
Ecrire un modèle d'expression régulière pour analyser votre chaîne de DMS . L'expression régulière suivante accepte colons ou la notation standard avec les symboles des degrés , minutes et secondes . Les espaces peuvent être utilisés entre les valeurs et les décimales sont facultatives pour les secondes. Cependant, une lettre indiquant l'hémisphère (N , S, E ou W ) est requis à la fin de la chaîne :
$ pattern =
3
Utilisez la fonction " preg_match " pour créer un tableau des données analysées . Par exemple, tapez :
preg_match ( $ pattern , $ dms , $ matches ) ;
4
calculer la valeur décimale de la latitude ou la longitude et l'assigner à une variable. Un degré est égal à 60 minutes ou 3600 secondes . Par exemple, tapez :
$ décimal = $ matches [ «degrés» ] + $ matches [' minutes '] /60 + $ matches [' secondes '] /3600 ;
5 < p> Nier la valeur si la coordonnée est dans l'hémisphère Sud ou de l'Ouest. La valeur retournée est le format décimal de la latitude ou de longitude . Par exemple, tapez :
if ( $ matches [' hémisphère '] == 'S'