Чтобы расширить ответ Кона выше, это именно то, что я начал делать для приложения, над которым я сейчас работаю. Вероятно, это лучший способ работы с относительно небольшим количеством точек.
В моем приложении, однако, я мог бы сравнить десятки тысяч путевых точек, вместо того, чтобы повторять математику снова и снова, я немного углубился в эту идею. Поскольку все точки находятся в пределах Великобритании, я выбрал три фиксированные точки (в моем случае - точку у Северной Шотландии, одну у Корнуолла и одну у Ла-Манша около Дувра), и когда я сохраняю новую путевую точку, я вычисляю каждая из этих фиксированных точек. Если мне нужно вывести точки, близкие к другому известному местоположению, я могу довольно просто сравнить расстояния от этих путевых точек в базе данных и отодвинуть только те, которые находятся близко. Используя триангуляцию, математика оказывается тривиальной, и я видел значительное увеличение скорости.
РЕДАКТИРОВАТЬ Я также собираюсь проверить ссылку NNS Адриана Плиссона сейчас, чтобы увидеть, поможет ли это мне еще дальше. :)