|
|
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. У меня есть таблица с широтой и долготой это точки по пути следования объекта. Нужно выполнить вычисление расстояния между всеми точками при условии c.user_id =10 . Может кто то сталкивался или подскажете как сделать внутри mysql такой расчет ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 13:11 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
обертывайте в функцию, формулы в интернете есть, пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 14:37 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, формулы я знаю. Нужно с mysql это завязать с выборкой. И так что бы значения сразу все засунут по SELECT предварительному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 15:07 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
автор У меня есть таблица с широтой и долготой это точки по пути следования объекта.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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 15:36 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, А не быстрее будет если сразу 1000 значении забросим в одну функцию а не суммированием будем отрезки складывать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 16:52 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
korumbo1, как это, не пойму - "забросим 1000 значений"... это получается в функции будет тот же селект, а сделать общую функцию с возможностью повторного использования всегда лучше, чем делать частную, запиленную под одно действие (т.е. под одну таблицу) надо уже проверять а вы все думаете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 17:02 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, это создание массива из пар значений, предварительно пробежав с условием по таблице, и потом вычисляем в этой функции пробегая по самому массиву вычисляем расстояние. Скорее всего ваш пример будет вызывать каждый раз новую пару, а я предлагаю сделать массив 1 раз пробежав и потом уже работать с этими значениями в цикле for. PS. С функциями не знакомы очень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 17:21 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
korumbo1, Базы данных работают с таблицами, так что при использовании БД о массивах речи обычно не ведется. У вас же таблица? Вот и работайте с таблицей. Зачем придумывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 17:29 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
korumbo1PS. С функциями не знакомы очень вот документация , там есть примеры. На вход подаете 4 параметра, считаете по формуле, возвращается одно - расстояние. Ничего сложного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 17:36 |
|
||
|
Функция расчета расстояния между точками
|
|||
|---|---|---|---|
|
#18+
korumbo1Alex_Ustinov, формулы я знаю. Нужно с mysql это завязать с выборкой. И так что бы значения сразу все засунут по SELECT предварительному. знал бы - написал бы формулу. - а человек который не может разделить свою задачу на две - геометрическую - как посчитать расстояние между двумя точками на планете, и програмисткую - как написать алгоритм на мускл, это сверхлень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2016, 15:47 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39291620&tid=1831494]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
179ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 497ms |

| 0 / 0 |
