23.5. مصمّم النماذج

يتيح لك مصمّم النماذج إنشاء نماذج معقّدة باستخدام واجهة بسيطة وسهلة الاستخدام. عند العمل في نظم المعلومات الجغرافية (GIS)، لا تكون معظم عمليات التحليل معزولة، بل جزءًا من سلسلة عمليات. وباستخدام مصمّم النماذج يمكن تغليف تلك السلسلة في عملية واحدة، مما يسهّل تنفيذها لاحقًا بمجموعة مختلفة من المدخلات. ومهما بلغ عدد الخطوات والخوارزميات المختلفة التي يتضمنها، يُنفَّذ النموذج كخوارزمية واحدة، مما يوفّر الوقت والجهد.

يمكن فتح مصمّم النماذج من قائمة المعالجة (Processing ► Model Designer).

23.5.1. واجهة مصمّم النماذج

../../../_images/modeler_canvas.png

شكل 23.18 مصمّم النماذج

يضم مصمّم النماذج في جزئه الرئيسي لوحة عمل يمكن فيها بناء بنية النموذج وسير العمل الذي يمثّله.

في أعلى نافذة الحوار، توفّر قوائم مختلفة وشريط الأدوات Navigation الوصول إلى مجموعة متنوعة من الأدوات.

23.5.1.1. قائمة النموذج

Label

اختصار

شريط أدوات التنقّل

وصف

success Validate Model

يتحقق من وجود الخوارزميات والمدخلات المستخدمة في النموذج. مفيد قبل إصدار النموذج.

play Run Model...

F5

checkbox

ينفّذ النموذج

runSelected Run Selected Steps...

Shift+F5

يشغّل الخطوات المحددة فقط في النموذج، مما يتيح تشغيل جزء من النموذج

Reorder Model Inputs...

يضبط الترتيب الذي تُعرض به المدخلات على المستخدم في نافذة حوار الخوارزمية.

Reorder Output Layers...

يضبط ترتيبًا محددًا يجب أن تتبعه مخرجات النموذج عند تحميل النتائج في مشروع.

fileOpen Open Model...

Ctrl+O

checkbox

يفتح ملف .model3 لتحريره أو تنفيذه

fileSave Save Model

Ctrl+S

checkbox

يحفظ النموذج على القرص كملف .model3

fileSaveAs Save Model as...

Ctrl+Shift+S

checkbox

يحفظ النموذج على القرص كملف .model3 جديد

fileSave Save Model in project

checkbox

يضمّن ملف النموذج داخل ملف المشروع، مما يجعله متاحًا عند مشاركة ملف المشروع.

helpContents Edit Model Help...

checkbox

واجهة لتوثيق النموذج والخوارزميات والمعاملات والمخرجات، إضافة إلى المؤلف ورقم الإصدار

Export ►

saveMapAsImage ► Export as Image...

checkbox

يحفظ التصميم الرسومي للنموذج في ملف بتنسيق صورة (لأغراض التوضيح)

saveAsPDF► Export as PDF...

يحفظ التصميم الرسومي للنموذج في ملف بتنسيق PDF (لأغراض التوضيح)

saveAsSVG► Export as SVG...

يحفظ التصميم الرسومي للنموذج في ملف بتنسيق SVG (لأغراض التوضيح)

fileSave► Export as Script Algorithm...

checkbox

يولّد ملف سكربت Python يتضمن تعليمات النموذج

23.5.1.2. قائمة التحرير

Label

اختصار

شريط أدوات التنقّل

وصف

selectAll Select All

Ctrl+A

يحدد جميع مكوّنات النموذج في المصمّم

Snap selected components to Grid

يلتقط العناصر ويحاذيها على شبكة

redo Redo

Ctrl+Y

checkbox

يستعيد آخر إجراء أُلغي. انظر أيضًا اللوحة Undo/Redo.

undo Undo

Ctrl+Z

checkbox

يلغي التغيير السابق. انظر أيضًا اللوحة Undo/Redo.

editCut Cut

Ctrl+X

يقصّ مجموعة محددة من المكوّنات من النموذج.

editCopy Copy

Ctrl+C

ينسخ مجموعة محددة من المكوّنات من النموذج.

editPaste Paste

Ctrl+V

يلصق مجموعة مكوّنات مقصوصة أو منسوخة من نموذج إلى آخر أو داخل النموذج نفسه. تحتفظ المكوّنات المحددة بخصائصها وتعليقاتها الأصلية.

