Según tengo entendido, SQLite no tiene las funciones matemáticas para implementar correctamente la fórmula Haversine en SQL directo. Estoy pensando que esto debería ser posible usando un external function, con la implementación en C.¿Es posible implementar la fórmula Haversine en Objective-C y llamarla desde SQLite?
El objetivo es tener una base de datos SQLite en un iPhone, y poder ordenar por la distancia a la ubicación actual del usuario. He buscado, pero no puedo encontrar un ejemplo de ningún ejemplo de esto. Creo que las partes difíciles obtendrían las declaraciones de funciones correctas. El resultado final que estoy esperando, es ser capaz de ejecutar una instrucción SQL como:
SELECT * FROM LOCATION loc ORDER BY distance(loc.lat, loc.long, ?, ?)
tengo una fórmula C Haversine. La definición de la función es la siguiente:
float distance(float nLat1, float nLon1, float nLat2, float nLon2);
¿Alguien sabe si esto es posible y/o tiene algún código de ejemplo para comenzar?