Формат для хранения данных GPS - PullRequest
1 голос
/ 28 марта 2011

Я пытаюсь сохранить данные GPS в базе данных Sqlite. Я извлекаю данные из файла KML через DDMS и сохраняю их в GeoPoint следующим образом:

GeoPoint p = new GeoPoint(latitude,longitude)

Проблема в том, что GeoPoint() принимает lon и lat только как int, так как он не определен для двойного формата. Теперь, если у меня 45,3242355 по долготе, то она хранится в Sqlite как int-453242355. И я хочу использовать это, чтобы нарисовать линию на карте между географическими точками, но я могу, поскольку этот формат целого числа находится вне диапазона широты и долготы. Может кто-нибудь сказать мне, как мне вернуться к реальным данным в формате?

1 Ответ

2 голосов
/ 28 марта 2011

Умножьте это на 10 ^ -6 (1e-6) (и чтобы преобразовать из двойного в их целочисленный формат, умножьте на 10 ^ 6 (1e6)).Целочисленный формат, используемый GeoPoint, не теряет данные, он просто в микродеградах, а не в градусах, как указано в документации .

(Это похоже на способ хранения поля валюты.значение $ 2,36 как «236» для упрощения арифметики и предотвращения дорогостоящих ошибок математических вычислений и ошибок FP).

...