deleteSelected Delete selected components

Del

يزيل مكوّنًا من النموذج.

Add Group Box

يضيف مربعًا في خلفية المكوّنات المترابطة لتجميعها بصريًا. مفيد خصوصًا في النماذج الكبيرة للحفاظ على سير عمل مرتّب.

23.5.1.3. قائمة العرض

Label

اختصار

شريط أدوات التنقّل

وصف

Zoom To ►

يكبّر إلى امتداد مربع التجميع المحدد

zoomIn Zoom In

Ctrl++

checkbox

zoomOut Zoom Out

Ctrl+-

checkbox

zoomActual Zoom to 100%

Ctrl+1

checkbox

zoomFullExtent Zoom Full

Ctrl+0

checkbox

يعرض جميع المكوّنات في لوحة المصمّم الحالية

checkbox Show Comments

يعرض التعليقات المرتبطة بكل خوارزمية أو مُدخل في مصمّم النماذج

unchecked Enable Snapping

unchecked Toggle Panel Visibility

Ctrl+Tab

يُظهر اللوحات في المصمّم أو يخفيها

23.5.1.4. لوحات

الجزء الأيسر من النافذة قسم يضم خمس لوحات يمكن استخدامها لإضافة عناصر جديدة إلى النموذج:

  1. Inputs: جميع معاملات الإدخال التي يمكن أن تشكّل نموذجك

  2. Toolbox: تجد هنا خوارزميات المعالجة المتاحة. وتتضمن أيضًا معاملات الإدخال. استخدم المربع Search... للعثور على الخوارزميات أو المدخلات.

  3. Model Properties: حدّد اسم النموذج (إلزامي) والمجموعة التي سيُعرض ضمنها في صندوق أدوات المعالجة

  4. Variables: يمكن أن تحتوي النماذج على متغيرات مخصصة فريدة ومتاحة لها وحدها. يمكن الوصول إلى هذه المتغيرات من أي تعبير مستخدم داخل النموذج. وهي مفيدة للتحكم في الخوارزميات داخل النموذج والتحكم في جوانب متعددة منه بتغيير متغير واحد. يمكن عرض المتغيرات وتعديلها في اللوحة Variables.

  5. Undo History: تسجّل هذه اللوحة كل ما يحدث في مصمّم النماذج، مما يسهّل إلغاء ما فعلته خطأً.

23.5.1.5. حول الخوارزميات المتاحة

بعض الخوارزميات التي يمكن تنفيذها من Processing ► Toolbox لا تظهر في قائمة الخوارزميات المتاحة أثناء تصميم النموذج. فلكي تُضمَّن خوارزمية في نموذج، يجب أن تكون لها دلالة صحيحة. وإذا لم تكن لخوارزمية دلالة محددة جيدًا (مثلًا، إذا تعذّرت معرفة عدد طبقات المخرجات مسبقًا)، فلا يمكن استخدامها داخل نموذج، ولن تظهر في قائمة الخوارزميات في نافذة حوار مصمّم النماذج. ومن ناحية أخرى، توجد خوارزميات خاصة بمصمّم النماذج، وهي موجودة ضمن المجموعة 'Modeler Tools'.

23.5.2. إنشاء نموذج

يتضمن إنشاء نموذج خطوتين أساسيتين:

  1. تحديد المدخلات اللازمة. تُضاف هذه المدخلات إلى نافذة المعاملات، ليتمكن المستخدم من ضبط قيمها عند تنفيذ النموذج. والنموذج نفسه خوارزمية، لذا تُولَّد نافذة المعاملات تلقائيًا كما هو الحال لجميع الخوارزميات المتاحة في إطار المعالجة.

  2. تحديد سير العمل. باستخدام بيانات الإدخال للنموذج، يُحدَّد سير العمل بإضافة الخوارزميات واختيار كيفية استخدامها للمدخلات المحددة أو للمخرجات التي تولّدها خوارزميات أخرى في النموذج.

23.5.2.1. تحديد المدخلات

الخطوة الأولى هي تحديد مدخلات النموذج. تجدها في اللوحة Inputs على الجانب الأيسر من نافذة مصمّم النماذج. يؤدي تمرير مؤشر الفأرة فوق المدخلات إلى إظهار تلميح يحمل معلومات إضافية. للاطلاع على القائمة الكاملة للمعاملات المتاحة في مصمّم النماذج وما يقابلها في السكربتات، اقرأ أنواع المدخلات والمخرجات لخوارزميات المعالجة.

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

