Quiero georreferenciar un ráster usando pythony GDAL. Mi enfoque actual es llamar gdal_translatey gdalwarpusar os.systemy una lista fea de puntos de control en tierra. Realmente me gustaría una forma de hacer esto de forma nativa python.
Este es el proceso actual que estoy usando:
import os
os.system('gdal_translate -of GTiff -gcp 1251.92 414.538 -7.9164e+06 5.21094e+06 -gcp 865.827 107.699 -7.91651e+06 5.21104e+06 "inraster.tif" "outraster1.tif"')
os.system('gdalwarp -r bilinear -tps -co COMPRESS=NONE "outraster2.tif" "outraster3.tif"')
Hay una pregunta y respuesta anterior de 2012 que establece que gdal_translatese puede acceder después de la importación gdal. No estoy seguro de si está obsoleto o si está mal, pero cuando lo ejecuto from osgeo import gdalno lo veo gdal.gdal_translatecomo una opción.
No sé si existe, pero me encantaría poder traducir y reproyectar rásteres de manera pitónica. Por ejemplo:
# translate
gcp_points = [(1251.92, 414.538), (-7.9164e+06, 5.21094e+06)]
gdal.gdal_translate(in_raster, gcp_points, out_raster1)
# warp
gdal.gdalwarp(out_raster1, out_raster2, 'bilinear', args*)
¿Es posible este enfoque?