14. العمل مع بيانات الشبكة المثلثية (mesh)

14.1. ما الشبكة المثلثية (mesh)؟

الشبكة المثلثية (mesh) هي شبكة غير منتظمة البنية، تتضمن عادةً مكوّنات زمنية ومكوّنات أخرى. ويحتوي المكوّن المكاني على مجموعة من الرؤوس و/أو الحواف و/أو الأوجه في فضاء ثنائي أو ثلاثي الأبعاد:

  • الرؤوس - نقاط XY(Z) (في نظام الإحداثيات المرجعي للطبقة)

  • الحواف - تصل بين أزواج من الرؤوس

  • الأوجه - الوجه مجموعة من الحواف تشكّل شكلًا مغلقًا - عادةً مثلثًا أو رباعيًا (quad)، ونادرًا مضلعات بعدد أكبر من الرؤوس

استنادًا إلى ما سبق، يمكن أن تكون لطبقات الشبكة المثلثية (mesh) أنواع مختلفة من البنية:

  • الشبكات المثلثية (mesh) أحادية البعد: تتكوّن من رؤوس وحواف. تصل الحافة بين رأسين، ويمكن أن تُسند إليها بيانات (قيم قياسية أو متجهات). ويمكن مثلًا استخدام شبكة الحواف في الشبكة المثلثية أحادية البعد لنمذجة نظام صرف حضري.

  • الشبكات المثلثية (mesh) ثنائية الأبعاد: تتكوّن من أوجه على هيئة مثلثات أو رباعيات منتظمة أو غير منتظمة.

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

../../../_images/mesh_grid_types.png

شكل 14.1 أنواع مختلفة من الشبكات المثلثية (mesh)

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

../../../_images/triangual_grid_with_numered_vertices.png

شكل 14.2 شبكة مثلثية برؤوس مرقمة

يمكن لكل رأس تخزين مجموعات بيانات مختلفة (عادةً كميات متعددة)، ويمكن أن يكون لمجموعات البيانات هذه بُعد زمني أيضًا. وهكذا قد يحتوي ملف واحد على مجموعات بيانات متعددة.

يعطي الجدول التالي فكرة عن المعلومات التي يمكن تخزينها في مجموعات بيانات الشبكة المثلثية (mesh). تمثّل أعمدة الجدول فهارس رؤوس الشبكة المثلثية، ويمثّل كل صف مجموعة بيانات واحدة. ويمكن أن تكون لمجموعات البيانات أنواع بيانات مختلفة. وفي هذه الحالة، تخزّن سرعة الرياح على ارتفاع 10m في لحظات زمنية محددة (t1، t2، t3).

وبطريقة مماثلة، يمكن لمجموعة بيانات الشبكة المثلثية (mesh) أيضًا تخزين قيم متجهة لكل رأس. فمثلًا، متجه اتجاه الرياح عند الطوابع الزمنية المعطاة:

جدول 14.1 مثال على مجموعة بيانات الشبكة المثلثية (mesh)

الرياح على ارتفاع 10 أمتار

1

2

3

...

السرعة على ارتفاع 10 أمتار عند time=t1

17251

24918

32858

...

السرعة على ارتفاع 10 أمتار عند time=t2

19168

23001

36418

...

السرعة على ارتفاع 10 أمتار عند time=t3

21085

30668

17251

...

...

...

...

...

...

اتجاه الرياح على ارتفاع 10m عند time=t1

[20,2]

[20,3]

[20,4.5]

...

اتجاه الرياح على ارتفاع 10m عند time=t2

[21,3]

[21,4]

[21,5.5]

...

اتجاه الرياح على ارتفاع 10m عند time=t3

[22,4]

[22,5]

[22,6.5]

...

...

...

...

...

...

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

../../../_images/mesh_visualisation.png

شكل 14.3 تمثيل مرئي ممكن لبيانات الشبكة المثلثية (mesh)

14.2. الصيغ المدعومة

يصل QGIS إلى بيانات الشبكة المثلثية (mesh) باستخدام مشغّلات MDAL، ويدعم أصليًا مجموعة متنوعة من الصيغ. وتعتمد إمكانية تحرير QGIS لطبقة الشبكة المثلثية على الصيغة وعلى نوع بنية الشبكة المثلثية.

لتحميل مجموعة بيانات شبكة مثلثية (mesh) في QGIS، استخدم التبويب addMeshLayer Mesh في نافذة الحوار Data Source Manager. اقرأ تحميل طبقة الشبكة المثلثية لمزيد من التفاصيل.

14.3. خصائص مجموعة بيانات الشبكة المثلثية (mesh)

توفّر نافذة الحوار Layer Properties لطبقة الشبكة المثلثية (mesh) إعدادات عامة لإدارة مجموعات بيانات الطبقة وطريقة عرضها (مجموعات البيانات النشطة، والترميز، والعرض ثنائي وثلاثي الأبعاد). كما توفّر معلومات عن الطبقة.

للوصول إلى نافذة الحوار Layer Properties:

  • في اللوحة Layers، انقر نقرًا مزدوجًا على الطبقة أو انقر بزر الفأرة الأيمن واختر Properties... من القائمة المنبثقة؛

  • انتقل إلى القائمة Layer ► Layer Properties... عندما تكون الطبقة محددة.

توفّر نافذة الحوار Layer Properties لطبقة الشبكة المثلثية (mesh) الأقسام التالية:

جدول 14.2 تبويبات خصائص طبقة الشبكة المثلثية (mesh)

metadata المعلومات

system المصدر

symbology الترميز ([1])

labelingSingle التسميات ([1])

3d العرض ثلاثي الأبعاد ([1])

rendering الرسم

temporal الزمني

elevationscale الارتفاع

editMetadata البيانات الوصفية الشاملة

ملاحظة

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

14.3.1. خصائص المعلومات

../../../_images/mesh_info_properties.png

شكل 14.4 خصائص معلومات طبقة الشبكة المثلثية (mesh)

التبويب metadata Information للقراءة فقط، ويُعد مكانًا مفيدًا للحصول سريعًا على معلومات موجزة وبيانات وصفية عن الطبقة الحالية. المعلومات المقدَّمة هي:

  • معلومات عامة مثل الاسم في المشروع، ومسار المصدر، وقائمة الملفات المساعدة، ووقت آخر حفظ والحجم، ومزوّد البيانات المستخدم

  • الخصائص المخصصة، المستخدمة لتخزين معلومات إضافية عن الطبقة في المشروع النشط. قد تتضمن الخصائص المخصصة الافتراضية ملاحظات الطبقة. يمكن إنشاء مزيد من الخصائص وإدارتها باستخدام PyQGIS، وتحديدًا عبر الدالة (method) setCustomProperty().

  • معلومات مستندة إلى مزوّد بيانات الطبقة: الامتداد، وعدد الرؤوس والأوجه والحواف و/أو مجموعات البيانات

  • نظام الإحداثيات المرجعي: الاسم، والوحدات، والطريقة، والدقة، والمرجع (أي ما إذا كان ثابتًا أو ديناميكيًا)

  • معلومات مستخرجة من البيانات الوصفية المعبّأة: الوصول، والامتدادات، والروابط، وجهات الاتصال، والسجل التاريخي...

14.3.2. خصائص المصدر

يعرض التبويب system Source معلومات أساسية عن الشبكة المثلثية (mesh) المحددة، بما في ذلك:

../../../_images/mesh_source.png

