أكثر

Gdalwarp لقص ملف .tif: يعمل بشكل مستقل بشكل جيد ، ولن يعمل في Python

Gdalwarp لقص ملف .tif: يعمل بشكل مستقل بشكل جيد ، ولن يعمل في Python


أحاول استخدام وحدة العملية الفرعية لاستدعاء gdal warp ومقطع .tif باستخدام ملف الشكل. عندما أحاول الأمر في GDAL ، فإنه يعمل بشكل جيد ، لكن عندما أحاول تسميته في نص Python النصي ، فلن يعمل ، وسيتعطل فقط. يوجد أدناه الرمز الذي أستخدمه:

import os، gdal، subprocess، sys cmd = ['gdalwarp'، '- cutline'، 'C: /IDStudy/Input/Clip.shp'، '- crop_to_cutline'، '- dstalpha'، 'C: / IDStudy / Input /Merged.tif'،'C:/IDstudy/Output/Clipped.tif '] proc = subprocess.Popen (cmd، stdout = subprocess.PIPE، stderr = subprocess.PIPE) stdout، stderr = proc.communicate () exit_code = proc.wait () إذا exit_code: #Oops ، حدث خطأ ما! رفع RuntimeError (stderr) وإلا: طباعة stdout

يعمل أمر العملية الفرعية هذا بشكل جيد للدمج / إعادة الإسقاط ولكن لسبب ما لا يحب قص البيانات النقطية ... أية أفكار؟


لا أستطيع أن أقول إن لدي حلًا للمشكلة باستخدام عملية فرعية حيث واجهت مشكلات مماثلة لما وصفته من قبل. في النهاية قررت استخدام os.system بدلاً من العملية الفرعية (أدرك أن العملية الفرعية تهدف إلى استبدال os.system). إذن ما أفعله هو:

cmd = "gdalwarp…"٪ (…) os.system (cmd)

شاهد الفيديو: كيف نقوم بتشغيل ملف python على الوندوز من خلال الـcmd لاختبار الاكواد