Acionado pelo ponteiro de Mike Toews para GetGeoTransform , consegui criar um pequeno script pydal gdal que cria arquivos do mundo para qualquer raster georreferenciada suportada (eu acho). O código completo está aqui: gdal-makeworld.py
. Os bits essenciais são:
geotransform = dataset.GetGeoTransform()
if geotransform is not None:
x, x_size, x_rot, y, y_rot, y_size = geotransform
# correct for centre vs corner of pixel
x = x_size/2+x
y = y_size/2+y
world_file.write('%s\n' % x_size)
world_file.write('%s\n' % x_rot)
world_file.write('%s\n' % y_rot)
world_file.write('%s\n' % y_size)
world_file.write('%s\n' % x)
world_file.write('%s\n' % y)
world_file.close()
''' geotransform tuple key:
[0] /* top left x */
[1] /* w-e pixel resolution */
[2] /* rotation, 0 if image is "north up" */
[3] /* top left y */
[4] /* rotation, 0 if image is "north up" */
[5] /* n-s pixel resolution */
'''
Agradecimentos adicionais a Schuyler Erle pela escrita, gdalcopyproj.py
que usei como ponto de partida.
Dica do chapéu @AlisterH para "corrigir o centro vs o canto do pixel" , 30-05-2019