diff --git a/opera-rtc-reproject.py b/opera-rtc-reproject.py index d92d32b..97eb3ec 100644 --- a/opera-rtc-reproject.py +++ b/opera-rtc-reproject.py @@ -44,26 +44,26 @@ def process_item(self, item: pystac.Item, source) -> pystac.Item: input_filename = download(asset.href, '.', logger=self.logger, access_token=self.message.accessToken) - if os.path.splitext(input_filename)[-1] == 'tif': - crs = self.message.format.process('crs') + crs = self.message.format.process('crs') - print(f'Processing item {item.id}') - # Stage the output file with a conventional filename - output_filename = os.path.splitext(os.path.basename(input_filename))[0] + '_reprojected.tif' - gdal.Warp(output_filename, input_filename, dstSRS=crs, format='COG', multithread=True, creationOptions=['NUM_THREADS=all_cpus']) - url = stage(output_filename, output_filename, 'image/tiff', location=self.message.stagingLocation, - logger=self.logger) + print(f'Processing item {item.id}') + # Stage the output file with a conventional filename + # TODO: Investigate proper way of generating filename. Look into `generate_output_filename` in harmony-service-lib-py. + output_filename = os.path.splitext(os.path.basename(asset.title))[0] + '_reprojected.tif' + gdal.Warp(output_filename, input_filename, dstSRS=crs, format='COG', multithread=True, creationOptions=['NUM_THREADS=all_cpus']) + url = stage(output_filename, output_filename, 'image/tiff', location=self.message.stagingLocation, + logger=self.logger) - # Update the STAC record - result.assets[key] = Asset(url, title=output_filename, media_type='image/tiff', roles=['data']) - # Other metadata updates may be appropriate, such as result.bbox and result.geometry - # if a spatial subset was performed + # Update the STAC record + result.assets[key] = Asset(url, title=output_filename, media_type='image/tiff', roles=['data']) + # Other metadata updates may be appropriate, such as result.bbox and result.geometry + # if a spatial subset was performed # Return the STAC record return result finally: # Clean up any intermediate resources - pass + print("Finished Processing") def run_cli(args):