../../../_images/models_parameters.png

شكل 23.19 تحديد معاملات النموذج

يمكنك جعل المُدخل إلزاميًا في نموذجك بتحديد الخيار checkbox Mandatory، وبتحديد مربع الاختيار unchecked Advanced يمكنك وضع المُدخل ضمن القسم Advanced. وهذا مفيد خصوصًا عندما يحتوي النموذج على معاملات كثيرة بعضها غير بديهي، لكنك لا تزال تريد اختيارها.

لكل مُدخل مضاف، يُضاف عنصر جديد إلى لوحة مصمّم النماذج.

../../../_images/models_parameters2.png

شكل 23.20 معاملات النموذج

يمكنك أيضًا إضافة المدخلات بسحب نوع المُدخل من القائمة وإفلاته في الموضع الذي تريده على لوحة مصمّم النماذج. وإذا أردت تغيير معامل لمُدخل موجود، فانقر عليه نقرًا مزدوجًا لتظهر نافذة الحوار نفسها.

عند استخدام نموذج داخل نموذج آخر، تُعرض المدخلات والمخرجات اللازمة على اللوحة.

23.5.2.2. تحديد سير العمل

في المثال التالي سنضيف مُدخلين وخوارزميتين. الهدف من النموذج هو نسخ قيم الارتفاع من طبقة شبكية لنموذج الارتفاع الرقمي إلى طبقة خطية باستخدام الخوارزمية Drape، ثم حساب إجمالي الصعود للطبقة الخطية باستخدام الخوارزمية Climb Along Line.

في التبويب Inputs، اختر المُدخلين: Vector Layer للخط و Raster Layer لنموذج الارتفاع الرقمي. أصبحنا الآن جاهزين لإضافة الخوارزميات إلى سير العمل.

تجد الخوارزميات في اللوحة Toolbox، مجمّعة بالطريقة نفسها تقريبًا التي تظهر بها في صندوق أدوات المعالجة.

../../../_images/models_parameters3.png

شكل 23.21 مدخلات النموذج

لإضافة خوارزمية إلى نموذج، انقر نقرًا مزدوجًا على اسمها أو اسحبها وأفلتها، تمامًا كما في المدخلات. وكما في المدخلات، يمكنك تغيير وصف الخوارزمية وإضافة تعليق. عند إضافة خوارزمية، تظهر نافذة حوار تنفيذ بمحتوى مشابه لما في لوحة التنفيذ التي تظهر عند تنفيذ الخوارزمية من صندوق الأدوات. تعرض الصورة التالية نافذتي حوار الخوارزميتين Drape (set Z value from raster) و Climb along line.

../../../_images/models_parameters4.png

شكل 23.22 معاملات خوارزمية النموذج

