Возможно, вам нужно сделать это в два этапа. Выберите точки, которые лежат в пределах 20-мильного квадрата с центром в X, Y. Предполагая, что вы сначала вычислите верхнюю, левую и нижнюю правую координаты квадрата, вы можете получить все точки внутри квадрата из базы данных с помощью:
select * from coordinates where longitude < right and longitude > left and
latitude < top and latitude > bottom;
Второй шаг - посмотреть, находится ли набор точек внутри круга радиусом 10 миль. На этом этапе у меня будет соблазн использовать карты Google для вычисления расстояния между точками и центром вашего квадрата с помощью функции google.maps.geometry.spherical.computeDistanceBetween(from:LatLng, to:LatLng, radius?:number)
. Проверьте ответ менее 10 миль. Эта функция по умолчанию использует радиус Земли.