Каков наилучший способ эффективно рассчитать, какие точки близки к заданному широте / долготе, используя MySQL? - PullRequest
8 голосов
/ 01 июля 2010

Я пытаюсь разработать схему MySQL, которая может хранить список пользователей с соответствующей широтой и долготой.

Я бы тогда для данного пользователя хотел бы создать запрос, который может вернуть ему / ей 50 ближайших пользователей и отсортировать этих пользователей по расстоянию (причем ближайший будет представлен первым).

Учитывая, что в этой таблице может быть много тысяч пользователей, каков наиболее эффективный способ хранения и запроса этих данных?

Ответы [ 2 ]

5 голосов
/ 01 июля 2010

Попробуйте прочитать эту статью: Создание локатора магазина с помощью PHP, MySQL и Google Maps В этой статье показано решение MySQL для формулы Хаверсайна , которая является лучшим способом вычисления расстояния заданная широта и долгота.

4 голосов
/ 01 июля 2010

Взгляните на пространственную индексацию MySql .

Вы также можете использовать Great Circle Distance , там есть хорошая статья SO здесь .

...