Да, вы можете позвонить в GDAL Utilities из Python. Есть очень незначительные различия в подходе в зависимости от того, является ли утилита exe-программой или же частью кода Python. В любом случае вам нужно использовать модуль подпроцесса :
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)
Вы заметите, что я добавляю экранированные кавычки вокруг моих путей. Это связано с тем, что в Windows у меня были проблемы с путями, особенно с пробелами, или из-за того, что один из символов '\' создает другой случайно экранированный символ. Так что я просто сохраняю правильный путь в aspec как бы.
Если вы используете одну из утилит python, просто сделайте то же самое, за исключением того, что ваш exe в начале командной строки подпроцесса теперь называется "C: \ python32 \ python.exe" (или какой бы версией вы не пользовались), а ваш второй элемент - утилита python, которую вы хотите использовать.
Очевидно, что вы также можете перебирать свою файловую систему, а не использовать жестко запрограммированные константы, но это всего лишь пример.
РЕДАКТИРОВАТЬ - Обобщение для плагинов QGIS
QGIS QGIS создает / изменяет ряд переменных среды при запуске. Таким образом, вы можете создавать обобщенные переменные пути для библиотек / утилит GDAL, используя их (см. Настройки-> Параметры-> Система) вместо жестко заданных путей в примере выше.