Question

J'essaie de stocker les données GPS dans une base de données SQLite. Je récupére les données à partir d'un fichier KML via DDMS et je les stocke dans une géoPoint de cette manière:

GeoPoint p = new GeoPoint(latitude,longitude)

Le problème est que GeoPoint() Accepte Lon et Lat uniquement comme INT, car il n'est pas défini pour le double format. Maintenant, si j'ai 45,3242355 à mesure que la longitude est stockée dans SQLite sous le nom INT-453242355. Et je veux l'utiliser pour tracer une ligne sur la carte entre les géopoints, mais je peux comme ce format d'entier est sorti de la gamme de latitude et de longitude. Quelqu'un peut-il me dire comment dois-je procéder pour récupérer mes données de format réel?

Était-ce utile?

La solution

Multipliez-le par 10 ^ -6 (1E-6) (et pour convertir d'un double en leur format entier, multipliez par 10 ^ 6 (1E6)). Le format entier utilisé par GeoPoint ne perd pas de données, elle est juste en microdégrees au lieu de degrés, comme spécifié par La documentation.

(Ceci est similaire à la façon dont un champ de devises peut stocker une valeur de 2,36 $ en tant que "236" pour simplifier l'arithmétique et éviter les erreurs de mathématiques et de FP chères).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top