Android에서 위치 정확도는 어떻게 측정 되나요?


95

누구든지 getAccuracy ()에 의해 반환 된 정확도 측정에 대한 적절한 해석을 알고 있습니까? 예를 들어 다음과 같이 계산됩니까?

  • 순환 오류 확률 (올바르게 이해하면 50 % 신뢰 원의 반경)?

  • 95 % 신뢰 원의 반경?

  • 다른 것?

또한 사용되는 실제 계산은 무엇이며 얼마나 신뢰할 수 있습니까? 위치 추정 소스 (GPS 대 네트워크)에 따라 달라 집니까?

조언 해주셔서 감사합니다.


4
문제는 위치를 얻는 방법이 아니라 위치 클래스에서 getAccuracy의 반환 값에 대한 실제 정의에 관한 것입니다.
Janusz

답변:


67

질문의 한 부분에 답하기 위해 숫자는 the radius of 68% confidence,실제 위치가 미터 단위로 측정 된 지점의 반경 내에있을 확률이 68 %임을 의미합니다. 오류가 정규 분포를 따른다고 가정하면 (문서에서 말했듯이 반드시 사실은 아님) 이것은 하나의 표준 편차임을 의미합니다. 예를 들어 Location.getAccuracy10을 반환하면 기기의 실제 위치가보고 된 좌표에서 10 미터 이내에있을 가능성이 68 %입니다.

http://developer.android.com/reference/android/location/Location.html#getAccuracy ()


고마워, 칼. 나는 그들이 지금 문서를 업데이트했다고 봅니다. 이것은 매우 도움이됩니다. dscheffy의 포인트도 중요하다고 생각하지만 이것이 바로 제가 찾던 것입니다.
John RB Palmer

@paracycle 또한 제공 업체가 정확성을보고하고 최종적으로 원하는대로 처리 할 수 ​​있다는 점을 지적합니다. 예를 들어 DDMS를 사용하면 정확한 좌표를 입력하기 때문에 정확성을 위해 0.0 값이 제공됩니다.
karl

11
@AidenStrydom, 아니. 정확도가 1000을 반환하면 실제 위치가 제공된 위치에서 1000 미터 이내에있을 확률이 68 %임을 의미합니다.
karl

정확도가 날씨의 영향을 받습니까?
Juri Tichomirow

@karl 32 %가 10 미터를 넘었다는 뜻인가요? (예 : 11 미터 또는 12 미터 이상).
데이비드

44

배터리 수명이 제한되어 있고 건물이나 큰 건물 등이 많은 지역에서 GPS 신호가 없을 때 위치는 까다로운 작업입니다.하지만 Android를 사용하면 훨씬 쉽게 할 수 있습니다. 위치를 요청할 때 필요한 정확도를 지정하기 만하면됩니다.

accuracy예를 들어 를 원한다고 지정하면 *100 meters*Android가 위치를 가져 오려고 시도하고 70 미터의 정확도로 위치를 가져올 수 있으면 사용자에게 반환하지만 Android가 100보다 높은 정확도로 위치를 가져올 수있는 경우 미터, 당신의 응용 프로그램은 대기하고 그러한 정확한 위치가 될 때까지 아무것도 수신하지 않습니다.

일반적으로 Android는 먼저 Cell ID를 가져온 다음 Google 서버로 전송하여 이러한 Cell ID를 매핑하고 서버는 예를 들어 1000 미터에 대해 낮은 정확도로 위도와 경도를 반환합니다. 이때 Android는 해당 지역의 모든 Wi-Fi 네트워크를 확인하려고 시도하고 이에 대한 정보를 Google 서버로 전송하고 가능한 경우 Google 서버는 예를 들어 800 미터에 대해 더 높은 정확도로 새 위치를 반환합니다.

이때 GPS가 켜집니다. GPS 장치는 콜드 스타트에서 수정을 얻기 위해 최소 30 초가 필요하므로 수정이 가능하면 위도와 경도를 반환하지만 정확도가 다시 표시되며 이는 예를 들어 100 미터에서 가능한 가장 높은 값입니다. GPS가 오래 작동할수록 더 나은 정확도를 얻을 수 있습니다.

중요 공지 : 처음 두 가지 방법은 인터넷 연결이 필요합니다. 데이터 연결이 없으면 GPS를 기다려야하지만 장치가 건물에 있으면 위치를 알 수 없습니다.


14
그것은 "100m 정확도"가 무엇을 의미하는지에 대한 질문을 실제로 대답하지 않습니다.
Tomas

2
@vendor는 귀하가이 정보를 입수 한 참조를 명시 해 주시기 바랍니다. 귀하의 답변은 작동 방식을 이해하는 데 도움이되었습니다. 감사합니다.
공정한 플레이어

@a fair player 일부 정보는 developer.android.com에 있으며 Android의 위치 기반 서비스로 몇 가지 테스트를 수행했습니다.
공급 업체

