Tak, możesz wywołać narzędzia GDAL z poziomu Pythona. Istnieją bardzo niewielkie różnice w podejściu w zależności od tego, czy narzędzie to samo w sobie exe, czy też fragment kodu python. Tak czy inaczej, musisz użyć modułu podprocesu :
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)
Zauważysz, że dodaję znaki cudzysłowu wokół moich ścieżek. Wynika to z faktu, że w systemie Windows miałem problemy ze ścieżkami, zwłaszcza ze spacjami lub gdy jedna z postaci „\” tworzy inną przypadkową postać, która uciekła. Więc po prostu zachowuję właściwą ścieżkę w Aspec.
Jeśli używasz jednego z narzędzi Pythona, po prostu zrób to samo, z tym że exe na początku łańcucha poleceń podprocesu ma teraz nazwę „C: \ python32 \ python.exe” (lub jakąkolwiek wersję masz), a drugim elementem jest narzędzie python, którego chcesz użyć.
Oczywiście możesz również iterować system plików zamiast używać stałych zakodowanych, ale to tylko przykład.
EDYCJA - Generalizacja dla wtyczek
QGIS QGIS tworzy / modyfikuje wiele zmiennych środowiskowych podczas uruchamiania. Możesz więc budować uogólnione zmienne ścieżki do bibliotek / narzędzi GDAL, używając tych (patrz Ustawienia-> Opcje-> System) zamiast ścieżek zakodowanych na stałe w powyższym przykładzie.