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();