ResolvedStop ResolvedStopFromPositions(List <PositionEntry> positions) { PositionEntry avg = Util.AveragePosition(positions); (double average, double min, double max) = CalculateAccuracies(positions); ResolvedStop stop = new ResolvedStop() { Latitude = avg.Latitude, Longitude = avg.Longitude, BeginTimestamp = positions.First().Timestamp, EndTimestamp = positions.Last().Timestamp, AverageAccuracy = average, MinAccuracy = min, MaxAccuracy = max, }; return(stop); }
bool CheckSameLocation(ResolvedStop s1, ResolvedStop s2, double radius) { return(Util.DistanceBetween(s1.Latitude, s1.Longitude, s2.Latitude, s2.Longitude) < radius); }
bool CheckSameLatLong(ResolvedStop s1, ResolvedStop s2) { double EPSILON = 0.000001; return(Math.Abs(s1.Latitude - s2.Latitude) < EPSILON && Math.Abs(s1.Longitude - s2.Longitude) < EPSILON); }