Not important: Possible SQLite mismatch field type in waypoint.db
Observed on Locus versions 3.5.3 on Android 2.3 and 3.21.0 on Android 4.0.4.
I have been trying (eventually with success) to merge Locus waypoint.db databases coming from 2 of my phones.
I faced a problem when eliminating duplicates based on longitude and latitude: many duplicates were still in the resulting merged database. I tried several database managers with exactly the same results.
The issue is perhaps due to the following:
The longitude and latitude values are stored properly as decimal degrees, as demonstrated when the database is viewed with some SQlite managers (for exemple Firefox SQlite manager). But with some other managers, ( for example SQlite 2009) the values appear as the integer part only of the value.
On all managers, when viewing the type of the waypoint table fields longitude and latitude, the type is INTEGER (on both Locus 3.5.3 and 3.21.0 waypoints.db files).
Should the type of longitude and latitude fields be set to FLOAT (as the fields elevation and speed)?
Or I am missing something ?
I attached a screen dump of SQLite2009 showing the data types of the waypoints table fields.
This issue is not important as the longitude and latitude values are stored with all their decimal places despite being declared as INTEGER type, even after manipulation with a SQLite database manager. There is no impact on the functionality of Locus. The only and minimal possible problem only arises when manipulating the waypoints databases outside of Locus using the longitude and latitude fields..