Ya, Anda dapat memanggil Utilitas GDAL dari dalam Python. Ada perbedaan yang sangat kecil dalam pendekatan tergantung pada apakah utilitas itu adalah exe dalam dirinya sendiri atau juga sepotong kode python. Bagaimanapun Anda harus menggunakan modul subproses :
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)
Anda akan melihat bahwa saya menambahkan tanda kutip lolos di jalur saya. Ini karena, pada Windows, saya mengalami masalah dengan jalur, terutama yang memiliki spasi atau di mana salah satu karakter '\' membuat karakter yang lolos secara tidak sengaja. Jadi, saya hanya mempertahankan jalan yang benar di aspec.
Jika Anda menggunakan salah satu utilitas python, lakukan saja hal yang sama kecuali exe Anda di awal string perintah subproses sekarang "C: \ python32 \ python.exe" (atau versi apa pun yang Anda miliki) dan elemen kedua adalah utilitas python yang ingin Anda gunakan.
Jelas Anda juga dapat beralih dari sistem file Anda daripada menggunakan konstanta hard-coded, tetapi ini hanyalah sebuah contoh.
EDIT - Generalisasi untuk plugin
QGIS QGIS membuat / memodifikasi sejumlah variabel lingkungan saat start up. Jadi, Anda dapat membangun variabel jalur umum ke pustaka / utilitas GDAL menggunakan ini (lihat Pengaturan-> Opsi-> Sistem) alih-alih jalur kode-keras pada contoh di atas.