Извините за неоднозначное название. Это не дубликат MySQL - Найти точки в радиусе от базы данных
, Вот подробная проблема:
У меня есть база данных местоположения с индексированными значениями широты и долготы. Я могу свободно добавлять индекс и индексированный вычисляемый столбец при необходимости.
Мне дадут координаты и расстояние (например, 5 км), мне нужно:
Возвращает все точки в пределах 5 км от точки.
ИЛИ если это проще, все точки в пределах 5-километрового квадрата на карте.
Требуется, чтобы операция поиска в базе данных была настолько простой, насколько это возможно. Точность не является главным приоритетом. Результат может быть уточнен позже на стороне клиента, поэтому желательно при необходимости вернуть больше результатов с сервера.
База данных, которую я использую, - это SQL Server, если это имеет значение.
РЕДАКТИРОВАТЬ: Извините, я забыл еще одну проблему при публикации 1-го сообщения. У меня есть еще один похожий вопрос:
Применялось то же правило, круглой или квадратной формы, теперь у каждой целевой точки тоже есть свой радиус. Скажем, точка A имеет свойства Lat, Lng и Radius и так далее для B и C. Теперь мне нужно извлечь точки, которые имеют свою форму сталкивается с исходной формой.