def go(self): # If we are applying a vector mask then calculate it (once as it is the same for all tiles) mask_vector = None if self.mask_vector_apply: mask_vector = get_mask_vector_for_cell(self.x, self.y, self.mask_vector_file, self.mask_vector_layer, self.mask_vector_feature) for tile in self.get_tiles(): pqa = (self.mask_pqa_apply and DatasetType.PQ25 in tile.datasets) and tile.datasets[DatasetType.PQ25] or None wofs = (self.mask_wofs_apply and DatasetType.WATER in tile.datasets) and tile.datasets[DatasetType.WATER] or None dataset = self.dataset_type in tile.datasets and tile.datasets[self.dataset_type] or None if not dataset: _log.info("No applicable [%s] dataset for [%s]", self.dataset_type.name, tile.end_datetime) continue if self.list_only: _log.info("Would retrieve dataset [%s]", tile.datasets[self.dataset_type].path) continue filename = os.path.join(self.output_directory, get_dataset_filename(dataset, output_format=self.output_format, mask_pqa_apply=self.mask_pqa_apply, mask_wofs_apply=self.mask_wofs_apply, mask_vector_apply=self.mask_vector_apply)) retrieve_data(tile.x, tile.y, tile.end_datetime, dataset, self.bands, pqa, self.mask_pqa_mask, wofs, self.mask_wofs_mask, filename, self.output_format, self.overwrite, mask=mask_vector)
def output(self): dataset = self.tile.datasets[self.dataset_type] filename = get_dataset_filename(dataset, mask_pqa_apply=self.mask_pqa_apply, mask_wofs_apply=self.mask_wofs_apply) filename = os.path.join(self.output_directory, filename) return luigi.LocalTarget(filename)
def go(self): # If we are applying a vector mask then calculate it (once as it is the same for all tiles) mask = None if self.mask_vector_apply: mask = get_mask_vector_for_cell(self.x, self.y, self.mask_vector_file, self.mask_vector_layer, self.mask_vector_feature) for tile in self.get_tiles(): if self.list_only: _log.info("Would retrieve datasets [%s]", "\n".join([tile.datasets[t].path for t in intersection(self.dataset_types, [d for d in tile.datasets])])) continue pqa = (self.mask_pqa_apply and DatasetType.PQ25 in tile.datasets) and tile.datasets[DatasetType.PQ25] or None wofs = (self.mask_wofs_apply and DatasetType.WATER in tile.datasets) and tile.datasets[DatasetType.WATER] or None for dataset_type in self.dataset_types: if dataset_type not in tile.datasets: _log.debug("No [%s] dataset present for [%s] - skipping", dataset_type.name, tile.end_datetime) continue dataset = tile.datasets[dataset_type] filename = os.path.join(self.output_directory, get_dataset_filename(dataset, output_format=self.output_format, mask_pqa_apply=self.mask_pqa_apply, mask_wofs_apply=self.mask_wofs_apply, mask_vector_apply=self.mask_vector_apply)) retrieve_data(tile.x, tile.y, tile.end_datetime, dataset, pqa, self.mask_pqa_mask, wofs, self.mask_wofs_mask, filename, self.output_format, self.overwrite, mask=mask)