Alle Kategorien
Suche

GPS-Koordinaten mit PHP umrechnen - so funktioniert's

Um GPS-Koordinaten schnell und einfach von einem Format in das andere Format umwandeln zu lassen, können Sie dies mithilfe von PHP umsetzen. Erfahren Sie hier, welche Formeln Sie dafür benötigen, und wie die Umsetzung in PHP aussehen könnte.

Verschiedene GPS-Formate mit PHP umwandeln lassen.
Verschiedene GPS-Formate mit PHP umwandeln lassen.

Vorüberlegungen zu GPS-Koordinaten

Bei der Angabe von GPS-Koordinaten werden grundsätzlich drei verschiedene Formate verwendet, die Sie relativ einfach zueinander umrechen können.

  • Vor allem auf Karten wird das DMS-Format ("Degree Minutes Seconds") genutzt, welches die Koordinaten in Grad, Minuten und Sekunden angibt: DD° MM' SS''.
  • Google zum Beispiel verwendet für dessen Kartendienste ein Dezimal-System (im Folgenden "Dez"), mit sechs Nachkommastellen: DD.DDDDDD.
  • Eine Art Mischung aus beiden ist die Angabe in Grad und einer Minuten-Angabe im Dezimalformat: DD°MM.MMM, die im Folgenden als "Misch" bezeichnet wird.
  • Alle Formate basieren dabei auf derselben Umrechnung von Grad, Minuten und Sekunden. Dabei entspricht 1 Grad (1°) genau 60 Minuten (60') und eine Minute wiederum 60 Sekunden (60'').
  • Wenn Sie ein Format in ein anderes Format umrechnen möchten, können Sie immer die Gradzahl (DD) übernehmen und müssen lediglich die Minuten und ggf. Sekunden umrechnen.
  • Um das Misch-Format in das Dez-Format umzurechnen, brauchen Sie lediglich die Minuten durch 60 zu rechnen, um die Nachkommastellen zu erhalten, also MM.MMM/60 = .DDDDDD.
  • Bei der Umrechnung von Misch zu DMS können Sie die Vorkommazahlen als Minuten übernehmen, und müssen lediglich die drei Nachkommazahlen mal 60 nehmen, um die Sekunden zu erhalten. Aus 12.345 (MM.MMM) würde dann also 12' 21'' werden (MM' SS''), da 60 mal 0,345 rund 21 ist.
  • Zum Umrechnen des Dez-Formats in das DMS-Format müssen Sie die beiden vorherigen Formeln anwenden, also zunächst .DDDDDD mal 60 rechnen, um MM.MMM zu erhalten (MM sind dann MM'), und anschließend .MMM ebenfalls mal 60 rechnen, um die Sekunden (SS'') zu bekommen.

Der Aufbau der PHP-Datei

Zum Umrechen der GPS-Koordinaten sollten Sie am besten ein Formular erstellen, bei welchem Sie je nach gewünschter Umrechnungsform ein oder mehrere Eingabefelder zur Verfügung stellen.

  • Die Verarbeitung mit PHP kann dann in wenigen Schritten erfolgen, wobei im Folgenden angenommen wird, dass Sie die Variablen über die POST-Methode verschicken.
  • Für die Umrechnung von Misch zu Dez bräuchten Sie zwei Eingabefelder ("dd" und "mm" als Namen), wobei Sie "mm" lediglich umrechnen lassen müssen und "dd" direkt ausgeben können.
  • Die Umrechnung in PHP würde dann wie folgt aussehen:
    $dd = $_POST['dd'];
    $dddddd = $_POST['mm']/60;
    echo $dd.$ddddddd."°".
  • Für die Umrechnung von Misch zu DMS könnten Sie entweder drei Felder angeben ("dd", "mm" und "mmm" und lediglich "mmm" mal 60 nehmen. Oder Sie geben ebenfalls nur zwei Felder an ("dd" und "mmm"), wobei Sie dann "mm" mithilfe der PHP-Funktion "floor" teilen (abrunden) und anschließend in Minuten und Sekunden umrechnen lassen.
  • Die Umrechnung für die zweite Variante würde dann so aussehen:
    $dd = $_POST['dd'];
    $mm = floor($_POST['mm']);
    $ss =  $_POST['mm']-$mm;
    $ss = $ss * 60;
    echo $dd."° ".$mm."' ".$ss."''"; // Ausgabe: DD° MM' SS''.
  • Das Umrechnen von Dez zu DMS brauchen Sie lediglich ein Feld ("dd") mit dem Format DD.DDDDD und lassen alles andere automatisch berechnen:
    $dd =  floor($_POST['dd']);
    $dddddd =  $_POST['dd']-$dd;
    $mm = floor($dddddd*60);  
    $mmm =  $dddddd*60-$mm;
    $ss = $mmm*60;
    echo $dd."° ".$mm."' ".$ss."''"; // Ausgabe: DD° MM' SS''.
Teilen: