将gdalwarp终端注释翻译为python代码(使用gdal绑定)-错误:未设置错误就返回NULL

时间:2019-04-01 16:27:28

标签: python gdal

通常,我使用以下终端命令来转换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环境中工作。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我发现了我的错误。 当输入图像和代码位于同一目录中时,问题就解决了。或者,您可以使用输入文件的路径,但它必须是从根到映像的路径,而不仅仅是从运行代码的目录。 (那是一个愚蠢的星期一错误!:D)