Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Сортировка по расстоянию от объекта на глобусе. [RSS Feed]

#1 Фев. 24, 2011 10:13:26

vvp91
От:
Зарегистрирован: 2009-06-08
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка по расстоянию от объекта на глобусе.

helm2004
vvp91, и да ваша формула не правильна, ибо Земля естмь шар, а из сего значит что растояние между точками будет дуга :)
Вспомните геометрию (проекции), да и теорема Пифагора от перехода в сферические координаты не меняется. Да и координаты задаются в угловых мерах, да и дуга по поверхности считается в угловых мерах.
В общем, прежде чем высказываться о неверности, надо подготовиться.



Офлайн

#2 Фев. 24, 2011 10:30:21

vvp91
От:
Зарегистрирован: 2009-06-08
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка по расстоянию от объекта на глобусе.

helm2004
vvp91 Дёргать БД, при большой нагрузке(может он пишет для диспетчеров аэропортов), когда все маршруты знакомы, а аэропорта появляются не часто, когда известна марка самолёта и параметры аэропорта который этот самолёт готов принять, то лучше всё это хранить в отсортированом виде, для пущей производительности и здоровью во благо.
В ПО для диспетчеров заложены известные расстояния по коридорам авиадвижения, которые хранятся и используются для расчетов.
Скорее здесь ПО, обрабатывающее данные GPS.
Координаты точек задаются в угловых мерах, расчет все равно проводить по координатам конкретной внешней точки, переданными как параметры (Lat0,Long0) в запрос.
Пример запроса поиска точек в окрестности :Delta градусов для таблицы step(id,time,latitude,longitude) и произвольной точки, заданной пользователем в интерфейсе (:Lat0,:Long0), причем все угловые меры заданы в градусах и их долях:
select *
from STEP as S
where ((S.LATITUDE-:Lat0)*(S.LATITUDE-:Lat0)+(S.LONGITUDE-:Long0)*(S.LONGITUDE-:Long0))<=:Delta*:Delta
Аналогично и с сортировками.
Работать будет влет, даже не заметите, особенно по сравнению с выборкой на клиента.
Когда займетесь блошиной оптимизацией, построите тонкие индексы по LONGIUTDE, LATITUDE, раскроете скобки в выражении, параметры будете передавать на вычисление уже расчитанными. Но до блошиной оптимизации не дойдет.



Офлайн

#3 Фев. 24, 2011 10:34:10

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

Сортировка по расстоянию от объекта на глобусе.

Может быть - спорить не буду.

Офлайн

#4 Фев. 27, 2011 18:42:15

fth
От:
Зарегистрирован: 2010-07-26
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Сортировка по расстоянию от объекта на глобусе.

vvp91
Благодарю!



Офлайн

  • Начало
  • » Django
  • » Сортировка по расстоянию от объекта на глобусе.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version