Latitude und Longitude in GPS Koordinaten umrechnen
Für eines meiner Projekte wollte ich die Latitude und Longitude in GPS Koordinaten umrechnen. Leider fand ich dazu im Internet nur Converter, die die Latitude & Longitude in Koordinaten umrechnen. Jedoch benötigte ich selbst die Formel für meinen Latitude & Longitude Finder, da ich nicht nur die Lat & Lng ausgeben wollte, sondern eben auch den Längen- und Breitengrade.
Die Formel: Latitude und Longitude in GPS Daten umrechnen
Nach ein bisschen Recherche habe ich eine passende Formel zum Umrechnen von Latitude in GPS Koordinaten bzw. in Degrees minutes seconds (DMS) gefunden und zu meinem Erstaunen war diese auch gar nicht kompliziert, wovon ich ursprünglich ausgegangen bin.
Beispiel:
Im folgenden Beispiel gehen wir von der Latitude & Longitude von Berlin aus:
- Latitude: 52.5200066
- Longitude: 13.404954
Breitengrad
- Als erstes teilen wir die Latitude in zwei Teile ( Teil 1:
52
und Teil 2:5200066
), wobei der erste Teil dem Grad-Wert 1:1 entspricht und nicht verändert werden muss. - Nun setzen wir eine Null vor 5200066 und multiplizieren diese Zahl mit 60 (
0.5200066 * 60 = 31.20396
) und erhalten die Ganzzahl31
- Im nächsten Schritt setzen wir erneut eine Null vor 20396 und multiplizieren die Zahl ebenfalls mit 60 (
0.20396 * 60 = 12.2376
). - Als letzten Schritt schauen wir, ob die Latitude eine positive oder negative Zahl ist. Ist die Zahl positiv befindet sich der Standort im Norden, ansonsten im Süden
- Das Ergebnis der GPS Koordinate lautet nach der Formel
52° 31´12.2376 N
Längengrad
Die Umrechnung der Longitude in GPS Angaben funktioniert analog der Umrechnung in Breitengrade.
- Erneut Teilen wir die Longitude in zwei Teile (Teil 1:
13
und Teil 2:404954
). Die Ganzzahl aus Teil 1 entspricht 1:1 dem Grad-Wert und muss nicht verändert werden. - Nun setzen wir wieder vor dem zweiten Teil eine Null und multiplizieren die Zahl mit 60 (
0.404954 * 60 = 24.29724
) und erhalten die Ganzzahl24
. - Anschließend setzen wir wieder eine Null vor dem zweiten Teil unseres zuvor ausgerechneten Ergebnis und multiplizieren die Zahl mit 60 (
0.29724 * 60 = 17.8344
). - Zu guter letzt schauen wir ob die Longitude eine positive oder negative Zahl ist. Bei einer positiven Zahl befindet sich die GPS Angabe im Osten (E), bei einer negativen Zahl im Westen (W).
- Nach unserer Berechnung müsste die Longitude die folgenden GPS-Koordinaten haben:
13° 24´ 17.8344 E
Hinweis: Wenn Sie Ihr Ergebnis zur Kontrolle mit einem Converter aus dem Internet vergleichen kann es zu Abweichungen kommen, da viele Converter runden.
Umrechnung von GPS Daten in Dezimal (Latitude oder Longitude)
Natürlich geht die Umrechnung von GPS Daten auch in die andere Richtung. Um es uns einfacher zu machen nehmen wir die zuvor umgewandelten GPS Daten von Berlin: 52° 31´12.2376 N
- Als erstes nehmen wir den letzten Teil der GPS Koordinaten und teilen diesen durch 60 (
12.2376 / 60 = 0.20396
) - Nun addieren wir zum ausgerechneten Ergebnis die Zahl 31 (
0.20396 + 31 = 31.20396
). - Als nächstes dividieren wir das Ergebnis erneut durch 60 (
31.20396 / 60 = 0.520066
). - Jetzt addieren wir noch die 52 zu unserem Ergebnis (
0.520066 + 52 = 52.520066
) und erhalten die Latitude 52.520066. - Zu guter Letzt schauen wir, ob ein N (North) oder S (South) hinter der GPS Angabe steht. Nur bei S schreiben wir ein minus vor die Latitude.
Keine Produkte gefunden.
PHP Function – Latitude & Longitude in GPS (DMS)
Wie schon eingehend geschrieben habe ich die Latitude & Longitude in GPS Formel für mein eigenes Tool gesucht und anhand dieser habe ich mir meine eigene PHP Functions geschrieben, welche mir automatisch die Latitude & Longitude in GPS Koordinaten umrechnet.
Aufruf der PHP Function
Als erstes rufen wir die functions auf und können dieser zwei Werte übergeben.
- Wert 1: Latitude oder Longitude die zu GPS Koordinaten umgerechnet werden soll
- Wert 2: Angabe, ob es sich um eine Latitude (lat) oder Longitude (lng) handelt.
gpsCoordinates( '52.520066', 'lat' );
Die PHP Function
Die folgende PHP Function rechnet die Positionen automatisch in GPS (DMS) um.
function gpsCoordinates( $position, $type ) {
$value = explode('.', $position);
$value_1 = $value[0];
if ( $type == 'lat' ) {
if ( $value_1 >= 0 ) {
$direction = 'N';
} else {
$direction = 'S';
}
} elseif ( $type == 'lng' ) {
if ( $value_1 >= 0 ) {
$direction = 'E';
} else {
$direction = 'W';
}
}
$value_2 = $position - $value_1;
$value_2 = $value_2 * 60;
$value_2 = explode('.', $value_2);
$value_3 = '0.' . $value_2[1];
$value_3 = $value_3 * 60;
$value_3 = number_format((float)$value_3, 3, '.', '');
$result = abs($value_1) . '° ' . abs($value_2[0]) . '‘ ' . abs($value_3) . ' ' . $direction;
return $result;
}
tolle Seite!
Super, praktische Umsetzung erfolgt beim nächsten Prüfungs/Übungstörn
Gute Job Man
Sehr gut erklärt, vielen Dank.
Was noch ganz nett wäre, dass Du die Begriffe erklärst, wo die eigentlich herkommen und was sie sind. GPS werden die meisten einigermassen kennen, aber bei den anderen Begriffen, na, da würde ich nicht viele Leute finden, die das auf Anhieb genau wissen. 🙂