Движок приложения - ближайшие точки к текущему местоположению - PullRequest
0 голосов
/ 26 декабря 2011

Какой самый эффективный способ определения точек (точек), ближайших к текущему местоположению пользователя, с использованием следующих технологий:

  • Геолокация HTML5
  • Google App Engine с базой данных изпутевые точки, сохраненные в виде координат

Я понимаю, что могу вычислить попарные расстояния между текущим местоположением и всеми сохраненными путевыми точками, но может быть есть способ оптимизировать это, возможно, для будущих запросов?

пс.Я делаю это в масштабе всего города, поэтому достаточно плоского расстояния.

1 Ответ

0 голосов
/ 27 декабря 2011

Лично я бы пошел по этому маршруту:

  1. Используйте запрос, чтобы получить все путевые точки, которые находятся в определенной ограничительной рамке вокруг текущего местоположения.Простой запрос неравенства может сделать это:

  2. Если не найдено путевых точек, увеличьте ограничивающую рамку.Если их слишком много, уменьшите их.Повторите пункт 1.

  3. Когда вы получите разумное количество путевых точек, просто рассчитайте расстояние до каждой точки и используйте ближайшую.Вы можете использовать ряд приближений, чтобы избежать полного расчета географического расстояния: http://en.wikipedia.org/wiki/Geographical_distance

...