شكل 14.5 خصائص مصدر طبقة الشبكة المثلثية (mesh)

  • اسم الطبقة الذي سيُعرض في لوحة Layers

  • ضبط نظام الإحداثيات المرجعي: يعرض نظام الإحداثيات المرجعي (CRS) المعيّن للطبقة. يمكنك تغيير نظام الإحداثيات المرجعي للطبقة باختيار نظام استُخدم مؤخرًا من القائمة المنسدلة أو بالنقر على زر setProjection Select CRS (انظر أداة اختيار نظام الإحداثيات المرجعي). استخدم هذه العملية فقط إذا كان نظام الإحداثيات المرجعي المطبّق على الطبقة خاطئًا أو لم يُطبَّق أي نظام.

  • يسرد الإطار Available datasets جميع مجموعات البيانات (والمجموعات الفرعية) في طبقة الشبكة المثلثية (mesh)، مع نوعها ووصفها في عرض شجري. وتُدرج كلٌّ من مجموعات البيانات العادية (أي المخزّنة بياناتها في الملف) ومجموعات البيانات الافتراضية (التي تُحسب لحظيًا).

    • استخدم الزر symbologyAdd Assign Extra Dataset to Mesh لإضافة مزيد من المجموعات إلى طبقة الشبكة المثلثية (mesh) الحالية. يمكنك إضافة مجموعة بيانات إلى طبقة الشبكة المثلثية بالاسم نفسه، ولكن ليس من معرّف URI نفسه. وتُعاد تسمية مجموعات البيانات تلقائيًا إلى "Original Name_Number".

    • استخدم symbologyRemove Remove Extra Dataset from Mesh لإزالة مجموعات البيانات الإضافية من طبقة الشبكة المثلثية (mesh). لاحظ أنه لا يمكن إزالة إلا مجموعات البيانات غير المرتبطة بملف مصدر الشبكة المثلثية.

    • collapseTree Collapse all لطيّ شجرة مجموعات البيانات و expandTree Expand all لتوسيعها، في حال وجود مجموعات متداخلة

    • إذا كنت مهتمًا ببضع مجموعات بيانات فقط، يمكنك إلغاء تحديد الأخرى وجعلها غير متاحة في المشروع

    • انقر نقرًا مزدوجًا على اسم ويمكنك إعادة تسمية مجموعة البيانات.

    • refresh Reset to defaults: يحدد جميع المجموعات ويعيد تسميتها إلى أسمائها الأصلية في مزوّد البيانات.

    • انقر بزر الفأرة الأيمن على مجموعة بيانات افتراضية ويمكنك:

      • Remove dataset group لإزالة مجموعة البيانات من المشروع

      • Save dataset group as... في ملف على القرص، بأي صيغة مدعومة. يبقى الملف الجديد مُسندًا إلى طبقة الشبكة المثلثية (mesh) الحالية في المشروع.

  • يتيح تفعيل المجموعة unchecked Treat as static dataset تجاهل خصائص التنقّل الزمني في الخريطة أثناء عرض طبقة الشبكة المثلثية (mesh). ولكل مجموعة بيانات نشطة (كما هي محددة في التبويب symbology Symbology ► general Datasets)، يمكنك:

    • الضبط على None: لا تُعرض مجموعة البيانات إطلاقًا

    • Display dataset: مثلًا لمجموعة بيانات "bed elevation" (ارتفاع القاع) غير المرتبطة بالزمن

    • استخراج تاريخ ووقت محددين: تُرسم مجموعة البيانات المطابقة للوقت المحدد وتبقى ثابتة أثناء التنقل في الخريطة.

14.3.3. خصائص الترميز

انقر على الزر symbology Symbology لتفعيل نافذة الحوار. تنقسم خصائص الترميز إلى عدة تبويبات:

14.3.3.1. مجموعات البيانات

التبويب general Datasets هو المكان الرئيسي للتحكم في مجموعات البيانات التي ستُستخدم للطبقة وضبطها. ويعرض العناصر التالية:

  • Groups المتاحة في مجموعة بيانات الشبكة المثلثية (mesh)، مع بيان ما إذا كانت توفّر:

    • meshcontoursoff مجموعة بيانات قياسية (scalar)

    • أو meshvectorsoff مجموعة بيانات متجهة: افتراضيًا، يكون لكل مجموعة بيانات متجهة مجموعة بيانات قياسية تمثّل مقدارها تُولَّد تلقائيًا.

    انقر على الأيقونة المجاورة لاسم مجموعة البيانات لتحديد المجموعة ونوع البيانات المراد تمثيلها.

  • Selected dataset group(s) metadata، مع تفاصيل عن:

    • نوع الشبكة المثلثية (mesh): حواف أو أوجه

    • نوع البيانات: رؤوس، أو حواف، أو أوجه، أو حجم

    • ما إذا كانت من النوع المتجه أم لا

    • الاسم الأصلي في طبقة الشبكة المثلثية (mesh)

    • الوحدة، إن وُجدت

  • وضع المزج المتاح لمجموعات البيانات المحددة.

../../../_images/mesh_symbology_datasets.png

شكل 14.6 مجموعات بيانات طبقة الشبكة المثلثية (mesh)

يمكنك تطبيق الترميز على المجموعة المتجهة و/أو القياسية المحددة باستخدام التبويبات التالية.

14.3.3.2. ترميز خطوط الكنتور

ملاحظة

لا يمكن تفعيل التبويب meshcontours Contours إلا إذا حُددت مجموعة بيانات قياسية في التبويب general Datasets.

في التبويب meshcontours Contours يمكنك رؤية خيارات العرض الحالية لخطوط الكنتور للمجموعة المحددة وتغييرها، كما هو موضح في شكل 14.7 أدناه:

../../../_images/mesh_symbology_contours.png

شكل 14.7 تنسيق الخطوط الكنتورية في طبقة الشبكة المثلثية (mesh)

  • بالنسبة إلى الشبكة المثلثية (mesh) أحادية البعد، اضبط Stroke width للحواف. ويمكن أن يكون حجمًا ثابتًا لمجموعة البيانات كاملة، أو أن يتغيّر على امتداد الشكل الهندسي (مزيد من التفاصيل مع أداة رسم الخط المستوفى)

  • استخدم شريط التمرير أو مربع الأرقام لضبط Opacity للمجموعة الحالية، إذا كانت من نوع شبكة مثلثية (mesh) ثنائية الأبعاد.

  • يتيح لك radioButtonOn User Defined إدخال نطاق القيم الذي تريد تمثيله في المجموعة الحالية: استخدم refresh Load لجلب القيمتين الدنيا والعليا للمجموعة الحالية أو أدخل قيمًا مخصصة إذا أردت استبعاد بعضها.

  • اختر radioButtonOn Min/Max لضبط القيمتين الدنيا والعليا لأداة الرسم بناءً على الامتداد المختار.

  • يمكن أن يكون Statistics extent إما Whole mesh أو Current canvas أو Updated canvas. يعني Updated canvas أن القيم الدنيا/العليا المستخدمة في الرسم ستتغير مع امتداد لوحة الخريطة (تمديد ديناميكي).

  • بالنسبة إلى الشبكات المثلثية (mesh) ثنائية وثلاثية الأبعاد، اختر Resampling method لاستيفاء القيم من الرؤوس المحيطة إلى الأوجه (أو من الأوجه المحيطة إلى الرؤوس) باستخدام طريقة Neighbour average. وبحسب ما إذا كانت مجموعة البيانات معرّفة على الرؤوس (أو على الأوجه على التوالي)، يضبط QGIS هذا الإعداد افتراضيًا على طريقة None (أو Neighbour average على التوالي) لاستخدام القيم على الرؤوس والحفاظ على سلاسة العرض الافتراضي.

  • صنّف مجموعة البيانات باستخدام تصنيف مظلِّل تدرج الألوان.

14.3.3.3. ترميز المتجهات

ملاحظة

لا يمكن تفعيل التبويب meshvectors Vectors إلا إذا حُددت مجموعة بيانات متجهة في التبويب general Datasets. انقر على أيقونة meshvectors Vectors على الجانب الأيمن من التبويب general Datasets.

