コード例 #1
0
        protected RouteProcessor(
            IGeoConfig config,
            ProcessorType processorType,
            IJ4JLogger?logger)
        {
            Configuration = config.ProcessorInfo !;
            Processor     = config.ProcessorType;
            ProcessorType = processorType;

            ReportingInterval = ProcessorType.MaxPointsPerRequest() == int.MaxValue
                ? 500
                : ProcessorType.MaxPointsPerRequest() * 5;

            Logger = logger;
            Logger?.SetLoggedType(GetType());
        }
コード例 #2
0
        private List <List <Coordinate> > ChunkPoints(List <Coordinate> points)
        {
            var retVal = new List <List <Coordinate> >();

            var ptsChunked = 0;

            while (ptsChunked < points.Count - 1)
            {
                var coordinates = points.Skip(ptsChunked)
                                  .Take(ProcessorType.MaxPointsPerRequest())
                                  .ToList();

                retVal.Add(coordinates);

                ptsChunked += coordinates.Count;
            }

            return(retVal);
        }