كما ترى، توجد مع ذلك بعض الاختلافات. فلكل معامل قائمة منسدلة بجانبه تتيح التحكم في طريقة تزويده بالقيمة أثناء سير العمل:

  • fieldInteger Value: يتيح لك إسناد قيمة ثابتة إلى المعامل. وبحسب نوع المعامل، يتيح لك عنصر الواجهة إدخال رقم (5.0)، أو سلسلة نصية (mytext)، أو تحديد طبقة أو طبقات محمّلة في مشروع QGIS أو من مجلد، أو اختيار عناصر من قائمة، ...

  • expression Pre-calculated Value: يفتح نافذة الحوار منشئ التعابير ويتيح لك تحديد تعبير لملء المعامل. تتوفر مدخلات النموذج مع بعض إحصاءات الطبقات الأخرى بوصفها متغيرات وتُدرج في أعلى نافذة البحث في منشئ التعابير. يُقيَّم التعبير مرة واحدة قبل تنفيذ الخوارزمية الفرعية ويُستخدم أثناء تنفيذها.

  • processingModel Model Input: يتيح استخدام مُدخل مضاف إلى النموذج كمعامل. عند النقر عليه، يعرض هذا الخيار جميع المدخلات المناسبة للمعامل.

  • processingAlgorithm Algorithm Output: يتيح استخدام مخرجات خوارزمية أخرى كمُدخل للخوارزمية الحالية. وكما في مدخلات النموذج، يعرض هذا الخيار جميع المدخلات المناسبة للمعامل.

  • يملك معامل المخرجات أيضًا الخيارات السابقة في قائمته المنسدلة:

    • إضافة مخرجات ثابتة للخوارزميات الفرعية، مثل حفظ مخرجات خوارزمية فرعية دائمًا في طبقة geopackage أو postgres محددة مسبقًا

    • استخدام قيم مخرجات مبنية على تعبير للخوارزميات الفرعية، مثل توليد اسم ملف تلقائي بناءً على تاريخ اليوم وحفظ المخرجات في ذلك الملف

    • استخدام مُدخل نموذج، مثل مُدخل النموذج File/Folder لتحديد ملف أو مجلد للمخرجات

    • استخدام مخرجات خوارزمية أخرى، مثل مخرجات الخوارزمية Create directory (من Modeler tools)

    • يجعل خيار إضافي modelOutput Model Output مخرجات الخوارزمية متاحة في النموذج. وإذا كانت الطبقة التي تولّدها الخوارزمية ستُستخدم فقط كمُدخل لخوارزمية أخرى، فلا تحرّر مربع النص ذلك.

    في الصورة التالية يمكنك رؤية معاملي الإدخال المحددين كـ Model Input وطبقة المخرجات المؤقتة:

    ../../../_images/models_parameters5.png

    شكل 23.23 معاملات الإدخال والإخراج للخوارزمية

ستجد أيضًا معاملًا إضافيًا اسمه Dependencies غير متاح عند استدعاء الخوارزمية من صندوق الأدوات. يتيح لك هذا المعامل تحديد ترتيب تنفيذ الخوارزميات، بتعيين خوارزمية صراحةً بوصفها أصلًا للخوارزمية الحالية. وهذا يفرض تنفيذ الخوارزمية الأصل قبل الحالية.

عندما تستخدم مخرجات خوارزمية سابقة كمُدخل لخوارزميتك، فإن ذلك يعيّن ضمنيًا الخوارزمية السابقة أصلًا للحالية (ويضع السهم المقابل على لوحة مصمّم النماذج). لكن في بعض الحالات قد تعتمد خوارزمية على أخرى حتى لو لم تستخدم أي كائن من مخرجاتها (مثلًا، خوارزمية تنفّذ جملة SQL على قاعدة بيانات PostgreSQL وأخرى تستورد طبقة إلى قاعدة البيانات نفسها). في هذه الحالة، حدّد الخوارزمية السابقة في المعامل Dependencies وستُنفَّذان بالترتيب الصحيح.

بعد إسناد قيم صالحة لجميع المعاملات، انقر على OK لتُضاف الخوارزمية إلى اللوحة. وستُربط بالعناصر الموجودة على اللوحة (خوارزميات أو مدخلات) التي توفّر الكائنات المستخدمة كمدخلات لها.

يمكن سحب العناصر إلى موضع آخر على اللوحة باستخدام الأداة select Select/Move/Link Item. وهذا مفيد لجعل بنية النموذج أوضح وأسهل فهمًا. يمكنك أيضًا تغيير حجم العناصر بالإمساك بحدودها، وهذا مفيد خصوصًا إذا كان وصف المُدخل أو الخوارزمية طويلًا. عند تفعيل الخيار View ► Enable snapping، يمكن تقييد تغيير حجم العناصر أو إزاحتها بشبكة افتراضية، للحصول على تصميم أكثر تنظيمًا بصريًا.

تُحدَّث الروابط بين العناصر تلقائيًا، وترى زر + في أعلى كل خوارزمية وأسفلها. يؤدي النقر على الزر إلى عرض جميع مدخلات الخوارزمية ومخرجاتها لتحصل على نظرة عامة سريعة.

يمكنك إنشاء الوصلات بين مكوّنات النموذج أو إزالتها باستخدام واجهة سحب وإفلات تفاعلية. يتضمن كل عنصر معامل وخوارزمية على لوحة النموذج منافذ دائرية صغيرة: منافذ المخرجات على اليمين ومنافذ المدخلات على اليسار. لوصل المكوّنات، انقر واسحب من منفذ مخرجات (من مُدخل نموذج أو من خوارزمية) إلى منفذ مدخلات في خوارزمية أخرى. يتبع خطٌّ مرئي المؤشر ويُكمل الوصلة عند الإفلات. لإزالة وصلة، اسحب الخط بعيدًا عن منفذ المدخلات. تُحدَّث نوافذ حوار الخوارزميات تلقائيًا لتعكس التغييرات التي أجريتها بواجهة السحب والإفلات.

