2016-04-08 8 views
1

Ich habe Python-Skript, das verfolgt Track GPS-Tracker. GPS-Daten werden zu ganzzahligen wie 514511623, 2201796 geparst, so dass die Division zu 10000000 gibt mir lat, lang. Aber wenn Tracker London passiert Koordinaten kommen wie folgt 516631273, 4293416810 so devision geben mir falsche Länge. Irgendeine Idee, wie man es richtig umwandeltConvert Integer zu Lat lange geo Position

Antwort

1

Ich bin nicht vertraut mit Deltonika GPS-Tracker. Aber es scheint, dass die Länge, die Sie bekommen, etwas mit negativer Ganzzahl zu tun hat. Die Lage ist sehr nah an Greenwich, wo die Länge 0 ist. Zu Beginn war es 0,22 ... Länge. Dann ging es in den negativen Längengradbereich. Aber der GPS-Empfänger behandelt nur eine positive ganze Zahl. Unter der Annahme, es nutzt 32-Bit-Integer ohne Vorzeichen, ist die maximale inter 2 ** 32 = 4294967296 Wenn Sie diese Zahl von 4293416810

4293416810 - 4294967296 = -1550486 
-1550486/1e7 = -0.1550486 longitude 

subtrahieren So ist die Länge von 0,2201796 bis -,1550486 geändert hat, wenn Sie näher an Greenwich zu bekommen.