diff --git a/src/hyp3_isce2/water_mask.py b/src/hyp3_isce2/water_mask.py index e73fccd2..f5e3fa04 100644 --- a/src/hyp3_isce2/water_mask.py +++ b/src/hyp3_isce2/water_mask.py @@ -35,7 +35,8 @@ def create_water_mask(input_tif: str, output_tif: str): src_ds = gdal.Open(input_tif) - dst_ds = gdal.GetDriverByName('GTiff').Create(output_tif, src_ds.RasterXSize, src_ds.RasterYSize, 1, gdal.GDT_Byte) + dst_ds = gdal.GetDriverByName('GTiff').Create(output_tif, src_ds.RasterXSize, src_ds.RasterYSize, 1, gdal.GDT_Byte, + ['COMPRESS=LZW', 'TILED=YES', 'NUM_THREADS=ALL_CPUS']) dst_ds.SetGeoTransform(src_ds.GetGeoTransform()) dst_ds.SetProjection(src_ds.GetProjection()) dst_ds.SetMetadataItem('AREA_OR_POINT', src_ds.GetMetadataItem('AREA_OR_POINT')) diff --git a/tests/test_water_mask.py b/tests/test_water_mask.py index 17fa23f5..8d4ecb44 100644 --- a/tests/test_water_mask.py +++ b/tests/test_water_mask.py @@ -63,7 +63,9 @@ def test_create_water_mask_with_no_water(tmp_path, test_data_dir): assert info['bands'][0]['type'] == 'Byte' assert info['bands'][0]['minimum'] == 1 assert info['bands'][0]['maximum'] == 1 + assert info['bands'][0]['block'] == [256, 256] assert info['metadata']['']['AREA_OR_POINT'] == 'Area' + assert info['metadata']['IMAGE_STRUCTURE']['COMPRESSION'] == 'LZW' def test_create_water_mask_with_water_and_land(tmp_path, test_data_dir): @@ -74,7 +76,9 @@ def test_create_water_mask_with_water_and_land(tmp_path, test_data_dir): info = gdal.Info(output_tif, format='json') assert info['geoTransform'] == [200360.0, 80.0, 0.0, 1756920.0, 0.0, -80.0] assert info['bands'][0]['type'] == 'Byte' + assert info['bands'][0]['block'] == [256, 256] assert info['metadata']['']['AREA_OR_POINT'] == 'Point' + assert info['metadata']['IMAGE_STRUCTURE']['COMPRESSION'] == 'LZW' ds = gdal.Open(str(output_tif)) data = ds.GetRasterBand(1).ReadAsArray()