Je souhaite géoréférencer un raster à l'aide de python
et GDAL
. Mon approche actuelle est d'appeler gdal_translate
et d' gdalwarp
utiliser os.system
et une vilaine liste de points de contrôle au sol. J'aimerais vraiment un moyen de le faire nativement à l'intérieur python
.
Voici le processus que j'utilise actuellement:
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"')
Il y a une précédente question et réponse de 2012 qui indique que l' gdal_translate
on peut y accéder après l'importation gdal
. Je ne sais pas si est obsolète, ou si c'est faux, mais quand je cours, from osgeo import gdal
je ne vois pas gdal.gdal_translate
d'option.
Je ne sais pas si elle existe mais j'aimerais beaucoup pouvoir traduire et reprojeter des rasters de manière pythonique. Par exemple:
# 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*)
Une telle approche est-elle possible?