Алгоритм поиска всех местоположений широты и долготы на определенном расстоянии от заданного местоположения широты и долготы - PullRequest
72 голосов
/ 17 февраля 2011

Учитывая базу данных мест с местоположениями Широта + Долгота, таких как 40.8120390, -73.4889650, как мне найти все места на заданном расстоянии от определенного места?

Кажется, не очень эффективно выбирать все местоположения из БД, а затем проходить их по одному, получая расстояние от исходного местоположения, чтобы увидеть, находятся ли они в пределах указанного расстояния. Есть ли хороший способ сузить изначально выбранные места из БД? После того, как у меня есть (или нет?) Суженный набор мест, я все равно перебираю их по одному, чтобы проверить расстояние, или есть лучший способ?

Язык, на котором я это делаю, не имеет большого значения. Спасибо!

Ответы [ 11 ]

0 голосов
/ 15 мая 2012

Вы можете преобразовать широту-долготу в формат UTM, который является метрическим форматом, который может помочь вам рассчитать расстояния. Тогда вы можете легко решить, попадет ли точка в определенное место.

...