Задать вопрос

Выборка ближайших точек?

Есть MySQL база данных со следующей таблицей:


CREATE TABLE IF NOT EXISTS `my_table` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`name` text NOT NULL,

`longitude` double NOT NULL,

`latitude` double NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Необходимо составить запрос на выборку всех записей, которые находятся (по координатам longitude и latitude) в радиусе N метров от точки A (координаты которой известны).


P.S. До этого координаты хранил с помощью типа POINT, но после долгих поисков в интернете понял, что в MySQL очень урезаны возможности работы с этим типом, в отличие, к примеру, от PostgreSQL (PostGIS). Собственно по этому и пришлось перейти на хранение значений долготы и широты в разных полях.
  • Вопрос задан
  • 17574 просмотра
Подписаться 31 Комментировать
Подписчики вопроса 31 К ответам на вопрос (8)