في التبويب meshvectors Vectors يمكنك رؤية خيارات العرض الحالية للمتجهات للمجموعة المحددة وتغييرها، كما هو موضح في شكل 14.8:

../../../_images/mesh_symbology_vectors.png

شكل 14.8 تنسيق المتجهات في طبقة الشبكة المثلثية (mesh) باستخدام الأسهم

يمكن تنسيق مجموعة البيانات المتجهة للشبكة المثلثية (mesh) باستخدام أنواع مختلفة من Symbology:

  • الأسهم: تُمثَّل المتجهات بأسهم في المكان نفسه الذي عُرّفت فيه في مجموعة البيانات الخام (أي على العقد أو مراكز العناصر) أو على شبكة يحددها المستخدم (وبذلك تتوزع بانتظام). يتناسب طول السهم مع مقداره كما هو معرّف في البيانات الخام، لكن يمكن تحجيمه بطرق مختلفة.

  • خطوط الانسياب: تُمثَّل المتجهات بخطوط انسياب تنطلق من نقاط بداية. ويمكن أن تبدأ نقاط الانطلاق من رؤوس الشبكة المثلثية (mesh)، أو من شبكة يحددها المستخدم، أو عشوائيًا.

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

  • أشواك الرياح: تُمثَّل المتجهات بأشواك الرياح (wind barbs)، وهي طريقة شائعة لتمثيل سرعة الرياح واتجاهها.

تعتمد الخصائص المتاحة على الترميز المحدد كما هو موضح في الجدول التالي.

جدول 14.3 توفر خصائص ترميز المتجهات ومعناها

التسمية والوصف والخصائص

سهم

خطوط الانسياب

الآثار

أشواك الرياح

Line width: عرض تمثيل المتجه

checkbox

checkbox

checkbox

checkbox

Coloring method:

  • Single color (لون واحد) يُعيَّن لجميع المتجهات

  • أو لون متغير بناءً على مقدار المتجهات، باستخدام مظلِّل تدرج الألوان

checkbox

checkbox

checkbox

checkbox

Filter by magnitude: لا تُعرض إلا المتجهات التي يقع طولها لمجموعة البيانات المحددة بين Min و Max

checkbox

checkbox

checkbox

Display on user grid: يضع المتجه على شبكة بتباعد مخصص X spacing و Y spacing ويستوفي أطوالها بناءً على الجوار

checkbox

checkbox

checkbox

Head options: Length و Width لرأس السهم، كنسبة مئوية من طول ساقه

checkbox

Arrow length:

  • Defined by Min and Max: تحدد الطول الأدنى والأقصى للأسهم، وسيستوفي QGIS حجمها بناءً على مقدار المتجه الأساسي

  • Scale to magnitude: يتناسب طول السهم مع مقدار متجهه

  • Fixed: تُعرض جميع المتجهات بالطول نفسه

checkbox

Streamlines seeding method:

  • على الشبكة المثلثية/الشبكة (mesh/grid): يعتمد على شبكة المستخدم لعرض المتجهات

  • Randomly: يجري وضع المتجهات عشوائيًا وفق كثافة معينة

checkbox

Particles count: كمية "الرمل" التي تريد رميها في العرض المرئي

checkbox

Max tail length: الوقت حتى يتلاشى الجسيم

checkbox

Wind Barbs:

  • Length: يحدد طول أشواك الرياح. اختر الوحدات من قائمة منسدلة.

  • Data Units: يحدد وحدات بيانات سرعة الرياح. ترمّز أشواك الرياح الرياح بالعقدة (ميل بحري في الساعة). لذلك يجب أن تختار الوحدات التي تُعبَّر بها بياناتك، أو تستخدم Multiplier (معاملًا) مخصصًا لتحويل وحدات بياناتك إلى عقد. يضمن ذلك تمثيل سرعة الرياح بدقة.

checkbox

14.3.3.4. استدعاء

في التبويب meshframe Rendering، يوفّر QGIS إمكانات لعرض بنية الشبكة المثلثية (mesh) وتخصيصها. ويمكن ضبط Line width و Line color لتمثيل:

  • الحواف في الشبكات المثلثية (mesh) أحادية البعد

  • بالنسبة إلى الشبكات المثلثية (mesh) ثنائية الأبعاد:

    • Native mesh rendering: يعرض الأوجه والحواف الأصلية من الطبقة

    • Triangular mesh rendering: يضيف مزيدًا من الحواف ويعرض الأوجه على هيئة مثلثات

../../../_images/mesh_symbology_grid.png

شكل 14.9 عرض الشبكة المثلثية (mesh) ثنائية الأبعاد

14.3.3.5. طريقة حساب المتوسط للشبكة المثلثية (mesh) المكدّسة

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

يمكنك اختيار الطريقة لاشتقاق مجموعات البيانات ثنائية الأبعاد والمعاملات المقابلة (فهرس المستوى، أو قيم العمق أو الارتفاع). لكل طريقة، يُعرض مثال تطبيقي في نافذة الحوار، ويمكنك قراءة المزيد عن الطرق على https://fvwiki.tuflow.com/Depth_Averaging_Results.

14.3.4. خصائص التسميات

يوفّر لك التبويب labelingSingle Labels تسميات ديناميكية لرؤوس الشبكة المثلثية (mesh) وأوجهها الأصلية بناءً على الخصائص الهندسية والتعابير المخصصة. ويمكن الوصول إلى نافذة الحوار هذه أيضًا من اللوحة Layer Styling.

../../../_images/mesh_label_properties.png

شكل 14.10 خصائص تسميات الشبكة المثلثية (mesh)

اختر طريقة التسمية من القائمة المنسدلة. الطرق المتاحة هي:

  • labelingNone No labels: القيمة الافتراضية، ولا تعرض أي تسميات من الطبقة.

  • labelingSingle Labels on vertices: يسمّي رؤوس الشبكة المثلثية (mesh) بوصفها معالم نقطية.

  • labelingSingle Labels on faces: يسمّي أوجه الشبكة المثلثية (mesh) بوصفها معالم مضلعة.

../../../_images/mesh_label_example.png

شكل 14.11 طرق تسمية الشبكة المثلثية (mesh)

بعد اختيار طريقة التسمية، افتح expression Expression dialog واختر دالة الشبكة المثلثية (mesh). ويمكنك دمج دوال الشبكة المثلثية مع دوال أخرى من القائمة لتعديل التسمية.

تُعرض أدناه خيارات تخصيص التسميات، ضمن تبويبات مختلفة:

يُشرح كيفية ضبط كل خاصية في إعداد التسمية.

14.3.5. خصائص العرض ثلاثي الأبعاد

يمكن استخدام طبقات الشبكة المثلثية (mesh) بوصفها تضاريس في عرض خريطة ثلاثي الأبعاد بناءً على قيم Z لرؤوسها. ومن تبويب الخصائص 3d 3D View، يمكن أيضًا عرض مجموعة بيانات طبقة الشبكة المثلثية في العرض ثلاثي الأبعاد نفسه. وبذلك يمكن جعل المكوّن الرأسي للرؤوس مساويًا لقيم مجموعة البيانات (مثل منسوب سطح الماء)، وضبط نسيج الشبكة المثلثية لعرض قيم أخرى من مجموعة البيانات بتظليل لوني (مثل السرعة).

../../../_images/mesh_3d.png

شكل 14.12 الخصائص ثلاثية الأبعاد لمجموعة بيانات الشبكة المثلثية (mesh)

