Я понимаю, что есть три подхода к нейКак рассчитать расстояние во время работы на Android?
- GPS на основе: Добавить на короткие расстояния путешествовали (рассчитываются с использованием Location.distanceTo) в небольших интервалах времени (5-10 СЕК), но этот метод подвержен к ошибкам GPS и не будет работать в закрытом помещении или в короткой рабочей зоне (например, в небольшом парке)
- Двойная интеграция ускорения: Я могу сделать двойной интеграл данных акселерометра для расчета расстояния, но ошибки из-за шума в показаниях акселерометра могут добавить вверх.
- Шаг подсчета: Я могу определить шаги путем измерения пиков в данных акселерометра или с помощью Google Fit API, а затем умножить общее количество шагов со средней длиной шага. Но проблема здесь заключается в вычислении средней длины шага.
Я склонен к использованию # 3, поскольку он работает в помещении и не сильно подвержен ошибкам ИЛИ разряжается аккумулятор. Но как мне получить среднюю длину шага для каждого шага, особенно когда шаг бегуна изменяется по длине при спринте и беге.
Кто-нибудь знает какую-либо комбинацию этих методов для получения наилучших результатов? ИЛИ любой другой совершенно другой, но эффективный метод?
Я понимаю, что решение не является простым. Каков ваш алгоритм на основе акселерометра? и какова «заданная стоимость» скорости на вашем шаговом шаге? – ankit209