通常,我使用以下终端命令来转换Sentinel 2 1C级数据(它是.jp2
格式),然后将其转换为EPSG:3411格式的.tif
gdalwarp -t_srs EPSG:3411 input.jp2 output.tif
由于要转换的卫星图像上的数量,我想要一个python代码。我阅读了this文章,并尝试将其应用(未成功运行)。很长一段时间后,我发现this的gdal.Warp用法很小。
现在我有以下代码,该代码不起作用:
import gdal
input_file = 'path/test.jp2'
output_file = 'test.tif'
gdal.Warp(output_file, input_file, dstSRS='EPSG:3411')
这是我得到的错误:
return _gdal.wrapper_GDALWarpDestName(*args)
SystemError: <built-in function wrapper_GDALWarpDestName> returned NULL without setting an error
如果有人可以说出我的短代码中的错误,我将很高兴。 如果这很重要:我将在spyder / anaconda3环境中工作。
谢谢!
答案 0 :(得分:0)
好的,我发现了我的错误。 当输入图像和代码位于同一目录中时,问题就解决了。或者,您可以使用输入文件的路径,但它必须是从根到映像的路径,而不仅仅是从运行代码的目录。 (那是一个愚蠢的星期一错误!:D)