أكثر

حدثت مشكلة أثناء استخدام أدوات gdal المساعدة في Python (لم يتم إنشاء ملفات إخراج)

حدثت مشكلة أثناء استخدام أدوات gdal المساعدة في Python (لم يتم إنشاء ملفات إخراج)


أحاول استخدام أدوات gdal المساعدة مثل gdal_polygonize في لغة python لتضخيم الصورة النقطية ولكني أجد صعوبة في فهم الأوامر. ما أعنيه هو أنه في بعض المواضع يكون الأمر بالصيغة المحددة ويقول:

gdal.Polygonize (srcband ، بلا ، dst_layer ، -1 ، [] ، رد الاتصال = لا شيء)

لقد وجدتها هنا

ويسمى الأمر أيضًا في لغة python باستخدام os.system ().

قرأت وحاولت تنفيذ أوامر من Gdal_polygonize: كيفية تصفية وحدات البكسل فوق قيمة معينة (الارتفاع)؟

gdal_polygonize.py result.tif result.shp

و python gdal_polygonize خطأ

os.system ('gdal_polygonize.py' + اسم الملف + '-f "ESRI Shapefile"' + ملف الأشكال)

ولكن لم يتم إنشاء ملف شكل بالرغم من عدم وجود خطأ أثناء تشغيل الكود.

أنا عالق وأواجه مشكلة كبيرة في تعلم استخدام gdal مع بيثون لأنني لا أفهم الحاجة أو الاختلاف بين نوعي الأوامر. الرجاء معالجة سؤالي.

ما هي الصيغة الصحيحة لاستخدام (دعنا نقول) gdal_calc.py عند استدعائها مع os.system () وأيضًا عند استخدامها كـ gdal_calc ()؟

P.s أستخدم python 2.7 على منصة win 8.1.

تحرير: باستخدام gdal.polygonize () أحصل على ملف الشكل الناتج ، لكن عندما أحاول عرضه بتنسيق qgis ، لا أحصل على شيء سوى شاشة بيضاء. وفي الحالة التي أحاول فيها استدعاء الأدوات المساعدة باستخدام os.system () ، لا أحصل على ملف إخراج فقط. من فضلك قل لي ما هو الخطأ.


في المثال الأول لديك نص برمجي بسيط ، حيث يتم استيراد جميع الوحدات النمطية ، ويتم إنشاء المعلمات ويتم تنفيذ وظيفتك باستخدام هذه المعلمات. تتم كتابة بيانات المتجه الخاصة بك إلىdst_layer.

هناك طرق قليلة لتنفيذ البرنامج النصي الخاص بك. يمكنك القيام بذلك في سطر الأوامر (إذا كان لديك متغيرات بيئية لـ python مع gdal):

$ python script_name.py

يمكنك أيضًا تنفيذ البرامج النصية والأوامر في Python shell.os.system ()ينفذ الأمر (سلسلة) في قشرة فرعية. المزيد عن ذلك. في المثال الخاص بك ، هناك سلسلة داخل os.system (). يمكنك تنفيذ جميع الأوامر التي تريدها ، يجب أن تكون أوامر windows cmd.

في Python shell ، يمكنك أيضًا تنفيذ الملفات باستخدامexecfile ("مسار / إلى / ملف")، على سبيل المثال ، يمكنك تشغيل البرنامج النصي الأول الخاص بك وسيتم إنشاء ملف شكل جديد.

اتمنى ان يساعد ذلك.


شاهد الفيديو: تعلم لغة بايثون من الصفر الى الاحتراف. كورس كامل