2016-08-02 2 views
0

내 도시에 해당하는 GPS 좌표에 대한 위치/주소 데이터베이스를 만들려고합니다. 그리고 나는 안드로이드의 지오 코더 클래스 대신에 역 지오 코딩을 위해 데이터베이스를 사용할 것입니다. 때때로 잘못된 결과를 주거나 결과를주지 않기 때문입니다. 그러나 현재 직면하고있는 문제는 현재 GPS 좌표와 주소를 가져 와서 비교하여 데이터베이스를 사용하려고 할 때마다 현재 GPS 좌표가 저장된 것과 일치하지 않는다는 것입니다. 현재 이동중인 좌표와 저장된 GPS 좌표 사이에는 작은 변화 (2-3 자리 차이) 만 있기 때문입니다. 그렇다면 현재 좌표가 저장된 좌표와 거의 일치하는 좌표를 사용하여 좌표 간의 유사성을 확인하는 방법 (알고리즘)이 있습니까? 그러면 주소를 얻을 수 있습니까?안드로이드에서 두 GPS 좌표 간의 유사성을 찾는 방법

답변

0

haversine formula을 사용하면 현재 GPS 좌표와 저장된 GPS 좌표 간의 거리를 계산할 수 있으며이 거리를 위치 간의 유사성 척도로 사용할 수 있습니다. 서로 미리 정의 된 거리 내에있는 경우 두 위치를 동일하게 간주 할 수 있습니다.

유일한 문제는 무차별 방식을 사용하면 GPS 좌표와 모든 저장된 점으로부터의 거리를 계산해야한다는 것입니다. 그것이 당신을 위해 일한다면, 당신은 선한 사람입니다. 그렇지 않으면 프로세스를 어떻게 든 최적화해야합니다. 가능한 접근법 중 하나는 사각형 격자를 사용하고 각 사각형 저장소에이 사각형 내에있는 위치를 배치하는 것입니다. 그런 다음 GPS 위치를 가져 와서 정사각형이 어느 정사각형인지를 결정한 다음 그리드의 동일하고 인접한 정사각형의 위치와 만 비교합니다.

+0

감사합니다. 실제로 안드로이드에 haversine 수식을 구현하는 것은 어려운 것처럼 보입니다. 그리드 사각형의 두 번째 방법을 사용하겠습니다. 그래서 그것을 위해 안드로이드로 데이터베이스를 만들어야합니다. 그렇지 않습니까? –

+0

격자 사각형만으로는 그럴 수 없다고 생각합니다. 어쨌든 후보 위치까지의 거리를 계산해야합니다. 그렇게 어렵지는 않습니다. 구현을 쉽게 수행 할 수 있으며 Android 개발자가 사용할 수있는 수학 함수가 포함되어 있습니다. 예, 어쨌든해야 할 일종의 데이터베이스를 구현해야합니다. –

관련 문제