Как я понимаю, SQLite не имеет математических функций для правильной реализации формулы Haversine в прямом SQL. Я думаю, что это должно быть возможно, используя external function, причем реализация выполнена в C.Возможно ли реализовать формулу Хаверсина в Objective-C и вызвать ее из SQLite?
Целью является наличие базы данных SQLite в iPhone и возможность сортировки по расстоянию до текущего местоположения пользователя. Я искал, но я не могу найти пример каких-либо примеров этого. Я думаю, что трудные части будут получать правильные объявления функций. В конечном итоге я надеюсь, должен быть в состоянии выполнить SQL заявление, как:
SELECT * FROM LOCATION loc ORDER BY distance(loc.lat, loc.long, ?, ?)
У меня есть формула C Haversine. Определение функции выглядит следующим образом:
float distance(float nLat1, float nLon1, float nLat2, float nLon2);
Кто-нибудь знает, возможно ли это и/или есть какой-то пример кода для начала?