2013-05-30 3 views
1

GPS 위치 보정 알고리즘을 개발 중입니다.Android LocationManager가 GPS 위치를 필터링하고 있습니까?

변경 될 때 현재 GPS 위치를 얻기 위해 onLocationChanged (위치 정보) 수신기를 등록합니다.

MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 0; // in Meters 
MINIMUM_TIME_BETWEEN_UPDATES = 1000; // in Milliseconds 
... 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
        MINIMUM_TIME_BETWEEN_UPDATES, 
        MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, 
        locationListener); 

문제는지도에 점을 그릴 때 이미 필터링 된 것처럼 보입니다.

지도 -지도>http://postimg.org/image/l8ja9joht/

측정은 삼성 갤럭시 S +에서 가져옵니다. Nokia E52 (심비안)에서 측정 한 결과 더 많은 임의 오류가있었습니다. 그래서 저는 andoird가 측정 값을 필터링한다고 가정합니다.

제발이 점에 대해 힌트를 주시겠습니까? 측정 값이 수신기의 원시 GPS 위치이거나 Android에서 필터링 된 후 어떤 정보도 찾을 수 없습니다.

+0

내 대답은 아래에 언급 된 스탠드 여전히 필터를 옆에 필터링 된 말아요. – AlexWien

답변

-1

예, unfortunatley ios 및 android에는 모두 정지 상태의 필터가 사용 설정되어있어 사용 중지 할 수 없습니다. 이 필터는 움직이지 않을 때 위치를 고정시킵니다. 시도해 볼 수있는 것은 GPS를 사용 중지하고 2 초마다 다시 시작하는 것입니다. 그런 다음 새로운 측정 위치를 얻을 수 있습니다.

+0

그러나 나는 움직이고있다, 문제는 칼만 필터 또는 다른 알고리즘을 사용하여 필터링 할 때와 같이 새로운 좌표가 생겼다는 것이다. 어쨌든 GPS를 다시 시작하면 다음 시간 간격마다 새로운 위치를 얻으려고 노력할 것이다. –

+0

물론 그들은 칼만 필터링, 내가 아는 모든 GPS 칩 (Sirf, ublox)이 않습니다. 이것은 GPS 칩 펌웨어에서 수행되며, 안드로이드는 원할 경우이를 비활성화 할 수 없습니다. – AlexWien

+0

이제 ok로 측정합니다. locationManager.requestSingleUpdate (...) 그런 다음 locationManager.removeUpdates (locationListener)에서 업데이트를 제거한 다음 새 측정을 위해 수신기를 등록합니다. 오류는 30-90 미터에서 확정됩니다. 건물 근처에 있지만 새로운 위치에 대해 10-15 초를 기다려야합니다. –

관련 문제