Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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;
        }