Как рассчитать и сохранить данные широты / долготы для веб-приложения в реальном времени? - PullRequest
0 голосов
/ 28 февраля 2012

Я разрабатываю приложение, которое будет отслеживать широту / долготу всего пользователя. Для каждого пользователя он рассчитает расстояние между всеми другими пользователями в городе. Я буду использовать Python.

Например: Мой клиент будет обновлять базу данных с помощью long / lat каждые x секунд. Каждый раз, когда он обновляется, ему придется пересчитывать расстояние между собой и всеми другими пользователями, которые вошли в систему.

Мой план состоял в том, чтобы разделить города на их собственные таблицы, чтобы уменьшить объем данных и вычислений. Но чем больше я думаю об этой идее, тем хуже и хуже. Я не думаю, что это масштабировалось бы вообще, если бы было сколько-нибудь значительное количество трафика. Люди должны быть ограничены крупным городским районом, если они хотят использовать приложение, которое ограничит базу пользователей.

так что мой вопрос:

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

1 Ответ

1 голос
/ 28 февраля 2012

Существует " авиационный справочник ". Посмотрите там под "расстояние между точками".

Вот Эквивалентная Аппроксимация, которая на волосок быстрее.

Углы ( la1 , lo1 ), ( la2 , lo2 ) в радианах; Вы должны конвертировать из градусов.

Ответ, c , аналогично, в радианах. Вы не хотите получить градусы, но хотите получить статутные мили или километры. Для этого умножьте на средний радиус Земли: 6 378,1 км, 3 961,3 миль

Equirectangular Approximation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...