def process_arguments(self, args): # Call method on super class # super(self.__class__, self).process_arguments(args) Tool.process_arguments(self, args) self.latitude = args.latitude self.longitude = args.longitude self.output_no_data = args.output_no_data self.dataset_type = args.dataset_type if args.bands == BandListType.ALL: self.bands = get_band_name_union(self.dataset_type, self.satellites) elif args.bands == BandListType.COMMON: self.bands = get_band_name_intersection(self.dataset_type, self.satellites) else: self.bands = [] potential_bands = get_band_name_union(self.dataset_type, self.satellites) for band in args.bands: if band in potential_bands: self.bands.append(band) self.delimiter = args.delimiter self.output_directory = args.output_directory self.overwrite = args.overwrite
def log_arguments(self): # Call method on super class # super(self.__class__, self).log_arguments() Tool.log_arguments(self) _log.info( """ longitude = {longitude:f} latitude = {latitude:f} datasets to retrieve = {dataset_type} bands to retrieve = {bands} output no data values = {output_no_data} output = {output} over write = {overwrite} delimiter = {delimiter} """.format( longitude=self.longitude, latitude=self.latitude, dataset_type=self.dataset_type.name, bands=self.bands, output_no_data=self.output_no_data, output=self.output_directory and self.output_directory or "STDOUT", overwrite=self.overwrite, delimiter=self.delimiter, ) )
def __init__(self, name): # Call method on super class # super(self.__class__, self).__init__(name) Tool.__init__(self, name) self.latitude = None self.longitude = None self.output_no_data = None self.dataset_type = None self.bands = None self.delimiter = None self.output_directory = None self.overwrite = None
def setup_arguments(self): # Call method on super class # super(self.__class__, self).setup_arguments() Tool.setup_arguments(self) self.parser.add_argument("--lat", help="Latitude value of pixel", action="store", dest="latitude", type=float, required=True) self.parser.add_argument("--lon", help="Longitude value of pixel", action="store", dest="longitude", type=float, required=True) self.parser.add_argument("--hide-no-data", help="Don't output records that are completely no data value(s)", action="store_false", dest="output_no_data", default=True) self.parser.add_argument("--dataset-type", help="The type of dataset from which values will be retrieved", action="store", dest="dataset_type", type=dataset_type_arg, choices=self.get_supported_dataset_types(), default=DatasetType.ARG25, required=True, metavar=" ".join([s.name for s in self.get_supported_dataset_types()])) group = self.parser.add_mutually_exclusive_group() group.add_argument("--band", help="The band(s) to retrieve", action="store", dest="bands", type=str, nargs="+") group.add_argument("--bands-all", help="Retrieve all bands with NULL values where the band is N/A", action="store_const", dest="bands", const=BandListType.ALL) group.add_argument("--bands-common", help="Retrieve only bands in common across all satellites", action="store_const", dest="bands", const=BandListType.COMMON) self.parser.set_defaults(bands=BandListType.ALL) self.parser.add_argument("--delimiter", help="Field delimiter in output file", action="store", dest="delimiter", type=str, default=",") self.parser.add_argument("--output-directory", help="Output directory", action="store", dest="output_directory", type=writeable_dir) self.parser.add_argument("--overwrite", help="Over write existing output file", action="store_true", dest="overwrite", default=False)