حدد checkbox Enable 3D Renderer ويمكنك تعديل الخصائص التالية:

  • ضمن Triangle settings

    • Smooth triangles: تُنعَّم الزوايا بين المثلثات المتتالية للحصول على رسم ثلاثي الأبعاد أفضل

    • Show wireframe ويمكنك ضبط Line width و Color له

    • Level of detail: يتحكّم في مدى تبسيط طبقة الشبكة المثلثية (mesh) المراد عرضها. ففي أقصى اليمين توجد الشبكة المثلثية الأساسية، وكلما اتجهت يسارًا زاد تبسيط الطبقة وعُرضت بتفاصيل أقل. لا يتوفر هذا الخيار إلا إذا كان الخيار Simplify mesh ضمن التبويب Rendering مفعّلًا.

  • Vertical settings للتحكم في سلوك المكوّن الرأسي لرؤوس المثلثات المرسومة:

    • Dataset group for vertical value: مجموعة البيانات التي ستُستخدم للمكوّن الرأسي للشبكة المثلثية (mesh)

    • uncheckedDataset value relative to vertices Z value: ما إذا كانت قيم مجموعة البيانات تُعتبر إحداثي Z مطلقًا أم نسبيًا إلى قيمة Z الأصلية للرؤوس

    • Vertical scale: معامل التحجيم المطبّق على قيم Z لمجموعة البيانات

  • Rendering color settings مع Rendering style يمكن أن يعتمد على مظلِّل تدرج الألوان المضبوط في ترميز خطوط الكنتور (2D contour color ramp shader) أو يكون Single color مع Mesh color مرتبط به

  • Show arrows: يعرض أسهمًا على الكيان ثلاثي الأبعاد لمجموعة بيانات طبقة الشبكة المثلثية (mesh)، استنادًا إلى مجموعة البيانات المتجهة نفسها المستخدمة في العرض ثنائي الأبعاد للمتجهات. وتُعرض باستخدام إعداد اللون ثنائي الأبعاد. ويمكن أيضًا تحديد Arrow spacing، وما إذا كانت ذات Fixed size أو متدرجة بحسب المقدار. ويحدد إعداد التباعد هذا أيضًا الحجم الأقصى للأسهم لأن الأسهم لا يمكن أن تتداخل.

14.3.6. خصائص الرسم

../../../_images/mesh_rendering.png

شكل 14.13 خصائص عرض الشبكة المثلثية (mesh)

ضمن مربع المجموعة Scale dependent visibility، يمكنك ضبط مقياس الرسم Maximum (inclusive) و Minimum (exclusive)، لتحديد نطاق من مقاييس الرسم تكون فيه عناصر الشبكة المثلثية (mesh) ظاهرة. وخارج هذا النطاق تكون مخفية. ويساعدك الزر mapIdentification Set to current canvas scale على استخدام مقياس رسم لوحة الخريطة الحالي حدًّا لنطاق الظهور. راجع منتقي مقياس الرسم للظهور لمزيد من المعلومات.

ملاحظة

يمكنك أيضًا تفعيل الظهور المعتمد على مقياس الرسم لطبقة من داخل لوحة Layers: انقر بزر الفأرة الأيمن على الطبقة واختر من القائمة السياقية Set Layer Scale Visibility.

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

من التبويب rendering Rendering، حدد checkbox Simplify mesh واضبط:

  • Reduction factor: يتحكّم في توليد المستويات المتتالية من الشبكات المثلثية (mesh) المبسّطة. فمثلًا، إذا كانت الشبكة المثلثية الأساسية تحتوي على 5M وجه وكان عامل التخفيض 10، فستحتوي الشبكة المثلثية المبسّطة الأولى على نحو 500 000 وجه، والثانية على 50 000 وجه، والثالثة على 5000،... وإذا كان عامل التخفيض الأعلى يؤدي سريعًا إلى شبكات مثلثية أبسط (أي ذات مثلثات أكبر حجمًا)، فإنه ينتج أيضًا مستويات تفاصيل أقل.

  • Minimum triangle size: متوسط حجم المثلثات (بالبكسل) المسموح بعرضه. فإذا كان متوسط حجم الشبكة المثلثية (mesh) أقل من هذه القيمة، يبدأ عرض شبكة مثلثية ذات مستوى تفاصيل أدنى.

14.3.7. الخصائص الزمنية

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

../../../_images/mesh_temporal.png

شكل 14.14 الخصائص الزمنية للشبكة المثلثية (mesh)

الإعدادات الزمنية للطبقة

  • Reference time (الوقت المرجعي) لمجموعة البيانات، كتاريخ ووقت مطلقين. افتراضيًا، يحلل QGIS طبقة المصدر ويعيد أول وقت مرجعي صالح في مجموعة بيانات الطبقة. وإن لم يتوفر، تُضبط القيمة وفق النطاق الزمني للمشروع أو تعود إلى التاريخ الحالي. ثم يُحسب Start time و End time المعتمدان بناءً على الخطوة الزمنية الداخلية لمجموعة البيانات.

    يمكن ضبط Reference time مخصص (ومن ثم النطاق الزمني)، والتراجع عن التغييرات باستخدام الزر refresh Reload from provider. وبتحديد checkbox Always take reference time from data source، تضمن تحديث الخصائص الزمنية من الملف في كل مرة تُعاد فيها تحميل الطبقة أو يُعاد فتح المشروع.

  • Dataset matching method: يحدد مجموعة البيانات المراد عرضها في الوقت المعطى. الخيارات هي Find closest dataset before requested time أو Find closest dataset from requested time (after or before).

إعدادات الوقت لدى المزوّد

  • Time unit المستخرجة من البيانات الخام، أو التي يحددها المستخدم. ويمكن استخدامها لمواءمة سرعة طبقة الشبكة المثلثية (mesh) مع الطبقات الأخرى في المشروع أثناء التنقّل الزمني في الخريطة. والوحدات المدعومة هي Seconds و Minutes و Hours و Days.

14.3.8. خصائص الارتفاع

يوفر التبويب elevationscale Elevation خيارات للتحكم في خصائص ارتفاع الطبقة ضمن عرض الخريطة ثلاثي الأبعاد و عرض الخريطة ثنائي الأبعاد وفي مظهرها في مخططات أداة المقطع الجانبي. وتحديدًا، يمكنك ضبط كيفية تفسير الارتفاعات من مجموعة بياناتك:

../../../_images/mesh_elevation.png

شكل 14.15 خصائص الارتفاع للشبكة المثلثية (mesh)

  • From vertices: كيفية تفسير قيم Z لرؤوس طبقة الشبكة المثلثية (mesh) بوصفها ارتفاع التضاريس. ويمكنك تطبيق معامل Scale وقيمة Offset. يتوفر هذا الإعداد في عرض الخريطة ثلاثي الأبعاد و مخططات أداة المقطع.

  • Fixed Elevation Range: ترتبط طبقة الشبكة المثلثية (mesh) بنطاق ارتفاع ثابت. ويُطبَّق هذا الوضع عندما يكون للطبقة إما ارتفاع ثابت واحد أو نطاق (شريحة) من قيم الارتفاع. وإذا حُدّد نطاق، تُمدَّد قيم الشبكة المثلثية على هذا النطاق. ويمكنك ضبط قيمتي نطاق الارتفاع Lower و Upper للطبقة، وتحديد ما إذا كانت Limits الدنيا أو العليا شاملة أو غير شاملة. وعند التفعيل، لن تظهر الطبقة في الخرائط ثنائية الأبعاد المرشّحة حسب الارتفاع إلا عندما يقع نطاق الطبقة ضمن نطاق Z للخريطة.

  • Fixed Elevation Range Per Group: ترتبط كل مجموعة في طبقة الشبكة المثلثية (mesh) بنطاق ارتفاع ثابت. ويمكن استخدام هذا الوضع عندما تكون لدى الطبقة بيانات ارتفاع معروضة عبر مجموعات بيانات مختلفة. وتُعرض هذه الميزة على هيئة جدول قابل للتحرير من قبل المستخدم لمجموعات البيانات بقيم دنيا وعليا. ويمكنك إما ملء القيم الدنيا والعليا يدويًا أو استخدام expression Expression لملء قيم جميع المجموعات تلقائيًا بناءً على تعبير. وعند التفعيل، تُرشَّح الطبقة في عرض الخريطة ثنائي الأبعاد فلا تُعرض إلا القيم الواقعة ضمن نطاقات ترشيح الخريطة. أما في عرض الخريطة ثلاثي الأبعاد أو مخططات أداة المقطع، فسيُعرض الامتداد الكامل للطبقة مع تجاهل الترشيح.

  • Profile Chart Appearance: يتحكّم في رسم ارتفاع عناصر الشبكة المثلثية (mesh) في مخطط المقطع. ويمكن ضبط Style للمقطع على:

    • Line (خط) بـ نمط خط محدد

    • سطح ارتفاع يُرسم باستخدام رمز تعبئة إما فوق (Fill above) أو تحت (Fill below) خط منحنى الارتفاع. يُمثَّل ترميز السطح باستخدام:

      • نمط تعبئة

      • و Limit: الارتفاع الأقصى (أو الأدنى على التوالي) الذي يحدد مدى ارتفاع سطح التعبئة

