Я хочу рассчитать среднюю скорость из двух точечных объектов. Точечный объект содержит метку времени, Longitude
, Latitude
и elevation
.
Я знаю, что мне нужно вычислить количество времени, которое прошло между измерениями для первой и последней точек на треке. Я надеялся использовать для этого тип ChronoUnit - в частности, метод промежуточный, который, как мне кажется, можно вызвать в ChronoUnit.SECONDS для измерения временных интервалов в единицах секунд.
Что у меня есть (в основном заглушка, поэтому запускаются юнит-тесты):
// Average speed method
public double averageSpeed() {
double avgSpeed = 0;
if (track.size () < 4) {
throw new GPSException ("Not enough points to compute");
} else {
return avgSpeed;
}
}
Точки считываются из файла .csv, пример которого можно посмотреть здесь:
Time,Longitude,Latitude,Elevation
2016-02-17T09:34:53Z,-1.536369,53.796796,35.0
2016-02-17T09:35:14Z,-1.536506,53.796819,35.1
2016-02-17T09:35:21Z,-1.536657,53.796798,35.2
2016-02-17T09:35:28Z,-1.536817,53.796783,35.3
2016-02-17T09:35:31Z,-1.536892,53.796711,35.4
2016-02-17T09:35:34Z,-1.536967,53.796623,35.5
У меня вопрос: я хочу знать, как рассчитать и вернуть averageSpeed()
, используя для этого тип ChronoUnit, в частности, метод between
для измерения временных интервалов в единицах секунд.