나는 도시 이름, 경도 및 위도가있는 7000 개 이상의 레코드가 포함 된 sqlite 데이터베이스가있는 응용 프로그램을 가지고 있습니다.이 "도시"도 데이터베이스의 관련 도시 필드에 연결되어 있습니다.CoreData + Magical Record 선택 쿼리 실행
내 앱이하는 일은 핵심 위치가있는 현재 위치를 쿼리하고 lon 및 lat 값을 가져온 다음 데이터베이스에서 가장 가까운 위치를 찾습니다.
결과는 (난 그냥 도시와 일치 할) 슈퍼 정확하지 않습니다, 그래서 가장 가까운 지점 찾기 위해 빗변의 공식을 사용하려면 : 나는 MS-SQL을 사용하는 경우
closest city in db: min((x1-x2)^2 +(y1-y2)^2)^(1/2)
x1, y1: lon and lat for user
x2, y2: lon and lat for points in database.
을 또는 sqlite 데이터베이스를 사용하면 쉽게 쿼리를 만들 수 있지만 핵심 데이터에 관해서는 아이디어가 없습니다.
모든 데이터를 가져 와서 메모리를 채우고 싶지 않아 모든 수식에이 수식을 집계하지 않으므로 쿼리를 만들고 db에서 결과를 얻을 수있는 방법이 있습니까?
이 문제에 지나치게 신경 쓰지 않고 간단한 해결책이 누락 되었습니까?
이것은 꽤 흥미로운 것 같습니다. 글쎄, 단지 1 개의 도시를 찾고 싶습니다. "x/y 해싱"에 대해 자세히 설명해주세요. 왜 그 값들을 해쉬 할 필요가 있을까요? – dreampowder
좋아, 내가 몇 가지 연구를했고 이것은 최고의 대답 인 것 같다. 나는이 coe를 시도하고 결과를 알려줄 것이다 :) – dreampowder