Closed rodrigojmlourenco closed 9 years ago
public float getTraveledSpeed(Location l){
double distance = getTraveledDistance(l);
long elapsedTimeSeconds =
(long) Math.abs(((l.getRealElapsedTime() - this.getRealElapsedTime()) * nanos2Seconds));
return (float) (distance / elapsedTimeSeconds);
}
O problema foi resolvido passando a usar o realTimeNanos
em vez de timestamp
, e fazendo o absoluto do delta temporal.
Muitas das amostras de localização estão a ser discartadas na
HeuristicsAdmissionControlStage
devido à heurística 5. Esta heurística é responsável por discartar amostras, em que dada a localização anterior, a velocidade necessário para viajar entre os dois ponto tem que ser muito elevada.Esta heurística está actualmente a calcular velocidade infinita, pelo que o problema deve-se ao cálculo dessa velocidade, que ocorre na classe
pt.ulisboa.tecnico.cycleourcity.scout.mobilesensing.state.data.Location
.