I\'ve got an sqlite db with long and lat of shops and I want to find out the closest 5 shops.
So the following code works fine.
if(sqlite3_prepare_v2
The fastest way to find nearby locations in SQL is to use the Haversine formula in an SQL query. Do a Google search for sqlite and Haversine and you'll find an implementation.
Here's one I've used before:
http://www.thismuchiknow.co.uk/?p=71
you have to run through every element only once so the complexity is fairly good. you need a kind of fixed size Deque-container, a kind of linked list or a fixed size array, fixed by the size of 5, the number of shops you want to get from every point. add always the shop with the most minimal distance to the Deque. after running through your db you are have the nearest 5 shops in your deque.