PHP MySQL - альтернатива Левенштейна в десятичной системе счисления

У меня есть набор данных с координатами широты и долготы (два отдельных десятичных столбца). Мне нужно выполнить поиск по ним и отсортировать их по близости на основе предоставленных координат широты и долготы.

Я не против преобразования столбцов в varchar для выполнения сопоставления / поиска, но я знаю, что сопоставление / сопоставление оптимизировано для слов.

Как лучше всего отсортировать координаты по расстоянию? При необходимости я могу сделать это через PHP, хотя я бы предпочел сделать это на уровне объектов, чтобы уменьшить нагрузку на сервер и время загрузки.

В настоящее время я нахожусь в процессе тестирования подхода «матч / против».

Подведем итоги:

При заданном -90.23, 13.18 возвращаются самые близкие совпадающие пары координат широта / долгота в порядке близости.

Результат образца:

[1] -90.24, 13.17
[2] -90.18, 12.99
[3] -91.78, 16.98
[4] -90.27, 24.78

person AVProgrammer    schedule 22.01.2012    source источник
comment
возможный дубликат формул для расчета географической близости   -  person Eimantas    schedule 23.01.2012


Ответы (1)


Существует множество методов расчета географического расстояния между наборами точек. Некоторые точны, а другие - быстры. Выбор метода зависит от ваших требований. Поскольку здесь, в Stack Overflow, есть много ответов на вопросы, на которые есть конкретные ответы:

https://stackoverflow.com/search?tab=votes&q=distance%20mysql

person sanmai    schedule 22.01.2012