def __init__( self, input_file, tile, pixelbuffer=0, resampling="nearest" ): try: assert isinstance(input_file, Sentinel2Metadata) except AssertionError: raise ValueError("input must be a Sentinel2Metadata object") try: assert pixelbuffer >= 0 except: raise ValueError("pixelbuffer must be 0 or greater") try: assert isinstance(pixelbuffer, int) except: raise ValueError("pixelbuffer must be an integer") try: assert resampling in RESAMPLING_METHODS except: raise ValueError("resampling method %s not found." % resampling) try: self.process = tile.process except: self.process = None self.tile_pyramid = tile.tile_pyramid self.tile = tile self.input_file = input_file self.pixelbuffer = pixelbuffer self.resampling = resampling self.profile = _read_metadata(self, "Sentinel2Tile") self.affine = self.profile["affine"] self.nodata = self.profile["nodata"] self.indexes = self.profile["count"] self.dtype = self.profile["dtype"] self.crs = self.tile_pyramid.crs self.shape = (self.profile["height"], self.profile["width"]) self._np_band_cache = {} self._band_paths_cache = {}
def __init__( self, input_mapchete, tile, pixelbuffer=0, resampling="nearest" ): try: assert os.path.isfile(input_mapchete.config.process_file) except: raise IOError("input file does not exist: %s" % input_mapchete.config.process_file) try: assert pixelbuffer >= 0 except: raise ValueError("pixelbuffer must be 0 or greater") try: assert isinstance(pixelbuffer, int) except: raise ValueError("pixelbuffer must be an integer") try: assert resampling in RESAMPLING_METHODS except: raise ValueError("resampling method %s not found." % resampling) self.process = input_mapchete self.tile_pyramid = self.process.tile_pyramid self.tile = tile self.input_file = input_mapchete self.pixelbuffer = pixelbuffer self.resampling = resampling self.profile = _read_metadata(self, "RasterProcessTile") self.affine = self.profile["affine"] self.nodata = self.profile["nodata"] self.indexes = self.profile["count"] self.dtype = self.profile["dtype"] self.crs = self.tile_pyramid.crs self.shape = (self.profile["height"], self.profile["width"]) self._np_band_cache = {}