Nachkommastellen für Geokoordinaten

Ich wollte Geokoordinaten in einer SQL-Datenbanktabelle speichern und fragte mich, welche Auflösung / wieviel Nachkommastellen ich bei den DECIMAL -Werten konfigurieren sollte. ​

Kartendienste​

OpenStreetMap nutzt in der URL maximal 5 Nachkommastellen. Google Maps nutzt immer 7 Nachkommastellen, um Koordinaten in der URL einzubetten. Bing wiederum nutzt 6 Nachkommastellen :) ​

Mathe​

Ein Kreis hat 360°, und Geokoordinaten laufen von -180° bis +180°. Drei Stellen vor dem Komma sind also schonmal gesetzt. ​

Für die Anzahl der Nachkommastellen müssen wir wissen, wieviel Kilometer mit einem Grad, einem Zehntel, einem hunderstel Grad und so weiter ausgedrückt werden. ​

Die Erde ist näherungsweise eine Kugel, und wir wollen deshalb eigentlich die Länge eines Kreisbogens mit einem bestimmten Winkel berechnen. ​

Die Länge eines Bogens b ist b = π × r × α / 180°. ​

Der Radius der Erde ist 6378,16 Kilometer, also bekommen wir folgende Tabelle: ​

Stellen Grad Länge eines Grades
0 1 111,31 km
1 0,1 11,13 km
2 0,01 1,11 km
3 0,001 111,3 m
4 0,0001 11,1 m
5 0,00001 1,11 m
6 0,000001 0,1 m
7 0,0000001 11,1 mm
8 0,00000001 1,1 mm
9 0,000000001 0,11 mm

Wenn man eine metergenaue Auflösung haben möchte, muss man mindestens 6 Nachkommastellen nehmen. ​

Das ist in MySQL DECIMAL(9,6) (9 Stellen insgesamt, 6 Nachkommastellen). ​

Written by Christian Weiske.

Comments? Please send an e-mail.