/// <summary> /// Callback function for the DBScan clustering algorithm /// </summary> /// <param name="target"></param> /// <param name="items"></param> /// <returns></returns> List <TravelTimeDelay> FindNeighbours(TravelTimeDelay target, IList <TravelTimeDelay> items) { double eps = _parameters[_parametersIndex].DelayDifferencePercentage * target.TravelTime.TotalTravelTime.TotalSeconds / 100.0; List <TravelTimeDelay> result = new List <TravelTimeDelay>(); for (int i = 0; i < items.Count; i++) { if (items[i] != target && Math.Abs(target.Delay - items[i].Delay) < eps && _parameters[_parametersIndex].AreClose(target.TravelTime.TimeStart, items[i].TravelTime.TimeStart)) { result.Add(items[i]); } } return(result); }
/// <summary> /// Callback function for the DBScan clustering algorithm /// </summary> /// <param name="target"></param> /// <param name="items"></param> /// <returns></returns> List<TravelTimeDelay> FindNeighbours(TravelTimeDelay target, IList<TravelTimeDelay> items) { double eps = _parameters[_parametersIndex].DelayDifferencePercentage * target.TravelTime.TotalTravelTime.TotalSeconds / 100.0; List<TravelTimeDelay> result = new List<TravelTimeDelay>(); for (int i = 0; i < items.Count; i++) { if (items[i] != target && Math.Abs(target.Delay - items[i].Delay) < eps && _parameters[_parametersIndex].AreClose(target.TravelTime.TimeStart, items[i].TravelTime.TimeStart)) result.Add(items[i]); } return result; }