9
100 미터의 정확도를 지정할 수있는 API는 무엇입니까? ACCURACY_COARSE, ACCURACY_FINE, ACCURACY_HIGH, ACCURACY_LOW, ACCURACY_MEDIUM의 기준이 표시되지만 100 미터는 표시되지 않습니다.
Cris '

이 답변은 무엇을 기반으로합니까?
AlikElzin-kilaka

18

getAccuracy 에 대한 문서 는 정확도를 미터 단위로 반환한다고 말합니다. 이것은 반환 값이 60이면 제공된 위치를 중심으로 반경이 60m 인 원 안에 있다는 것을 의미합니다.


1
내 Google지도와 내 현재 위치를 보면 당신이 맞습니다 ... 대부분의 경우. 또한 내 휴대 전화가 내 실제 위치에서 약 2 ~ 3km 떨어진 곳에 내 위치를 표시했습니다.이 문제에도 관심이 있습니다
poeschlorn 2010-06-16

1
감사. getAccuracy가 반환하는 값은 미터 단위이며 원의 반경이어야한다는 데 동의합니다 (또는 위치 추정치에 고도도 제공되는 경우 구). 그러나 그것과 관련된 확률도 있어야하며, 문서가 그 확률이 ​​무엇인지 또는 어떻게 도착했는지를 말하지 않는 것이 이상합니다. 나는 누군가가 그것이 CEP일지도 모른다고 제안한 온라인 게시물을 보았지만 그것은 단지 추측에 불과한 것처럼 보였으므로 그것이 그것이인지 95 % 신뢰도인지 아니면 다른 것인지 확인하는 방법을 찾고 싶습니다.
John RB Palmer

1
다음은 질문을 이해하는 데 유용하지만 해결되지 않는 몇 가지 링크입니다. users.erols.com/dlwilson/gpsacc.htm groups.google.com/group/android-developers/browse_thread/thread/…
John RB Palmer

12

Android 소스 코드를 한 눈에 볼 수있는 한, 이는 기기의 하드웨어와 반환하기 위해 선택한 값에 따라 다릅니다.

GpsLocationProvider.java파일은이 reportLocation방법 네이티브 코드에 의해 호출되는 및 값으로 정확도를 전달됩니다. 따라서 최소한 프레임 워크에서 계산이 일어나지 않는 것 같습니다.

qcom (내가 Qualcomm이라고 생각하는) GPS git repo hor_unc_circular 적어도 그 구현이 CER를 사용하고 있음을 암시하는 것처럼 보이는 정확도를 위해 매개 변수를 전달 하고 있습니다.


4

문서에 인용 된대로 정확성이라면 사용자의 실제 위치는 QUOTED_LOCATION +/- ACCURACY 내에 있습니다. 따라서 정확도는 사용자가있을 것으로 예상 할 수있는 반경을 정의합니다. 문서가 말하지 않는 것은 사용자가 반경 내에 있다는 것을 얼마나 확신 할 수 있는지입니다. 표준은 95 %이므로 이것을 추측합니다.


1
나는 질문에서 알 수 있듯이 자신감에 더 관심이 있습니다. 될 수있는 많은 측정 한 gpsinformation.net/main/errors.htm
사무엘

1

나는 당신이 확률 측면에서 확실한 답을 요구하고 있다는 것을 알고 있지만 여기서 고려해야 할 두 가지가 있다고 생각합니다.

먼저,이 값에 무엇을 입력할지 결정하는 것은 공급자의 몫이므로 공급자에 따라 잘못된 추측 일 수 있습니다.

둘째,이를 잠재적 인 반올림 문제로 생각하는 것이 도움이 될 수 있습니다. 여러 입력을 기반으로 위치를 계산하려고하는데 이러한 입력 중 일부가 특정 유효 자릿수에만 사용할 수있는 경우 지정된 유효 자릿수로만 위치를 계산할 수 있습니다.

이렇게 생각해보세요. "약"1에 "약"100을 더한 것입니다. 아마 100 정도일 것입니다. 100의 정확도는 1의 크기보다 작기 때문입니다. 갑자기 대답이 약 101이라고 말하면 거기에 없었던 정확도 수준을 암시 할 수 있습니다. 그러나 실제로 정확도를 지정하면 100 플러스 또는 마이너스 10 플러스 1 플러스 또는 마이너스 .1은 101 플러스 또는 마이너스 10이라고 말할 수 있습니다. 이것은 일반적으로 95 % 신뢰 수준 ( 표준 오류), 그러나 다시 말하지만 모두는 공급자가 통계를 이해하고 단순히 추측이 아니라고 가정합니다.


감사합니다. 이것은 매우 도움이됩니다. 첫 번째 문제에서 위치 추적에 대한 나의 접근 방식은 정확도 추정치를 수집하는 것이었지만 연속적인 지점 사이의 거리와 시간을 계산 한 다음 비현실적인 속도가 필요한 항목을 삭제하여 "현실 확인"을 수행하는 것이 었습니다 (때로는 경우, 정확한 정확도를 가진 것으로보고 됨). 다른 제안이 있으면 듣고 싶습니다.
John RB Palmer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.