Estou tendo muitos problemas com a GDAL. Além de, às vezes, falta documentação, parece haver pouco suporte no Python. De qualquer forma, este é apenas um script de reprojeto em lote que segue assim:
source_file = gdal.Open(filepath.encode("ascii"))
source_wkt = source_file.GetProjectionRef()
source_srs = osr.SpatialReference()
source_srs.ImportFromWkt(source_wkt)
reproj_file = gdal.AutoCreateWarpedVRT(source_file, source_wkt, dest_wkt)
gdal.ReprojectImage(source_file, reproj_file, source_wkt, dest_wkt)
reproj_attributes = reproj_file.GetGeoTransform()
driver = gdal.GetDriverByName("GTiff")
dest_file = driver.CreateCopy(outputpath.encode("ascii"), reproj_file, 0)
As partes dest_srs e des_wkt não estão definidas neste pedaço de código, mas estão em algum lugar fora do loop (já que precisam ser definidas apenas uma vez). Parece funcionar uma vez, posso obter um tif bonito e, em seguida, me dar um 'ERRO 6 WriteBlock () não suportado') e falhas no python. Todos eles são GeoTIFFs criados da mesma maneira com os mesmos dados básicos (apenas em momentos diferentes).
Também devido à natureza da reprojeção (do GCS para o PCS), o AutoCreateWarpedVRT tende a criar muito espaço em branco, mas fornece um valor de 0, o que é um problema, pois esse pode ser um valor real dos dados. Existe alguma maneira de definir o valor nodata para -99?
gdalwarp -t_srs '+proj=utm +zone=11 +datum=WGS84' raw_spot.tif utm11.tif
. Já faz muito tempo, recursos ricos, bem testados e provavelmente mais rápidos do que uma abordagem python pura.