Предположим, у меня есть люди и их координаты GPS:
User1, 52.99, -41.0
User2, 91.44, -21.4
User3, 5.12, 24.5
...
Моя цель:
Учитывая набор координат,
- Из всех этих пользователей найдите в пределах 20 метров. (как сделать оператор SELECT следующим образом?)
- Для каждого из этих пользователей определите расстояние.
Как вы, наверное, догадались, эти координаты будут получены с мобильного телефона. Телефоны будут обновлять свою долготу / широту каждые 10 секунд, а также получать список пользователей <20 метров. Это динамично. </p>
Я бы хотел, чтобы это было наилучшим образом, чтобы оно могло масштабироваться.
- Будете ли вы хранить координаты в базе данных и обновлять их каждые 10
секунд? (Если вы храните его в базе данных ... как бы вы рассчитали это ...)
- Как бы вы сделали это, чтобы он мог масштабироваться?
Кстати, уже есть формула, которая может вычислить расстояние между двумя координатами http://www.johndcook.com/python_longitude_latitude.html. Мне просто нужно знать, как лучше это сделать технически (Деревья, База данных? Какая архитектура? Более конкретно ... как бы вы связали формулу длинного / латового расстояния с оператором "SELECT"?)