Oui, vous pouvez appeler les utilitaires GDAL à partir de Python. Il y a de très petites différences dans l'approche selon que l'utilitaire est un exe à part entière ou aussi un morceau de code python. Quoi qu'il en soit, vous devez utiliser le module de sous - processus :
import subprocess
# constants
gdalTranslate = r'C:\Program Files\GDAL\gdal_translate.exe'
src = r"C:\somefolder\somefile.tif"
dst = r"C:\someotherfolder\myresul.tif"
cmd = "-ot float32 -outsize 25 25" # just for example!
# see note below
def youCanQuoteMe(item):
return "\"" + item + "\""
fullCmd = ' '.join([gdalTranslate, cmd, youCanQuoteMe(src), youCanQuoteMe(dst)])
subprocess.popen(fullCmd)
Vous remarquerez que j'ajoute des guillemets échappés autour de mes chemins. En effet, sous Windows, j'ai eu des problèmes avec les chemins, en particulier ceux avec des espaces ou lorsqu'un des caractères "\" crée un autre caractère échappé par accident. Donc, je conserve juste le chemin approprié dans aspec pour ainsi dire.
Si vous utilisez un des utilitaires python, faites simplement la même chose, sauf que votre fichier exe au début de la chaîne de commande du sous-processus est maintenant "C: \ python32 \ python.exe" (ou quelle que soit la version que vous avez) et que votre deuxième élément est l'utilitaire Python que vous souhaitez utiliser.
Bien entendu, vous pouvez également parcourir votre système de fichiers plutôt que d'utiliser des constantes codées en dur, mais ceci n'est qu'un exemple.
EDIT - Généraliser pour les plugins
QGIS QGIS crée / modifie un certain nombre de variables d'environnement au démarrage. Vous pouvez donc créer des variables de chemin d'accès généralisées aux bibliothèques / utilitaires GDAL à l'aide de celles-ci (voir Paramètres-> Options-> Système) au lieu des chemins codés en dur de l'exemple ci-dessus.