14.3.9. خصائص البيانات الوصفية (Metadata)

يوفر لك التبويب editMetadata Metadata خيارات لإنشاء تقرير بيانات وصفية (metadata) لطبقتك وتحريره. انظر البيانات الوصفية (Metadata) لمزيد من المعلومات.

14.4. استكشاف مجموعات بيانات الشبكة المثلثية (mesh)

للتعرّف على عناصر الشبكة المثلثية (mesh) ومجموعات البيانات المرتبطة بها، استخدم الأداة identify Identify Features من شريط الأدوات Attributes. انقر على عنصر من عناصر الشبكة المثلثية في لوحة الخريطة، فتُفتح اللوحة Identify Results وتعرض معلومات عن طبقة الشبكة المثلثية والعنصر المُتعرَّف عليه. وتُظهر اللوحة:

  • اسم الطبقة

  • تُعرض أولًا مجموعات البيانات النشطة (القياسية و/أو المتجهة) للعنصر الذي نُقر عليه. أما مجموعات البيانات غير النشطة فتُعرض بعدها. ولكل مجموعة، قد تُعرض أيضًا المعلومات المشتقة التالية، إن انطبقت:

    • مصدر مجموعة البيانات (الملف المخزّنة فيه).

    • الخطوة الزمنية لقيمة مجموعة البيانات المعروضة. لمجموعات البيانات غير الزمنية، يبقى هذا الحقل فارغًا.

    • قيم المركّبة السينية للمتجه و المركّبة الصادية للمتجه لمجموعات البيانات المتجهة.

يُرجى ملاحظة أنه عند تعطيل التنقل الزمني، لا تحتوي النتائج إلا على قيم من مجموعات البيانات الثابتة المعرّفة.

  • تعرض معلومات الشكل الهندسي إحداثيات النقطة التي نُقر عليها، وقد تحتوي على المعلومات المشتقة التالية:

    • مركز ثقل الوجه.

    • إحداثيات رأس ملتقط (إذا التُقطت النقرة إلى رأس).

    • مركز حافة ملتقطة (إذا التُقطت النقرة إلى حافة).

../../../_images/mesh_identify.png

شكل 14.16 لوحة نتائج التعرّف على الشبكة المثلثية (mesh)

14.5. تحرير طبقة الشبكة المثلثية (mesh)

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

ملاحظة

لا يتيح QGIS رقمنة الحواف في طبقات الشبكة المثلثية (mesh). فالرؤوس والأوجه هي وحدها عناصر الشبكة المثلثية التي يمكن إنشاؤها. كما لا يمكن تحرير جميع صيغ الشبكة المثلثية المدعومة في QGIS (راجع الأذونات).

14.5.1. نظرة عامة على أدوات رقمنة الشبكة المثلثية (mesh)

للتفاعل مع عنصر من عناصر طبقة الشبكة المثلثية (mesh) الأساسية أو تحريره، تتوفر الأدوات التالية.

جدول 14.4 أدوات رقمنة الشبكة المثلثية (mesh)

Label

غرض

الموقع

allEdits Current Edits

الوصول إلى حفظ التغييرات أو التراجع عنها أو إلغائها في جميع الطبقات أو الطبقات المحددة في آن واحد

شريط الأدوات Digitizing

toggleEditing Toggle to Edit

تشغيل/إيقاف وضع التحرير للطبقة

شريط الأدوات Digitizing

saveEdits Save Edits

حفظ التغييرات التي أُجريت على الطبقة

شريط الأدوات Digitizing

undo Undo

التراجع عن التغيير (التغييرات) الأخير - Ctrl+Z

شريط الأدوات Digitizing

redo Redo

إعادة الإجراء (الإجراءات) الأخير المتراجع عنه - Ctrl+Shift+Z

شريط الأدوات Digitizing

cad Enable Advanced Digitizing tools

تشغيل/إيقاف لوحة الرقمنة المتقدمة

شريط الأدوات Advanced Digitizing

meshReindex Reindex Faces and Vertices

إعادة إنشاء الفهرس وإعادة ترقيم عناصر الشبكة المثلثية (mesh) لتحسين الأداء

القائمة Mesh

meshDigitizing Digitize Mesh Elements

تحديد/إنشاء الرؤوس والأوجه

شريط الأدوات Mesh Digitizing

meshSelectPolygon Select Mesh Elements by Polygon

تحديد الرؤوس والأوجه التي يتداخل معها مضلع مرسوم

شريط الأدوات Mesh Digitizing

meshSelectExpression Select Mesh Elements by Expression

تحديد الرؤوس والأوجه باستخدام تعبير

شريط الأدوات Mesh Digitizing

meshTransformByExpression Transform Vertices Coordinates

تعديل إحداثيات مجموعة محددة من الرؤوس

شريط الأدوات Mesh Digitizing

meshEditForceByVectorLines Force by Selected Geometries

تقسيم الأوجه وتقييد قيمة Z باستخدام شكل هندسي خطي

شريط الأدوات Mesh Digitizing

14.5.2. استكشاف منطق تعيين قيمة Z

عند تحويل طبقة الشبكة المثلثية (mesh) إلى وضع التحرير، يُفتح عنصر الواجهة Vertex Z value أعلى يمين لوحة الخريطة. وتطابق قيمته افتراضيًا قيمة Default Z value المضبوطة في التبويب Settings ► Options ► Digitizing. وعند وجود رؤوس محددة، يعرض عنصر الواجهة متوسط قيمة Z للرؤوس المحددة.

أثناء التحرير، تُعيَّن Vertex Z value للرؤوس الجديدة. ويمكن أيضًا ضبط قيمة مخصصة: حرّر عنصر الواجهة واضغط Enter، فتتجاوز القيمة الافتراضية وتستخدم هذه القيمة الجديدة في عملية الرقمنة. انقر على الأيقونة clearText في عنصر الواجهة لإعادة قيمته إلى القيمة الافتراضية في الخيارات.

14.5.2.1. قواعد التعيين

يُضبط هذا في القائمة المنسدلة لأداة Digitize mesh elements بوصفه الخيار New vertex Z value. تتوفر الطرق التالية:

جدول 14.5 طرق تعيين قيمة Z

الطريقة

وصف

تضاريس المشروع (Project terrain)

تُؤخذ قيمة Z أو تُحسب دائمًا من التضاريس المرجعية للمشروع.

  • إذا كانت تضاريس مستوية، فتطابق القيمة Terrain height المضبوطة في خصائص المشروع.

  • إذا كانت طبقة شبكة مثلثية (Mesh)، فتُستوفى القيمة من الرؤوس المحيطة في الشبكة المثلثية.

  • إذا كانت نموذج ارتفاع رقمي (طبقة شبكية)، فتُعيَّن القيمة من قيمة بكسل الطبقة الشبكية.

  • إذا لم تكن هناك تضاريس أسفل الرأس الجديد، فتعود القيمة إلى Default Z value المضبوطة في خيارات الرقمنة.

