Interpreting GPS Lat/Long from Tracker Software

Hello:

I loaded the SODAQ Tracker and I’m getting the following GPS data:

Default fix event started.
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1471554690, 136, 42, 406854432, 3555083086, 41, 0, 211, 4, 30

The Lat: 406854432 looks like my latitude 40.68 N, but the longitude 3555083086 is not recognizable, as my home longitude is -73.99 (73.99W)

Also the temperature of 42 (Celsius I presume) seems a bit high…

Is there a conversion factor for this?

Thanks
Regards
Emanuel Tsarnas

Yes, that does seem to be an incorrect location reading. Have you received the same (or approximately the same) coordinates multiple times?

There is currently an issue with the temperature readings, a fix is being worked on.

Thanks for your response, Gabriel. my ONE has been on for a few days and the longitude has been approximately the same, that is the first 5-6 digits 355508…

I think I know what the issue is. Somewhere the value is being cast to an unsigned integer, so -739884209 becomes 3555083086.

Thanks again Gabriel. Is it something that you will be fixing, or is there a quick fix I can perform in the code?

I think the issue is in the file GPSFixDataRecord.h, specifically the types used in lines 73-77.

I’m not sure if there might be other locations where there might be problems as well.

I can have a look later on (after I finish with my day job today).

Hello;

I changed uint32_t to int32_t in the properties getLat and getLon in the files GpsFixDataRecord.h and ReportDataRecord.h and the coordinates are now ok

Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1471839358, 135, 36, 406852927, -739884031, 40, 0, 73, 4, 33