iPhone5s의 위치 정보 수평 정밀도를 취득해 보았다
6141 단어 GISiOSflurryCLLocationManagerGPS
CLLocationManager가 출력하는 값의 수평 정밀도가 신경이 쓰였으므로, 개발중의 어플리에 Flurry 에벤트를 넣어 확인해 보았다. 자전거 통근의 데이터이므로, 약 1시간 20분 정도. Flurry측에는 1000레코드 정도 로그가 기록되어 있어, 아마 어플리케이션으로부터 Flurry에 기록 가능한 로그의 상한이라고 생각된다.
코드는 이런 느낌 (앱의 코드에서 발췌 + 가공이므로, 복사에서 움직이지 않을지도.
- (id)init
{
self = [super init];
if (self) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
[_locationManager startUpdatingLocation];
[Flurry startSession:@"YOUR_FLURRY_API_KEY"];
}
return self;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
// ログ用のdictionaryを作成
NSDictionary *params = @{
@"latitude": [NSNumber numberWithDouble:newLocation.coordinate.latitude],
@"longitude": [NSNumber numberWithDouble:newLocation.coordinate.longitude],
@"horizontalAccuracy": [NSNumber numberWithDouble:newLocation.horizontalAccuracy], // 水平精度
@"verticalAccuracy": [NSNumber numberWithDouble:newLocation.verticalAccuracy], // 垂直精度
};
// Flurryにログ記録
[Flurry logEvent:@"CLLocation" withParameters:params];
}
로직을 실행하면
locationManager:didUpdateToLocation:fromLocation
가 호출되어 Flurry에 이벤트 로그가 기록됩니다. 이벤트 로그는 Flurry를 열고 Events → Event Logs에서 참조합니다.그래서 중요한 수평 정밀도는 어떻습니까? 그렇다면 취득 개시 직후는 다음과 같은 느낌. 장소는 실내 → 옥외 (단 건물 바로 옆).
주행하고 조금이라면 정밀도가 좋아졌다.
그 밖에도 몇 가지 데이터를 취득하여 표에 정리해 보았다. 셀룰러가 X가 되고 있는 것은 SIM을 뽑은 iPhone5(iPhone5s가 아니다)의 것.
셀룰러
WiFi
블루투스
위치
정밀도
○
○
○
실내
65m
○
○
○
야외에서 건물 바로 옆
50m
○
○
○
전망이 좋은 야외
5m - 10m
X
○
○
실내
65m
X
X
○
실내
450m - 3000m
X
X
X
실내
450m - 3000m
X
○
○
옥외
5m - 10m
X
X
○
옥외
5m - 10m
정리하면 다음과 같은 경향이 있다.
이상. 츳코미 환영.
Reference
이 문제에 관하여(iPhone5s의 위치 정보 수평 정밀도를 취득해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/key/items/1d196c4ec477f8773cd1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)