عنصر واجهة Z (Z widget)

تُؤخذ قيمة Z من عنصر الواجهة Vertex Z value أو من عنصر الواجهة Z في Advanced Digitizing Panel (إذا كان في حالة Locked).

تفضيل الشبكة المثلثية (mesh)، ثم عنصر واجهة Z

يستوفي قيمة Z من طبقة الشبكة المثلثية (mesh) النشطة إذا كان الرأس على حافة أو وجه، وإلا فيعود إلى عنصر الواجهة Vertex Z value أو عنصر الواجهة Z في Advanced Digitizing Panel (إذا كان في الحالة Locked).

تفضيل الشبكة المثلثية (mesh)، ثم التضاريس

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

يصف المنطق التفصيلي التالي سلوك استراتيجية Prefer mesh, then Z widget.

جدول 14.6 مصفوفة تعيين قيمة Z للرأس الجديد

إنشاء الرأس

هل الرؤوس محددة؟

مصدر القيمة المعيّنة

قيمة Z المعيّنة

رأس "حر"، غير متصل بأي وجه أو حافة وجه

لا

Vertex Z value

افتراضية أو يحددها المستخدم

Advanced Digitizing Panel (إذا كان عنصر الواجهة z في حالة locked Locked)

عنصر الواجهة z إذا كان في حالة locked Locked

نعم

Vertex Z value

متوسط الرؤوس المحددة أو قيمة يحددها المستخدم

رأس على حافة

---

طبقة الشبكة المثلثية (mesh)

مستوفاة من رؤوس الحافة

رأس على وجه

---

طبقة الشبكة المثلثية (mesh)

مستوفاة من رؤوس الوجه

رأس ملتقط إلى معلم متجهي ثنائي الأبعاد

---

Vertex Z value

افتراضية أو يحددها المستخدم

رأس ملتقط إلى رأس متجهي ثلاثي الأبعاد

---

طبقة متجهية

الرأس

رأس ملتقط إلى قطعة متجهية ثلاثية الأبعاد

---

طبقة متجهية

مستوفاة على طول القطعة المتجهية

ملاحظة

يُعطَّل عنصر الواجهة Vertex Z value إذا كانت لوحة الرقمنة المتقدمة مفعّلة ولم يُحدَّد أي عنصر من عناصر الشبكة المثلثية (mesh). وعندئذٍ يتولى عنصر الواجهة z في تلك اللوحة إسناد قيمة Z.

14.5.2.2. تعديل قيمة Z للرؤوس الموجودة

لتعديل قيمة Z للرؤوس، فإن أبسط طريقة هي:

  1. حدد رأسًا واحدًا أو أكثر. سيعرض عنصر الواجهة Vertex Z value متوسط ارتفاع التحديد.

  2. غيّر القيمة في عنصر الواجهة.

  3. اضغط Enter. تُعيَّن القيمة المدخلة للرؤوس وتصبح القيمة الافتراضية للرؤوس التالية.

طريقة أخرى لتغيير قيمة Z لرأس هي تحريكه والتقاطه إلى معلم في طبقة متجهية تدعم قيم Z. وإذا حُدد أكثر من رأس، فلا يمكن تغيير قيمة Z بهذه الطريقة.

توفّر نافذة الحوار تحويل رؤوس الشبكة المثلثية (mesh) أيضًا وسائل لتعديل قيمة Z لمجموعة من الرؤوس المحددة (إلى جانب إحداثياتها X أو Y).

14.5.3. تحديد عناصر الشبكة المثلثية (mesh)

لتحديد عناصر الشبكة المثلثية (mesh)، يمكنك استخدام الأدوات التالية:

  • meshDigitizing Digitize Mesh Elements لتحديد عناصر مختلفة من الشبكة المثلثية (mesh)، راجع المزيد في استخدام Digitize Mesh Elements.

  • meshSelectPolygon Select Mesh Elements by Polygon لتحديد عناصر مختلفة من الشبكة المثلثية (mesh) بواسطة مضلع، راجع المزيد في استخدام Select Mesh Elements by Polygon.

  • meshSelectExpression Select Mesh Elements by Expression لتحديد عناصر مختلفة من الشبكة المثلثية (mesh) بواسطة تعبير، ويمكنك اختيار Select by vertices أو Select by faces، راجع المزيد في استخدام Select Mesh Elements by Expression.

  • meshSelectIsolatedVertices Select Isolated Vertices لتحديد جميع الرؤوس التي لا تنتمي إلى أي وجه من أوجه الشبكة المثلثية (mesh).

  • meshSelectAll Select All Vertices لتحديد جميع رؤوس طبقة الشبكة المثلثية (mesh).

14.5.3.1. استخدام Digitize Mesh Elements

فعّل أداة meshDigitizing Digitize Mesh Elements. مرّر المؤشر فوق عنصر فيُبرَز، مما يتيح لك تحديده.

  • انقر على رأس فيُحدَّد.

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

  • اسحب مستطيلًا لتحديد العناصر المتداخلة معه (يُحدَّد الوجه مع جميع رؤوسه). اضغط المفتاح Alt إذا أردت تحديد العناصر المحتواة بالكامل فقط.

  • لإضافة عناصر إلى تحديد، اضغط Shift أثناء تحديدها.

  • لإزالة عنصر من التحديد، اضغط Ctrl وأعد تحديده. وإلغاء تحديد وجه يلغي أيضًا تحديد جميع رؤوسه.

14.5.3.2. استخدام Select Mesh Elements by Polygon

فعّل أداة meshSelectPolygon Select Mesh Elements by Polygon ثم:

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

  • انقر بزر الفأرة الأيمن فوق الشكل الهندسي لمعلم في طبقة متجهية، واختره من القائمة التي تظهر، فيُحدَّد أي رأس أو وجه متداخل جزئيًا من طبقة الشبكة المثلثية (mesh). استخدم Alt أثناء الرسم لتحديد العناصر المحتواة بالكامل فقط.

  • لإضافة عناصر إلى تحديد، اضغط Shift أثناء تحديدها.

  • لإزالة عنصر من التحديد، اضغط Ctrl أثناء الرسم فوق مضلع التحديد.

14.5.3.3. استخدام Select Mesh Elements by Expression

من الأدوات الأخرى لتحديد عناصر الشبكة المثلثية (mesh) الأداة meshSelectExpression Select Mesh Elements by Expression. عند الضغط عليها، تفتح الأداة نافذة الحوار لمحدد التعابير الخاصة بالشبكة المثلثية، والتي يمكنك منها:

  1. اختيار طريقة التحديد:

    • Select by vertices: يطبّق التعبير المدخل على الرؤوس، ويعيد الرؤوس المطابقة والحواف/الأوجه المرتبطة بها إن وُجدت

    • Select by faces: يطبّق التعبير المدخل على الأوجه، ويعيد الأوجه المطابقة والحواف/الرؤوس المرتبطة بها

  2. كتابة تعبير التحديد. وبحسب الطريقة المختارة، تُرشَّح الدوال المتاحة في مجموعة Meshes وفقًا لذلك.

  3. تنفيذ الاستعلام بتحديد سلوك التحديد والضغط على:

    • expressionSelect Select: يستبدل أي تحديد موجود في الطبقة

    • selectAdd Add to current selection

    • selectRemove Remove from current selection

14.5.4. تعديل عناصر الشبكة المثلثية (mesh)

14.5.4.1. إضافة الرؤوس

