From 714fa9f4b42b02357168ef44333c543c7533a8d7 Mon Sep 17 00:00:00 2001 From: xhong Date: Tue, 14 Jan 2025 13:56:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=BD=B1=E5=83=8F?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=97=B6=E7=9A=84=E5=8E=8B=E7=BC=A9=E9=80=89?= =?UTF-8?q?=E9=A1=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HLS_SuPER/HLS_PER.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/HLS_SuPER/HLS_PER.py b/HLS_SuPER/HLS_PER.py index 14c153b..747fe9f 100644 --- a/HLS_SuPER/HLS_PER.py +++ b/HLS_SuPER/HLS_PER.py @@ -196,7 +196,11 @@ def process_granule( # Open Quality Layer qa_da = open_hls(quality_url, roi, clip, scale, chunk_size) # Write Output - qa_da.rio.to_raster(raster_path=quality_output_file, driver="COG") + # (Add) 添加压缩选项参数 compress + # compress 参数是源自 rioxarray 继承的 rasterio 的选项, 可以参考 https://rasterio.readthedocs.io/en/latest/api/rasterio.enums.html#rasterio.enums.Compression + # 若未指定则默认为 LZW, 生成速度较快, 但文件较大 + # 设置为 DEFLATE 是为了与官网直接下载文件一致且输出文件更小, 但生成速度略慢, 单张约慢 15s. + qa_da.rio.to_raster(raster_path=quality_output_file, driver="COG", compress="DEFLATE") else: qa_da = open_hls(quality_output_file, roi, clip, scale, chunk_size) logging.info( @@ -236,11 +240,11 @@ def process_granule( # Write Output if "FMASK" in output_name and not quality_filter: # (Add) 若 quality_filter=False, 则需要将质量层文件另外保存 - da.rio.to_raster(raster_path=output_file, driver="COG") + da.rio.to_raster(raster_path=output_file, driver="COG", compress="DEFLATE") else: # (Add) 固定输出为 float32 类型, 否则会默认 float64 类型 da.rio.to_raster( - raster_path=output_file, driver="COG", dtype="float32" + raster_path=output_file, driver="COG", dtype="float32", compress="DEFLATE" ) else: logging.info(