Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Функция расчета расстояния между точками / 10 сообщений из 10, страница 1 из 1
14.08.2016, 13:11
    #39291574
korumbo1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
Здравствуйте. У меня есть таблица с широтой и долготой это точки по пути следования объекта. Нужно выполнить вычисление расстояния между всеми точками при условии c.user_id =10 . Может кто то сталкивался или подскажете как сделать внутри mysql такой расчет ? Спасибо
...
Рейтинг: 0 / 0
14.08.2016, 14:37
    #39291582
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
обертывайте в функцию, формулы в интернете есть, пример
...
Рейтинг: 0 / 0
14.08.2016, 15:07
    #39291587
korumbo1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
Alex_Ustinov,

формулы я знаю. Нужно с mysql это завязать с выборкой. И так что бы значения сразу все засунут по SELECT предварительному.
...
Рейтинг: 0 / 0
14.08.2016, 15:36
    #39291590
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
автор У меня есть таблица с широтой и долготой это точки по пути следования объекта.DDL таблицs покажите, а на словах - сделайте запрос, который выводит предыдущую и текущую координату (x-old y-old x-new y-new) и подставляйте в функцию
SELECT МояФункцияДля расчетаРасстояния(x-old, y-old, x-new, y-new) FROM ...
дополним - просуммируем
SELECT SUM(МояФункцияДля расчетаРасстояния(x-old, y-old, x-new, y-new)) FROM ...
не забудьте WHERE c.user_id =10
...
Рейтинг: 0 / 0
14.08.2016, 16:52
    #39291602
korumbo1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
Alex_Ustinov,

А не быстрее будет если сразу 1000 значении забросим в одну функцию а не суммированием будем отрезки складывать ?
...
Рейтинг: 0 / 0
14.08.2016, 17:02
    #39291605
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
korumbo1,

как это, не пойму - "забросим 1000 значений"... это получается в функции будет тот же селект, а сделать общую функцию с возможностью повторного использования всегда лучше, чем делать частную, запиленную под одно действие (т.е. под одну таблицу)
надо уже проверять а вы все думаете
...
Рейтинг: 0 / 0
14.08.2016, 17:21
    #39291610
korumbo1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
Alex_Ustinov,

это создание массива из пар значений, предварительно пробежав с условием по таблице, и потом вычисляем в этой функции пробегая по самому массиву вычисляем расстояние. Скорее всего ваш пример будет вызывать каждый раз новую пару, а я предлагаю сделать массив 1 раз пробежав и потом уже работать с этими значениями в цикле for.

PS. С функциями не знакомы очень
...
Рейтинг: 0 / 0
14.08.2016, 17:29
    #39291615
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
korumbo1,

Базы данных работают с таблицами, так что при использовании БД о массивах речи обычно не ведется. У вас же таблица? Вот и работайте с таблицей. Зачем придумывать
...
Рейтинг: 0 / 0
14.08.2016, 17:36
    #39291620
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
korumbo1PS. С функциями не знакомы очень вот документация , там есть примеры. На вход подаете 4 параметра, считаете по формуле, возвращается одно - расстояние. Ничего сложного.
...
Рейтинг: 0 / 0
15.08.2016, 15:47
    #39292071
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция расчета расстояния между точками
korumbo1Alex_Ustinov,

формулы я знаю. Нужно с mysql это завязать с выборкой. И так что бы значения сразу все засунут по SELECT предварительному.

знал бы - написал бы формулу. - а человек который не может разделить свою задачу на две - геометрическую - как посчитать расстояние между двумя точками на планете, и програмисткую - как написать алгоритм на мускл, это сверхлень.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Функция расчета расстояния между точками / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]