لإضافة رؤوس إلى طبقة الشبكة المثلثية (mesh):

  1. اضغط الزر meshDigitizing Digitize mesh elements

  2. يتوفر عنصر الواجهة Vertex Z value دائمًا في الزاوية العلوية اليمنى من لوحة الخريطة أثناء الرقمنة. ويتيح ضبط إحداثي Z المعيّن للرؤوس الجديدة أو تجاوزه، بحسب طريقة تعيين قيمة Z المختارة.

  3. يمكنك اختيار طريقة أخرى لتعيين قيم Z للرؤوس الجديدة من القائمة المنسدلة في أداة meshDigitizing Digitize mesh elements.

  4. ثم انقر نقرًا مزدوجًا:

    • خارج وجه: يضيف "رأسًا حرًا"، أي رأسًا غير مرتبط بأي وجه. يُمثَّل هذا الرأس بنقطة حمراء عندما تكون الطبقة في وضع التحرير.

    • على حافة وجه (أوجه) موجود: يضيف رأسًا على الحافة، ويقسّم الوجه (الأوجه) الملامس إلى مثلثات متصلة بالرأس الجديد.

    • داخل وجه: يقسّم الوجه إلى مثلثات تصل حوافها الرؤوس المحيطة بالرأس الجديد.

      عند تفعيل الخيار Refine neighboring faces when adding vertices في القائمة المنسدلة للزر meshDigitizing Digitize mesh elements، يُطبَّق فحص على الأوجه المثلثية التي تشترك في رأس واحد على الأقل مع الوجه الذي يُضاف إليه الرأس الجديد. وإذا لم تستوفِ حوافها قواعد تثليث Delaunay، فإنها تُقلب وفقًا لذلك.

14.5.4.2. إضافة الأوجه

لإضافة أوجه إلى طبقة الشبكة المثلثية (mesh):

  1. اضغط الزر meshDigitizing Digitize mesh elements

  2. يظهر عنصر الواجهة Vertex Z value في الزاوية العلوية اليمنى من لوحة الخريطة. اضبط هذه القيمة على إحداثي Z الذي تريد تعيينه للرؤوس اللاحقة.

  3. مرّر المؤشر فوق رأس وانقر على المثلث الصغير الذي يظهر بجانبه.

  4. حرّك المؤشر إلى موضع الرأس التالي؛ يمكنك الالتقاط إلى رأس موجود أو النقر بالزر الأيسر لإضافة رأس جديد.

  5. تابع كما سبق لإضافة ما تشاء من الرؤوس للوجه. اضغط زر Backspace للتراجع عن آخر رأس.

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

  7. اضغط Esc لإلغاء رقمنة الوجه.

  8. انقر بالزر الأيمن لاعتماد الوجه.

../../../_images/invalid_mesh.png

شكل 14.17 أمثلة على شبكة مثلثية (mesh) غير صالحة

14.5.4.3. إزالة عناصر الشبكة المثلثية (mesh)

  1. حدد العناصر المستهدفة

  2. فعّل أداة meshDigitizing Digitize mesh elements

  3. انقر بالزر الأيمن واختر:

    • Remove Selected Vertices and Fill Hole(s) أو اضغط Ctrl+Del: يزيل الرؤوس والأوجه المرتبطة بها ويملأ الثقب (الثقوب) بالتثليث من الرؤوس المجاورة

    • Remove Selected Vertices Without Filling Hole(s) أو اضغط Ctrl+Shift+Del: يزيل الرؤوس والأوجه المرتبطة بها دون ملء الثقب (الثقوب)

    • Remove Selected Face(s) أو اضغط Shift+Del: يزيل الأوجه لكنه يُبقي الرؤوس

هذه الخيارات متاحة أيضًا من القائمة السياقية عند تمرير المؤشر فوق عنصر واحد دون تحديده.

14.5.4.4. تحريك عناصر الشبكة المثلثية (mesh)

لتحريك رؤوس طبقة الشبكة المثلثية (mesh) وأوجهها:

  1. حدد العناصر المستهدفة

  2. فعّل أداة meshDigitizing Digitize mesh elements

  3. لبدء تحريك العنصر، انقر على رأس أو على مركز ثقل وجه/حافة

  4. حرّك المؤشر إلى الموقع المستهدف (الالتقاط إلى المعالم المتجهية مدعوم).

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

14.5.4.5. تحويل رؤوس الشبكة المثلثية (mesh)

توفر أداة meshTransformByExpression Transform Vertices Coordinates طريقة أكثر تقدمًا لتحريك الرؤوس، عبر تحرير إحداثياتها X و Y و/أو Z بواسطة التعابير.

  1. حدد الرؤوس التي تريد تحرير إحداثياتها

  2. اضغط meshTransformByExpression Transform Vertices Coordinates. تُفتح نافذة حوار تذكر عدد الرؤوس المحددة. لا يزال بإمكانك إضافة رؤوس إلى التحديد أو إزالتها منه.

  3. بحسب الخصائص التي تريد تعديلها، تحتاج إلى تحديد X coordinate و Y coordinate و/أو Z value.

  4. ثم أدخل الموضع المستهدف في المربع، إما كقيمة رقمية أو كتعبير (باستخدام expression Expression dialog)

  5. عند الضغط على vertexCoordinates Import Coordinates of the Selected Vertex، تُملأ مربعات X و Y و Z تلقائيًا بإحداثيات الرأس كلما حُدد رأس واحد. يمكنك ضبط قيمة Z باستخدام الزر checkbox Get the Z value from the project terrain وفي هذه الحالة يُعطَّل مربع Z. وهي طريقة ملائمة وسريعة لضبط الرؤوس كلٌّ على حدة.

  6. اضغط Preview Transform لمحاكاة الموقع الجديد للرؤوس ومعاينة الشبكة المثلثية (mesh) بعد التحويل.

    • إذا كانت المعاينة خضراء، فالشبكة المثلثية (mesh) المحوَّلة صالحة ويمكنك تطبيق التحويل.

    • إذا كانت المعاينة حمراء، فالشبكة المثلثية (mesh) المحوَّلة غير صالحة ولا يمكنك تطبيق التحويل حتى تُصحَّح.

  7. اضغط Apply Transform لتعديل الإحداثيات المحددة لمجموعة الرؤوس.

14.5.4.6. إعادة تشكيل الشكل الهندسي للشبكة المثلثية (mesh)

القائمة السياقية
  1. فعّل meshDigitizing Digitize mesh elements

  2. حدّد عنصرًا (أو عناصر) من الشبكة المثلثية (mesh)، أو لا تحدّد شيئًا

  3. مرّر المؤشر فوق عنصر من عناصر الشبكة المثلثية (mesh)، فيُبرَز.

  4. انقر بالزر الأيمن ويمكنك:

    • إزالة العنصر (العناصر)

    • Split Selected Face(s) (Split Current Face): يقسم الوجه الذي تمرّر المؤشر فوقه، أو كل وجه رباعي محدد من أوجه الشبكة المثلثية (mesh)، إلى مثلثين

    • Delaunay Triangulation with Selected vertices: يبني أوجهًا مثلثية باستخدام الرؤوس الحرة المحددة.

    • Refine Selected Face(s) (Refine Current Face): يقسّم الوجه إلى أربعة أوجه، بناءً على رؤوس تُضاف في منتصف كل حافة (ينتج المثلث مثلثات، والرباعي رباعيات). كما يثلّث الأوجه المجاورة المتصلة بالرؤوس الجديدة.

علامات الحواف

عندما تكون meshDigitizing Digitize mesh elements نشطة وتمرّر المؤشر فوق حافة، تُبرَز الحافة ويمكن التفاعل معها. وبحسب السياق، قد تتوفر العلامات التالية:

  • مربع في مركز الحافة: انقر عليه لتحديد رأسي طرفيها.

  • علامة تقاطع إذا كان يمكن دمج الوجهين على جانبيها: انقر عليها لحذف الحافة ودمج الوجهين.

  • دائرة إذا كانت الحافة بين مثلثين: انقر عليها لقلب الحافة، أي وصلها بدلًا من ذلك بالرأسين "الحرّين" الآخرين للوجهين

