iphone - расстояние от точности местоположения - PullRequest
1 голос
/ 27 января 2012

Я обнаружил эту проблему с функцией distanceFromLocation, где возвращаемое значение не является точным.Пожалуйста, подтвердите, если я сделал это неправильно, или функция глючит.

CLLocation *locA = [[CLLocation alloc] initWithLatitude:5.321008 longitude:100.290131];
CLLocation *locB = [[CLLocation alloc] initWithLatitude:5.321008 longitude:100.290138];
CLLocationDistance distance = [locA distanceFromLocation:locB];
NSLog(@"distance: %f, locA: %f,%f, locB: %f,%f",distance,locA.coordinate.latitude,locA.coordinate.longitude,locB.coordinate.latitude,locB.coordinate.longitude);

Выход:

distance: 0.775644, locA: 5.321008,100.290131, locB: 5.321008,100.290138

Обе локации находятся рядом и должны быть менее 10 метровОднако функция возвращает большее расстояние.Проверяется с таким сайтом как http://jan.ucc.nau.edu/~cvm/latlongdist.html и расстояние должно быть:

Distance between 5.321008N 100.290131E and 5.321008N 100.290138E is 0.0008 km

Ответы [ 2 ]

1 голос
/ 27 января 2012

Ваш ответ в метрах, если вы конвертируете его в километры, вы получите 0.000775 km, что примерно одинаково. см. справочную документацию от Apple для получения дополнительной информации.

0 голосов
/ 27 января 2012

Это проблема GPS с iPhone, а не проблема кодирования.

Поскольку iphone предназначен в первую очередь для других целей, производитель не использует сверхпрочные чипы GPS - например, Sirf Star III.Это убило бы срок службы батареи.Вместо этого телефон частично использует другой протокол, предписанный для мобильных телефонов с 9/11, который вычисляет расстояние от вышек сотовой связи и выполняет трилатерацию для получения приблизительного значения.Трилатерация работает в сочетании с более слабым чипсетом GPS, если чипсет может найти 4 спутника.Результатом является то, что при использовании функции GPS у iPhone часто более 40 футов.Кстати, обычные портативные GPS-устройства, такие как Garmin (не дифференциальные GPS-устройства), часто отключаются на 2-3 метра.

Посмотрите дифференциальный GPS в Википедии, чтобы узнать больше об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...