../../../_images/models_model.png

شكل 23.24 نموذج مكتمل

باستخدام الأداة Edit ► Add Group Box يمكنك إضافة مربع قابل للسحب إلى اللوحة. هذه الميزة مفيدة جدًا في النماذج الكبيرة لتجميع العناصر المترابطة على لوحة مصمّم النماذج والحفاظ على سير عمل مرتّب. فمثلًا، يمكننا تجميع جميع خوارزميات المثال معًا:

../../../_images/model_group_box.png

شكل 23.25 مربع تجميع في النموذج

يمكنك تغيير اسم المربعات ولونها. مربعات التجميع مفيدة جدًا عند استخدامها مع الأداة View ► Zoom To ►، إذ تتيح لك التكبير إلى جزء محدد من النموذج. يمكنك أيضًا التكبير والتصغير باستخدام عجلة الفأرة.

قد ترغب في تغيير ترتيب المدخلات وطريقة إدراجها في نافذة الحوار الرئيسية للنموذج. في أسفل اللوحة Input ستجد الزر Reorder Model Inputs...، وبالنقر عليه تظهر نافذة حوار جديدة تتيح لك تغيير ترتيب المدخلات:

../../../_images/model_reorder_inputs.png

شكل 23.26 إعادة ترتيب مدخلات النموذج

توجد أيضًا إمكانية تعيين ترتيب محدد يجب أن تتبعه مخرجات النموذج عند تحميل النتائج في مشروع. وهذا يمنح منشئ النموذج وسيلة لضمان ترتيب الطبقات منطقيًا على اللوحة عند تشغيل النموذج، كوضع مخرجات طبقة متجهية فوق مخرجات طبقة شبكية، أو طبقة نقاط فوق طبقة مضلعات. ويمكن لمنشئ النموذج أيضًا تعيين "اسم مجموعة" اختياري للمخرجات لتجميعها تلقائيًا ضمن شجرة الطبقات باستخدام اسم مجموعة جديد أو بإضافتها إلى مجموعة موجودة. في القائمة Model ستجد المدخل Reorder Output Layers...، وبالنقر عليه تظهر نافذة حوار جديدة تتيح لك تغيير ترتيب طبقات المخرجات:

../../../_images/model_reorder_output_layers.png

شكل 23.27 إعادة ترتيب طبقات المخرجات

يمكن أيضًا إضافة تعليقات إلى المدخلات أو الخوارزميات الموجودة في مصمّم النماذج، وذلك من التبويب Comment الخاص بالعنصر أو بالنقر بزر الفأرة الأيمن. وفي التبويب نفسه يمكن تعيين لون يدويًا لكل تعليق على حدة. التعليقات مرئية فقط على لوحة مصمّم النماذج وليس في نافذة حوار الخوارزمية النهائية؛ ويمكن إخفاؤها بإلغاء تفعيل View ► Show Comments.

يمكن تشغيل نموذجك بطرق مختلفة:

  • يمكنك تشغيل النموذج كاملًا بالنقر على start Run Model... من شريط الأدوات، أو بالنقر بزر الفأرة الأيمن على النموذج في Browser panel، أو من Model ► start Run Model...: عند استخدام المحرر لتنفيذ نموذج، تُحفظ أي قيم غير افتراضية في المدخلات. وهذا يعني أن تنفيذ النموذج لاحقًا من المحرر سيعرض نافذة الحوار مملوءة مسبقًا بتلك القيم في أي تشغيل تالٍ.

  • يمكنك تحديد عناصر من النموذج وتشغيل تلك المجموعة الجزئية فقط: اضغط على الخيار runSelected Run Selected Steps... من القائمة Models ► أو من القائمة السياقية لخوارزمية محددة. تُؤخذ الحالة الأولية من أي عمليات تنفيذ سابقة للنموذج عبر المحرر، فتكون نتائج الخطوات السابقة في النموذج متاحة للخطوات المحددة. وهذا يتيح إصلاح أجزاء من نموذج كبير دون الحاجة إلى تشغيل النموذج كاملًا باستمرار للاختبار، وهو مفيد خصوصًا عندما تستغرق الخطوات الأولى في النموذج وقتًا طويلًا.

  • يمكنك تشغيل جزء من النموذج بدءًا من خوارزمية محددة: انقر بزر الفأرة الأيمن على الخوارزمية واختر start Run from Here.... وبالمثل، تُؤخذ القيم من عمليات التنفيذ السابقة.

  • لاستخدام الخوارزمية من صندوق أدوات المعالجة، يجب حفظها وإغلاق نافذة حوار مصمّم النماذج، ليتمكن صندوق الأدوات من تحديث محتوياته.

