Breitengrad und Längengrad können in einer Reihe von verschiedenen Formaten geschrieben werden. Um mit den Daten in einem Programm zu arbeiten , kann es notwendig sein, in einem Text- Zeichenfolge zu extrahieren und es in eine nutzbare Form . PHP unterstützt reguläre Ausdrücke , die eine vielseitige Möglichkeit, bestimmte Daten zu suchen , auch wenn sie in einer Vielzahl von verschiedenen Möglichkeiten geschrieben bereitzustellen. Nachdem die Längen-und Breitengrade extrahiert werden , können Sie sie in das Dezimalformat konvertieren mit einer einfachen Formel . Anleitung
1
initialisieren die Variable, die Breite oder die Länge Zeichenfolge in Grad - Minuten-Sekunden -Format ( DMS ) enthalten wird. Geben Sie zum Beispiel :
$ dms = " 45:23:14.33 W ";
2
schreiben Muster eines regulären Ausdrucks für das Parsen von Ihrem DMS String. Der folgende reguläre Ausdruck akzeptiert Doppelpunkte oder die Standard-Notation mit den Symbolen für Grad, Minuten und Sekunden. Spaces können zwischen Werten verwendet werden , und Dezimalzahlen sind optional für die Sekunden . Allerdings wird in einem Schreiben über die Hemisphäre (N , S, E oder W ) am Ende der Zeichenfolge erforderlich :
$ pattern =
3
Benutzen Sie den " preg_match "-Funktion , um ein Array der analysierten Daten zu erstellen. Geben Sie z. B. :
preg_match ( $ pattern , $ dms , $ treffer );
4
Berechnen Sie den Dezimalwert des Breiten-oder Längengrad und weisen Sie es einer Variablen. Ein Grad ist gleich 60 Minuten oder 3600 Sekunden. Geben Sie z. B. :
$ dezimal = $ treffer [ ' Grad '] + $ treffer [ ' Minuten '] /60 + $ treffer [ ' Sekunden '] /3600 ;
5 < p> negieren den Wert, wenn die Koordinate in der südlichen oder westlichen Hemisphäre. Der zurückgegebene Wert ist die dezimale Format der Längen-und Breitengrad . Geben Sie z. B. :
if ( $ treffer [ ' Hemisphäre '] == ' S'