أداة Force by Selected Geometries

توفّر الأداة meshEditForceByVectorLines Force by Selected Geometries طرقًا متقدمة لتطبيق خطوط الانكسار باستخدام أشكال هندسية خطية. يُجبر خط الانكسار الشبكة المثلثية (mesh) على أن تكون لها حواف على امتداد الخط. لاحظ أن خط الانكسار لن يُعدّ دائمًا بعد إتمام العملية؛ فالحواف الناتجة لن تعمل بعد ذلك بوصفها قيودًا، ويمكن تعديلها كأي حافة أخرى. ويمكن استخدام ذلك مثلًا لتعديل طبقة الشبكة المثلثية محليًا بخطوط دقيقة، مثل ضفاف الأنهار أو حدود جسور الطرق الترابية.

  1. فعّل أداة meshEditForceByVectorLines Force by Selected Geometries

  2. حدد الشكل الهندسي المراد استخدامه "خطًا مُجبِرًا"؛ ويمكن أن يكون:

    • مأخوذًا من معلم خطي أو مضلع في لوحة الخريطة: انقر بالزر الأيمن فوق المعلم المتجهي واختره من القائمة في القائمة السياقية.

    • خط افتراضي يُرسم فوق هيكل الشبكة المثلثية (mesh): نقرة يسرى لإضافة رؤوس، ونقرة يمنى للاعتماد. تُضبط قيمة Z للرؤوس عبر عنصر الواجهة Vertex Z value أو عنصر الواجهة z إذا كانت Advanced Digitizing Panel مفعّلة. وإذا التُقط الخط على رأس من رؤوس الشبكة المثلثية أو على رأس أو قطعة من معلم متجهي ثلاثي الأبعاد، يأخذ الرأس الجديد قيمة Z للعنصر الملتقَط.

ستتأثر أوجه الشبكة المثلثية (mesh) المتداخلة مع الشكل الهندسي للخط أو حدود المضلع بطريقة تعتمد على الخيارات التي يمكنك ضبطها من القائمة المنسدلة للأداة meshEditForceByVectorLines Force by Selected Geometries:

  • checkbox Add new vertex on intersecting edges: مع هذا الخيار، يُضاف رأس جديد في كل مرة يتقاطع فيها الخط المُجبِر مع حافة. ويؤدي هذا الخيار إلى تقسيم كل وجه يصادفه على طول الخط.

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

    ../../../_images/force_mesh_geometry.png

    شكل 14.18 فرض الشبكة المثلثية (mesh) باستخدام شكل هندسي خطي - النتائج بدون (في الوسط) ومع (على اليمين) رأس جديد عند تقاطع الحواف

  • Interpolate Z value from: يحدد كيفية حساب قيمة Z للرؤوس الجديدة. ويمكن أن تكون من:

    • Mesh نفسها: تُستوفى قيمة Z للرؤوس الجديدة من رؤوس الوجه الذي تقع داخله

    • أو Forcing line: إذا كان الخط معرّفًا بمعلم متجهي ثلاثي الأبعاد أو خط مرسوم، فتُشتق قيمة Z للرؤوس الجديدة من شكله الهندسي. وفي حالة معلم خطي ثنائي الأبعاد، تكون قيمة Z للرؤوس الجديدة هي Vertex Z value.

  • Tolerance: عندما يكون رأس موجود من رؤوس الشبكة المثلثية (mesh) أقرب إلى الخط من قيمة التسامح، لا يُنشأ رأس جديد على الخط بل يُستخدم الرأس الموجود بدلًا منه. ويمكن ضبط القيمة بوحدة Meters at Scale أو Map Units (مزيد من التفاصيل في منتقي الوحدات).

14.5.5. إعادة فهرسة الشبكات المثلثية (mesh)

أثناء التحرير، ولإتاحة عمليات تراجع/إعادة سريعة، يحتفظ QGIS بأماكن فارغة للعناصر المحذوفة، مما قد يؤدي إلى تزايد استهلاك الذاكرة وعدم كفاءة بنية الشبكة المثلثية (mesh). صُمّمت الأداة Mesh ► meshReindex Reindex Faces and Vertices لإزالة هذه الثقوب وإعادة ترقيم فهارس الأوجه والرؤوس بحيث تكون متصلة ومرتبة ترتيبًا معقولًا إلى حدٍّ ما. ويحسّن ذلك العلاقة بين الأوجه والرؤوس ويزيد كفاءة الحسابات.

ملاحظة

تحفظ أداة meshReindex Reindex Faces and Vertices الطبقة وتمسح مكدّسات التراجع/الإعادة، مما يعطّل أي تراجع.

14.6. حاسبة الشبكة المثلثية (mesh)

تتيح لك أداة Mesh Calculator من القائمة العلوية Mesh إجراء حسابات حسابية ومنطقية على مجموعات البيانات الموجودة لتوليد مجموعة بيانات جديدة (انظر شكل 14.19).

../../../_images/mesh_calculator.png

شكل 14.19 حاسبة الشبكة المثلثية (mesh)

تحتوي القائمة Datasets على جميع مجموعات البيانات في طبقة الشبكة المثلثية (mesh) النشطة. لاستخدام مجموعة بيانات في تعبير، انقر نقرًا مزدوجًا على اسمها في القائمة فتُضاف إلى الحقل Mesh calculator expression. ويمكنك بعد ذلك استخدام العوامل لبناء تعابير الحساب، أو كتابتها مباشرة في المربع.

يساعدك Result Layer على ضبط خصائص طبقة المخرجات:

  • checkbox Create on-the-fly dataset group instead of writing layer to disk:

    • إذا لم يُحدَّد، تُخزَّن المخرجات على القرص كملف عادي جديد. ويلزم تحديد مسار Output File و Output Format.

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

    في كلتا الحالتين، يجب أن تقدّم Group Name لمجموعة بيانات المخرجات.

  • يمكن أن يكون Spatial extent المعتمد في الحساب:

    • معرّفًا بوصفه Custom extent باستخدام عنصر الواجهة محدد الامتداد.

    • محددة بواسطة طبقة مضلعات (Mask layer) في المشروع: تُستخدم الأشكال الهندسية لمعالم المضلعات لقص مجموعات بيانات طبقة الشبكة المثلثية (mesh)

  • يمكن ضبط Temporal extent المراد مراعاته لمجموعات البيانات باستخدام الخيارين Start time و End time، المختارين من الخطوات الزمنية لمجموعات البيانات الموجودة. ويمكن أيضًا ملؤهما باستخدام الزر Use all selected dataset times لأخذ النطاق كاملًا.

  • مع مربع الاختيار checkbox Add result to project، ستُضاف طبقة النتيجة تلقائيًا إلى منطقة مفتاح الخريطة ويمكن عرضها. وهو محدد افتراضيًا.

يحتوي القسم Operators على جميع العوامل المتاحة. لإضافة عامل إلى مربع تعبير حاسبة الشبكة المثلثية (mesh)، انقر على الزر المناسب. تتوفر العمليات الحسابية (+ و - و * و ... ) والدوال الإحصائية (min و max و sum (aggr) و average (aggr) و ... ). وتُرجع التعابير الشرطية (= و != و < و >= و IF و AND و NOT و ... ) إما 0 للخطأ أو 1 للصواب، ومن ثم يمكن استخدامها مع العوامل والدوال الأخرى. ويمكن أيضًا استخدام القيمة NODATA في التعابير.

يعرض عنصر الواجهة Mesh Calculator Expression التعبير المراد تنفيذه ويتيح لك تحريره.