23.5.2.3. توثيق النموذج

عليك توثيق نموذجك، ويمكن فعل ذلك من مصمّم النماذج نفسه. انقر على الزر editHelpContentEdit model help لتظهر نافذة حوار مثل المعروضة أدناه.

../../../_images/help_edition.png

شكل 23.28 تحرير المساعدة

على الجانب الأيمن سترى صفحة HTML بسيطة، أُنشئت باستخدام وصف معاملات الإدخال ومخرجات الخوارزمية، مع بعض العناصر الإضافية مثل وصف عام للنموذج أو مؤلفه. ويوجد أيضًا قسم للأمثلة يمكنك فيه إدخال أمثلتك الخاصة للمساعدة في شرح طريقة استخدام النموذج. في المرة الأولى التي تفتح فيها محرر المساعدة تكون كل هذه الأوصاف فارغة، لكن يمكنك تحريرها باستخدام العناصر الموجودة على الجانب الأيسر من نافذة الحوار. حدّد عنصرًا في الجزء العلوي ثم اكتب وصفه في مربع النص أدناه.

تُحفظ مساعدة النموذج كجزء من النموذج نفسه.

23.5.3. حفظ النماذج وتحميلها

23.5.3.1. حفظ النماذج

استخدم الزر fileSaveSave model لحفظ النموذج الحالي والزر fileOpenOpen Model لفتح نموذج محفوظ سابقًا. تُحفظ النماذج بالامتداد .model3. إذا كان النموذج قد حُفظ من قبل من نافذة مصمّم النماذج، فلن يُطلب منك اسم ملف؛ إذ يوجد ملف مرتبط بالنموذج بالفعل، وسيُستخدم ذلك الملف لعمليات الحفظ اللاحقة.

قبل حفظ النموذج، عليك إدخال اسم ومجموعة له في مربعات النص في الجزء العلوي من النافذة.

النماذج المحفوظة في المجلد models (المجلد الافتراضي عندما يُطلب منك اسم ملف لحفظ النموذج) تظهر في صندوق الأدوات ضمن الفرع المقابل. عند استدعاء صندوق الأدوات، يبحث في المجلد models عن الملفات ذات الامتداد .model3 ويحمّل النماذج التي تحتويها. وبما أن النموذج خوارزمية في حد ذاته، يمكن إضافته إلى صندوق الأدوات مثل أي خوارزمية أخرى.

يمكن أيضًا حفظ النماذج داخل ملف المشروع باستخدام الزر addToProjectSave model in project. النماذج المحفوظة بهذه الطريقة لن تُكتب كملفات .model3 على القرص، بل ستُضمَّن في ملف المشروع.

تتوفر نماذج المشروع في القائمة qgsProjectFileProject models في صندوق الأدوات وفي عنصر القائمة Project ► Models.

يمكن تعيين مجلد النماذج من نافذة حوار إعدادات المعالجة، ضمن المجموعة Modeler.

النماذج المحمّلة من المجلد models لا تظهر في صندوق الأدوات فحسب، بل أيضًا في شجرة الخوارزميات في التبويب Algorithms من نافذة مصمّم النماذج. وهذا يعني أنه يمكنك دمج نموذج كجزء من نموذج أكبر، تمامًا مثل الخوارزميات الأخرى.

تظهر النماذج في اللوحة Browser ويمكن تشغيلها من هناك.

23.5.3.2. تصدير نموذج كسكربت Python

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

للقيام بذلك، انقر على saveAsPythonExport as Script Algorithm... في لوحة مصمّم النماذج أو انقر بزر الفأرة الأيمن على اسم النموذج في صندوق أدوات المعالجة واختر saveAsPythonExport Model as Python Algorithm....

23.5.3.3. تصدير نموذج كصورة أو PDF أو SVG

