हां आप पायथन के भीतर से GDAL यूटिलिटीज को कॉल कर सकते हैं। दृष्टिकोण में बहुत मामूली अंतर हैं कि क्या उपयोगिता अपने आप में एक निर्वासित है या अजगर कोड का एक टुकड़ा है। किसी भी तरह से हालांकि आपको उपप्रक्रम मॉड्यूल का उपयोग करने की आवश्यकता है :
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)
आप देखेंगे कि मैं अपने रास्तों के आसपास भाग के उद्धरण चिह्न जोड़ रहा हूं। ऐसा इसलिए है, क्योंकि विंडोज़ पर, मुझे रास्तों से परेशानी होती है, विशेष रूप से रिक्त स्थान वाले या जहाँ '\' वर्णों में से एक अन्य दुर्घटना से बचा हुआ चरित्र बनाता है। इसलिए, मैं अभी भी एस्पेक में उचित पथ को संरक्षित करता हूं जैसा कि यह था।
यदि आप एक अजगर उपयोगिताओं में से एक का उपयोग कर रहे हैं, तो बस वही करें जो आपके उप को छोड़कर सबप्रोसेस कमांड स्ट्रिंग की शुरुआत में है "C: \ python32 \ python.exe" (या आपके पास जो भी हो) और आपका दूसरा तत्व है अजगर उपयोगिता आप उपयोग करना चाहते हैं।
स्पष्ट रूप से आप हार्ड-कोडेड स्थिरांक का उपयोग करने के बजाय अपने फ़ाइल सिस्टम पर पुनरावृति कर सकते हैं, लेकिन यह केवल एक उदाहरण है।
EDIT - QGIS प्लगइन्स के लिए सामान्यीकरण QGIS
स्टार्ट अप में कई पर्यावरण चर बनाता / संशोधित करता है। इसलिए, आप उपरोक्त उदाहरण में हार्ड-कोडेड पथों के बजाय इनका उपयोग करके GDAL पुस्तकालयों / उपयोगिताओं के लिए सामान्यीकृत पथ चर बना सकते हैं।