получение самой высокой скорости обновления GPS от оборудования GPS в моем Android

Мне пришлось программировать Android с других платформ, которые я использовал с GPS. на других платформах у меня был доступ к аппаратному обеспечению GPS (у меня был низкоуровневый драйвер GPS), и благодаря этому я мог получать обновления GPS 5 раз в секунду и даже больше. Сейчас я работаю с Samsung Galaxy S2 (который мне ясно, что его GPS очень мощный и может предоставлять несколько обновлений в секунду. В настоящее время, когда я устанавливаю поставщика GPS для предоставления обновлений на минимальном расстоянии и минимальном времени, например:

mlocManager.requestLocationUpdates( 
    LocationManager.GPS_PROVIDER, 0, 0, mlocListener
); 

Я получаю 1 обновление в секунду (или 800 мс как наименьший промежуток между двумя обновлениями), что слишком мало для моего приложения. Есть ли способ заставить GPS HW сообщать о большем количестве обновлений? Я предполагаю, что он не виден пользователю, но есть ли какой-нибудь способ получить доступ к регистрам GPS HW?


person user2610687    schedule 24.07.2013    source источник
comment
У меня есть еще один Bluetooth GPS от QStarz, который работает на частоте 10 Гц.   -  person user2613743    schedule 24.07.2013
comment
Я сомневаюсь, что вы можете получить более 1 Гц. Кроме того, я сомневаюсь, что ваше приложение не может работать с интервалами 1 с. А как насчет интерполяции?   -  person AlexWien    schedule 24.07.2013
comment
Действительно, интерполяция — это одно из решений. Я пытаюсь отследить местоположение автомобиля, поэтому 1 секунда на 100 км/ч составляет ~ 30 метров, и мне нужна более высокая степень детализации. Кроме того, я хотел бы знать (если кто-нибудь знает здесь), какова задержка расчета GPS. Я имею в виду, когда он сообщает о местоположении, сколько времени прошло с момента, когда мы были в этом месте. это также требует интерполяции, чтобы понять, где мы сейчас находимся, например. поэтому, если это также находится в районе 1 секунды или полсекунды, нам нужно интерполировать 2 секунды для того, где мы сейчас, и это действительно плохо для меня.   -  person user2610687    schedule 25.07.2013
comment
Вы делали измерения во время движения? Если вы едете так быстро, частота обновления GPS становится намного лучше.   -  person Pasquale Anatriello    schedule 07.01.2014
comment
@ user2610687 Чтобы определить отставание в GPS, разрешите GPS Чтобы сообщать о статическом местоположении с высокой точностью, затем взлетайте как можно быстрее и плавнее, используя данные акселерометра для точного расчета вашего местоположения в виде дельты от местоположения остановки. , и сравните с тем, что говорит GPS, что должно дать вам отклонение, из которого вы могли бы сделать несколько выводов, очень грубо. Полезно для понимания, но вряд ли будет полезно в реальном приложении без дополнительного контроля.   -  person FredCooke    schedule 09.07.2016


Ответы (1)


В настоящее время вы не можете получать обновления быстрее одного раза в секунду на большинстве телефонов. Это аппаратное ограничение GPS.

Обычно в большинстве телефонов она составляет 1 Гц.

Все зависит от оборудования и сценария, в котором вы используете (в помещении, на улице).

Но опять же, вы можете проверить, используя

LocationRequest setFastestInterval (long millis)

Это позволяет вашему приложению пассивно получать данные о местоположении быстрее, чем активно, что позволяет экономить электроэнергию.

В отличие от setInterval(long), этот параметр является точным. Ваше приложение никогда не будет получать обновления быстрее, чем это значение.

Этот метод устанавливает самую высокую скорость в миллисекундах, с которой ваше приложение может обрабатывать обновления местоположения. Вам необходимо установить эту скорость, потому что другие приложения также влияют на скорость отправки обновлений. Службы определения местоположения рассылают обновления с максимальной скоростью, которую запрашивает любое приложение, вызывая LocationRequest.setInterval().

Если эта скорость выше, чем может выдержать ваше приложение, вы можете столкнуться с мерцанием пользовательского интерфейса или переполнением данных.

person Jambaaz    schedule 28.01.2014
comment
не могли бы вы разместить ссылку на ресурс, где вы получили информацию об аппаратном лимите gps? - person Duncan; 07.12.2017