Python-使用gdal编写光栅

Python-使用gdal编写光栅,python,raster,gdal,Python,Raster,Gdal,我想在函数中编写一个带有gdal的光栅 def WriteRaster(InputArray, OutputFile, NROWS, NCOLS, XULCorner, YULCorner, Cellsize, wkt_projection): driver = gdal.GetDriverByName("GTiff") dataset = driver.Create("%s", NROWS, NCOLS, 1, gdal.GDT_Float32 %(OutputFile)) dataset.S

我想在函数中编写一个带有
gdal
的光栅

def WriteRaster(InputArray, OutputFile, NROWS, NCOLS, XULCorner, YULCorner, Cellsize, wkt_projection):
driver = gdal.GetDriverByName("GTiff")
dataset = driver.Create("%s", NROWS, NCOLS, 1, gdal.GDT_Float32 %(OutputFile))
dataset.SetGeoTransform((XULCorner,Cellsize,0,YULCorner,0,-Cellsize))
dataset.SetProjection(wkt_projection)
dataset.GetRasterBand(1).WriteArray(InputArray)
dataset.FlushCache()
return None
我得到这个错误:

%不支持的操作数类型:'int'和'str'

我想我可以这样定义输出文件名。为什么不呢

谢谢你的帮助

我认为这句话:

dataset = driver.Create("%s", NROWS, NCOLS, 1, gdal.GDT_Float32 %(OutputFile))
应该更像:

dataset = driver.Create("%s"%(OutputFile), NROWS, NCOLS, 1, gdal.GDT_Float32 )
看到我移动了%(OutputFile)位了吗

但是,如果OutputFIle是字符串,则可以使用:

dataset = driver.Create(OutputFile, NROWS, NCOLS, 1, gdal.GDT_Float32 )

有关格式字符串的更多信息,请参阅。

提示错误发生在哪一行?当我想定义输出文件名dataset=driver时,会发生错误。创建(“%s”,NROWS,NCOLS,1,gdal.GDT_Float32%(OutputFile))是的,gdal.GDT_Float32%(OutputFile)没有多大意义。非常感谢您的帮助。现在一切正常