Поиск Направленной Карты - PullRequest
1 голос
/ 02 июня 2010

Я пытаюсь написать немного кода, который будет искать заданную точку на карте, но по заданной дуге с компасом.

например. 45 градусов (северо-восток), 20 градусов по обе стороны.

Пока у меня есть команда SQL, которая даст мне результаты в заданном радиусе, мне нужна помощь в том, как отфильтровать ее по направлению.

SELECT * FROM (SELECT `place1_id`, `place2_id`, ( 6371 * acos( cos( radians(search_latitude) ) * cos( radians( `location_lat` ) ) * cos( radians( `location_long` ) - radians(search_longitude) ) + sin( radians(search_latitude) ) * sin( radians( `location_lat` ) ) ) ) AS `distance` FROM `place` ORDER BY distance) AS `places` WHERE `places`.`distance` < search_radius AND `places`.`place2_id` = ?

Смогу ли я сделать это (если возможно) все в SQL, или потребуется немного PHP, применяемого к нему?

Любая помощь очень ценится!

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Спасибо vartec за вашу помощь, но я нашел этот сайт http://www.movable -type.co.uk / scripts / latlong.html , который дает множество информации, связанной с сопутствующими данными и вычислениями.

0 голосов
/ 02 июня 2010

Это возможно с базой данных, которая имеет пространственные расширения.

Я думаю, что вы используете MySQL, его пространственные расширения описаны здесь: http://dev.mysql.com/doc/refman/5.5/en/spatial-extensions.html

...