يمكن أيضًا تصدير النموذج كصورة أو SVG أو PDF (لأغراض التوضيح) بالنقر على saveMapAsImageExport as image أو saveAsPDFExport as PDF أو saveAsSVGExport as SVG.

23.5.4. تحرير نموذج

يمكنك تحرير النموذج الذي تنشئه حاليًا، وإعادة تحديد سير العمل والعلاقات بين الخوارزميات والمدخلات التي تحدد النموذج.

يمكنك أيضًا تحرير نموذج موجود من Browser panel باختيار الخيار Edit Model....

إذا نقرت بزر الفأرة الأيمن على خوارزمية في اللوحة، فسترى قائمة سياقية مثل المعروضة أدناه:

../../../_images/modeler_right_click.png

شكل 23.29 النقر بزر الفأرة الأيمن في مصمّم النماذج

  • سبق عرض خيارات تشغيل جزء من النموذج.

  • يؤدي اختيار الخيار Remove إلى إزالة الخوارزمية المحددة. لا يمكن إزالة خوارزمية إلا إذا لم تعتمد عليها خوارزميات أخرى، أي إذا لم تُستخدم أي من مخرجاتها كمُدخل في خوارزمية أخرى.

  • يؤدي اختيار الخيار Edit... إلى عرض نافذة حوار المعاملات لتتمكن من تغيير المدخلات وقيم المعاملات. لن تظهر جميع عناصر الإدخال المتاحة في النموذج كمدخلات متاحة؛ فالطبقات أو القيم المولّدة في خطوة متقدمة من سير العمل الذي يحدده النموذج لن تكون متاحة إذا تسببت في اعتماديات دائرية.

    اختر القيم الجديدة وانقر على الزر OK كالمعتاد. ستتغير الوصلات بين عناصر النموذج على لوحة مصمّم النماذج تبعًا لذلك.

  • يتيح لك الخيار Add comment... إضافة تعليق إلى الخوارزمية لوصف سلوكها بشكل أفضل.

ملاحظة

يتيح لك النقر بزر الفأرة الأيمن على معامل إدخال أيضًا الخيارات Remove و Edit… و Add comment…

  • يمكن تشغيل نموذج جزئيًا بإلغاء تفعيل بعض خوارزمياته. للقيام بذلك، اختر الخيار Deactivate في القائمة السياقية التي تظهر عند النقر بزر الفأرة الأيمن على عنصر خوارزمية. ستُعرض الخوارزمية المحددة وجميع الخوارزميات المعتمدة عليها في النموذج باللون الرمادي، ولن تُنفَّذ كجزء من النموذج.

    ../../../_images/deactivated.png

    شكل 23.30 نموذج يحتوي على خوارزمية معطّلة

    عند النقر بزر الفأرة الأيمن على خوارزمية غير مفعّلة، سترى خيار القائمة Activate الذي يمكنك استخدامه لإعادة تفعيلها.

  • عند تحرير نموذج عبر المصمّم (وبعد تشغيل ذلك النموذج)، يتيح النقر بزر الفأرة الأيمن على أي خطوة فرعية في النموذج اختيار showSelectedLayers View Output Layers. سيضيف هذا طبقات المخرجات من تلك الخطوة كطبقات جديدة في مشروع QGIS الحالي.

    يتوفر هذا الإجراء لجميع الخوارزميات الفرعية في النموذج، حتى إن لم يكن النموذج مهيّأً لاستخدام مخرجات تلك الخوارزميات الفرعية كمخرجات للنموذج. وقد صُمّم كإجراء مساعد في تصحيح الأخطاء: فإذا فشل نموذج (أو أعطى نتائج غير متوقعة)، يمكنك تتبّعه وعرض المخرجات للخطوات المشتبه في أنها تسبب المشكلة. وهذا يغنيك عن إضافة مخرجات مؤقتة إلى النموذج وإعادة تشغيله للاختبار.

    إضافة إلى ذلك، يتوفر هذا الإجراء دائمًا بعد تشغيل النموذج، حتى لو فشل النموذج نفسه (مثلًا بسبب خطوة مضبوطة بشكل خاطئ في مرحلة لاحقة من النموذج).

  • يساعدك الإجراء View Log على رؤية السجل لكل خوارزمية فرعية بعد إغلاق نافذة حوار الخوارزمية.