Точность определения местоположения CLLocation

У меня есть приложение для определения местоположения, в котором предоставляется высота пользователя. Однако я обнаружил, что точность возвышения, предоставляемая CLLocationManager, крайне неточна. Когда я дважды тестирую те же два пятна, иногда разница в высоте составляет сорок футов, а иногда и сто. Есть ли способ улучшить вертикальную точность CLLocation, или есть другой способ получить возвышение пользователя (сторонние библиотеки)? Я уже пробовал проверять свойство verticalAccuracy newLocation, предоставляемое CLLocationManager, и выкидывать его, если этого недостаточно, но даже когда он является «точным», он все еще часто не является точным. Спасибо за ваше время!

Сейчас я использую:

if([newLocation verticalAccuracy] < 30) { if(isCustomary) altitudeLabel.text = [NSString stringWithFormat:@"%.2f feet", ([newLocation altitude] * 3.2808399)]; else altitudeLabel.text = [NSString stringWithFormat:@"%.2f meters", [newLocation altitude]]; } 

Проблемы с этим кодом: часто verticalAccuracy никогда не опускается ниже 30, и когда это происходит, это все равно даже близко к достаточно точному; Я проверил код, идущий вокруг моего дома (одна история), и он говорит, что изменение высоты до девятнадцати футов, что, я уверен, не соответствует действительности.

2 Solutions collect form web for “Точность определения местоположения CLLocation”

Высота, получаемая спутниками GPS, по своей сути менее точна, чем горизонтальное решение GPS из-за геометрии спутников. Вы должны ожидать, что вертикальная точность будет примерно в 1,5-3 раза хуже горизонтальной. Это всего лишь ограничение GPS и почему авиация требует коррекции WAAS, прежде чем вы сможете использовать GPS для подходов к инструментам.

Когда вертикальная точность составляет 20 или 30 метров, вы должны ожидать, что высота не должна превышать 100 футов. Ожидая, что он не изменится на 19 футов, когда вы будете ходить по дому нереальным.

Что бы вы могли сделать, так это сохранить скользящий, взвешенный средний (или фильтр Калмана ) недавних «хороших» показаний высоты, чтобы помочь отфильтровать ошибки измерения.

Какой код вы пробовали? Это лучший код для повышения, поэтому я не думаю, что есть что-то помимо этого:

 -(void)awakeFromNib { locmanager = [[CLLocationManager alloc] init]; [locmanager setDelegate:self]; [locmanager setDesiredAccuracy:kCLLocationAccuracyBest]; [locmanager startUpdatingLocation]; } - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { heightMesurement.text = [NSString stringWithFormat: @"%.2f m", newLocation.altitude]; } - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { heightMesurement.text = @"0.00 m"; } 
  • CLLocationManager в ios7 перестает работать
  • Форма региона в регионе / мониторинг геозонности iOS
  • iOS: Можно ли запросить базовую структуру расположения для определения местоположения, используя только ячеистую башню или только Wi-Fi или используя GPS-антенны?
  • магнитометр ios: отображение силы калибровочного обзора
  • CLLocationManager startMonitoringForRegion: не перезапуск приложения после перезапуска устройства
  • Pretty Print Расстояния для iOS
  • didUpdateLocations не вызывается, когда приложение находится в фоновом режиме
  • Как запросить разрешение у пользователя во второй раз, чтобы разрешить доступ к текущему местоположению?
  • CLRocationManager's didExitRegion никогда не вызывается
  • Уведомление, когда пользователь включает службы определения местоположения iOS 7 и выше
  • Как получить местоположение пользователя с CLLocationManager в swift?
  • Interesting Posts

    Изменение стиля UITableView как «сгруппированного» вызывает сбой

    Ограничение ширины огибающей uitextfield

    Тестирование равенства в царстве

    Дисплеи IOS UIImageView с черным фоном

    iOS: Как установить семейство нестандартных шрифтов, стиль, размер UILabel?

    Как взять параметр из схемы URL.

    NSURLConnection автоматически сохраняет файлы cookie, отправленные с сервера?

    Покажите некоторый интерфейс от фона в аудиоплеере или приложении VOIP на iOS

    Как проверить, работает ли iOS 6 на устройстве?

    Как использовать PFQuery для запроса точного соответствия массиву?

    AVAssetWriter добавляет зеленый кадр в видео выход

    Использование символа «меньше» (<) в документе XML и его анализ

    Как удалить нежелательную черную область во время анимации навигационной панели. Экранные снимки

    iOS: как разрешить анимацию для одного вида и запретить анимацию для нескольких других видов

    Обнаружение изменения ориентации iOS мгновенно

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.