Пример #1
0
        private static Task <IList <Tree> > ExecuteFromProcessed(DetectTreesCommand command, ILogger logger)
        {
            using var reader = new GpdReader(command.Input);
            var cloud         = reader.ReadPointSlices().SelectMany(slice => slice.PointSets).ToList();
            var pointSetGroup = new PointSetGroup(cloud);
            var trees         = Detect(pointSetGroup);

            return(Task.FromResult(trees));
        }
        public static Task Execute(FilterCommand command, ILogger logger)
        {
            if (File.Exists(command.Input) == false)
            {
                logger.Fatal("Input file does not exist!");
                Environment.Exit(0);
            }

            if (File.Exists(command.FiltersConfigurationFile) == false)
            {
                logger.Fatal("Configuration file does not exist!");
                Environment.Exit(0);
            }

            using var reader = new GpdReader(command.Input);
            var slices = reader.ReadPointSlices().Where(s => s != null).ToList();

            foreach (var slice in slices)
            {
                slice.PointSets = slice.PointSets.Where(p => p is { Empty: false }).ToList();