Как найти точку в пределах определенного расстояния от широты, долготы, как запрос MySQL - PullRequest
1 голос
/ 25 февраля 2012

У меня есть таблица в mysql с местами (широта и долгота), с учетом другой точки (P2) и расстояния (D), мне нужно найти с помощью SQL-запроса все места на этом расстоянии (D) от другой точки (P2).

Ответы [ 2 ]

0 голосов
/ 20 декабря 2015

Вы можете использовать следующий запрос MySQL для получения этой информации:

SELECT *, 
( 6373 * # Distance from center of earth to surface in     kilometers
acos(cos( radians( LATITUDE_OF_POINT) ) * cos( radians( `latitude` ) ) * 
     cos(radians( `longitude` ) - radians( LONGITUDE_OF_POINT ) ) +
     sin(radians(LATITUDE_OF_POINT)) * sin(radians(`latitude`)) ) )
 `distance` 
 FROM 
     `YOUR_DB_TABLE` 
 HAVING 
     `distance` < YOUR_DESIRED_DISTANCE 
 ORDER BY 
     `distance`;
0 голосов
/ 25 февраля 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...