(я думаю, что этот вопрос не зависит от платформы, но я пишу код для Nexus One).
О «текущей скорости»: каждую секунду я получаю обратный вызов, сообщая мне, каковы мои текущие значения широты и долготы. Я могу рассчитать расстояние между текущим местоположением и предыдущим местоположением, чтобы отслеживать совокупное расстояние и суммарное время. С этим я могу сказать, какая средняя скорость была для ВСЕГО путешествия.
Но как рассчитать текущую скорость? Я подозреваю, что мне нужно использовать самые последние образцы N, верно? Думаю ли я об этом правильный путь? Что такое хорошее эмпирическое правило для N? Сколько сэмплов или сколько секунд назад?
О "времени остановки": Если я просто стою на месте, мне все равно могут сообщаться немного разные широты и долготы, верно? Итак, решение о том, что я на самом деле не двигаюсь, означает сказать что-то вроде: «все предыдущие X locs были в пределах Y метров друг от друга», верно? Думаю ли я об этом правильный путь? Что такое хорошее эмпирическое правило для X и Y?
Даже о «расстоянии»: я буду занижать это, потому что я буквально режу углы? Существует ли алгоритм или практическое правило для определения момента, когда я «поворачиваюсь» и нужно ли добавить немного помадки?
РЕДАКТИРОВАТЬ: Я извиняюсь: я чувствую себя плохо из-за траты времени людей и доброй воли, но, к сожалению, устройство IS дает мне скорость. Я думал, что это не потому, что в эмуляторе это было не так, но на реальном устройстве это так. Спасибо всем. Мне все еще нужно написать некоторый эмпирический код, но самая большая проблема была в скорости.
РЕДАКТИРОВАТЬ: я убираю извинения. В своем первоначальном вопросе я написал, что расстояние тоже является производным значением. Если я просто использую необработанные данные GPS, я буду чрезмерно преувеличивать расстояние из-за неточностей. Я мог бы идти по прямой линии, но необработанный широта / долгота GPS будет колебаться, поэтому, если я вычислю общее расстояние, измерив расстояние между точками, я буду его преувеличивать. Вот несколько ссылок, связанных с этой проблемой.
Гладкие данные GPS
http://www.cs.unc.edu/~welch/kalman/Levy1997/index.html
Как разумно ухудшать или сглаживать данные ГИС (упрощающие полигоны)?
Как «сгладить» данные и рассчитать градиент линии?