Mam wbudowanej bazy danych w moim app, który ma wszystkie szerokości i długości geograficznej niektórych zainteresowanych punktów i muszę wiedzieć dystans od tych punktów (dostać moją pozycję za pomocą GPS). Mój problem jest: Mam tylko zorientowali się, że SQLite nie można obliczyć odległość przy użyciu kwerendy, które mam, ponieważ nie oblicza funkcji trygonometrycznych (sin, cos ...). Próbowałem uniknąć obliczania tych odległości programowo przy użyciu tego zapytania:iPhone - SQLite odległość przez długość i szerokość geograficzna
NSLog(@"SELECT ((ACOS(SIN(%@ * PI()/180) * SIN(lat * PI()/180) + COS(%@ * PI()/180) * COS(lat * PI()/180) * COS((%@ – lon) * PI()/180)) * 180/PI()) * 60 * 1.1515) AS `distance` FROM `members` HAVING `distance`<=’1000′ ORDER BY `distance`", Latitude,Latitude, Longitude);
Czy ktoś ma rozwiązanie?
Pozdrawiam!
Świetnie. Wielkie dzięki! – Claudio
Związany z odpowiedzią jest naprawdę dobry. Definiowanie funkcji c wywoływanej z sqlite w celu obliczenia odległości. Jest szybki i działa. Mogę tylko sprecyzować twoje wyszukiwanie za pomocą instrukcji BETWEEN. Używam tego: select * from miejscach, gdzie łac pomiędzy% F i% F i lon pomiędzy% F i% f ORDER BY odległości (szer,% f,% f) Limit 25 –
@KennyWinker Proszę podać wartość% F –