我正在编写将 GeoTiff 文件转换为 png 的代码。 枕头对我不起作用。因此我正在使用 gdal。我在代码中遗漏了什么吗? 代码如下:
from osgeo import gdal
import os
options_list = ['-ot Byte','-of PNG']
options_string = " ".join(options_list)
in_tif = r"E:\some\path\tif_folder"
out_png = r"E:\some\other\path\png_folder"
list_tif = os.listdir(in_tif)
for x in list_tif:
in_tif = in_tif + "\\" + x
out_png = out_png + "\\" + x
gdal.Translate(out_png,in_tif,options=options_string)
最佳答案
它实际上给了我一个扩展名为 .tif 的文件,我以前没有注意到。因此,我使用替换函数将 tif 更改为 png。 for 循环中也存在非常基本的缺陷,因此文件不断被添加。 有效的新代码:
from osgeo import gdal
import os
options_list = ['-ot Byte','-of PNG']
options_string = " ".join(options_list)
in_tif = r"E:\some\path\tif_folder"
out_png = r"E:\some\other\path\png_folder"
list_tif = os.listdir(in_tif)
for x in list_tif:
indi_tif = in_tif+"\\" + x
print(in_tif)
indi_png = out_png + "\\" + x
try:
gdal.Translate(indi_png.replace(".tif",".png"),indi_tif,options=options_string)
except:
print("Failed files,",indi_tif)
关于python - 值错误 : Received a null pointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70376363/