Я использую sql-сервер для расчета скорости ходьбы человека. У меня есть стол, такой как:Рассчитайте скорость ходьбы для людей
Name time(in min) latitude longitude
Billy 1 x1 y1
Billy 2 x2 y2
...
Jim 1 k1 m1
Jim 2 k2 m2
...
Kate 1 l1 n1
Kate 2 l2 n2
Я хочу выбрать людей, чья средняя скорость в час составляет от 5-7 м/час. Вот мой код, чтобы рассчитать расстояние от точки A до точки B, используя Haversin'law.
SELECT Name,
3956 * 2 * ASIN(SQRT(POWER(SIN((orig_lat1 - abs(dest_lat2)) * pi()/180/2), 2)+ COS(orig_longitude * pi()/180) * COS(abs(dest_lat2) * pi()/180) * POWER(SIN((orig_longitude - dest_longitude) * pi()/180/2), 2)))
AS distance
From Table1
Where distance>5 and distance<7
Где orig_lat1, dest_lat2, и т.д., широта и долгота исходной точке и назначения. Тем не менее, я не знаю, как динамически отслеживать скорость, таблица обновляется каждую минуту.
Спасибо.
Моя мысль заключается в том, чтобы объявить широту и долготу (как оригинал, так и пункт назначения) определенным образом. Скажем:
DECLARE @orig_lat1 blabla
DECLARE @orig_long blabla
Цель состоит в том, чтобы проверить среднюю скорость, по крайней мере, на один час. Поэтому, если в любой час скорость людей составляет 5-7 миль/час. Затем напечатайте имя народа.
Извините, на этом вам вопрос? Формула для расчета скорости? «Как вы отслеживаете скорость?» Зачем отслеживать скорость, когда вы можете ее вычислить? Скорость будет постоянно изменяться, лучше всего это средняя скорость, которая равна расстоянию/времени = скорость. Например, 5-7 миль в час. Итак, наш (расстояние/время) = скорость в единицах расстояния/минуты ... Или вы спрашиваете, как сделать самостоятельное соединение, чтобы получить следующий «интервал» и расстояние? – xQbert
Спасибо за ответ. Уравнение здесь просто для вычисления расстояния. Чтобы рассчитать скорость в миле/час, мне нужно собрать 1-й-60-й, 2-й-61-й строки для широты и долготы, чтобы вычислить скорость. (поскольку таблица обновляется каждую минуту). Как достичь этой цели, пожалуйста? Это средняя скорость, которую я ищу. – user4441082
Визуальный пример ожидаемых результатов поможет здесь. Вы хотите, чтобы скорость avg превысила все записи для имени, скорость между каждой записью? слишком много неизвестных. Итак, если человек выезжает на 2 часа, мы показываем среднюю скорость в течение всего 2 часов или на каждом нашем или между каждым интервалом? говорят, что они выходят на 1 прогулку сейчас, и еще одна прогулка позже ... Как мы можем различать отдельные прогулки, поэтому мы не смешиваем измерения lat/long ... Начните с конца в уме (наглядный пример поможет в этом) – xQbert