2016-08-10 2 views
0

Это мой запрос, который пытается вернуть расстояние от определенной точки ко всем записям в таблице.Геопространственная функция MYSQL с использованием данных таблицы и ST_Distance_Sphere

Это создание Таблица

CREATE TABLE `user` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `fname` varchar(45) DEFAULT NULL, 
    `lname` varchar(45) DEFAULT NULL, 
    `location` point DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=latin1; 

Это оператор выбора.

`SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), location) as distance from user;` 

Но он производит следующее сообщение об ошибке:

'Error', '1210', 'Incorrect arguments to st_distance_sphere'

Как получить вычисленное расстояние вместе с данными, используя тип точки, хранящейся в базе данных.

Это утверждение прекрасно работает

SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), POINT(-79.3716, 45.6319)) as distance FROM user; 
+0

решенный. Данные, которые были вставлены в базу данных, имели долготу и широту в обратном порядке, что приводило к недействительным параметрам –

ответ

0

Убедитесь, что переменная POINT хранится в базе данных в правильном порядке

Смежные вопросы