python gdal 影像已有金字塔 像删除金字塔怎么删呢
import gdal
from osgeo import gdal
datasat = gdal.Open(r"D:\项目\GF02_PA1_023116_20181128_MY450_01_096_L1A_01_PSH.tif")
# gdal.SetConfigOption("COMPRESS_OVERVIEW", "DEFLATE")
datasat.BuildOverviews()
会报错
ERROR 6: Cannot add external overviews when there are already internal overviews
该回答引用GPTᴼᴾᴱᴺᴬᴵ
报错提示已经存在内部金字塔,无法添加外部金字塔,如果需要删除内部金字塔,可以使用 gdaladdo 命令,例如:
import os
import subprocess
# 执行 gdaladdo 命令删除内部金字塔
subprocess.call(["gdaladdo", "-clean", r"D:\项目\GF02_PA1_023116_20181128_MY450_01_096_L1A_01_PSH.tif"])
# 打开数据集并建立外部金字塔
dataset = gdal.Open(r"D:\项目\GF02_PA1_023116_20181128_MY450_01_096_L1A_01_PSH.tif", gdal.GA_Update)
dataset.BuildOverviews("AVERAGE", [2, 4, 8, 16, 32])
dataset = None # 关闭数据集
这里使用 gdaladdo 命令的 -clean 参数删除内部金字塔,然后再使用 BuildOverviews 建立外部金字塔。