24.1.8. الاستيفاء

24.1.8.1. الخريطة الحرارية (تقدير كثافة النواة)

تنشئ طبقة شبكية للكثافة (خريطة حرارية) من طبقة متجهية نقطية مُدخلة باستخدام تقدير كثافة النواة.

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

المعاملات

Label

اﻷسم

النوع

وصف

الطبقة النقطية

INPUT

[vector: point]

الطبقة المتجهية النقطية المستخدمة في الخريطة الحرارية

نصف القطر

RADIUS

[numeric: double]

القيمة الافتراضية: 100.0

نصف قطر البحث للخريطة الحرارية (أو عرض نطاق النواة) بوحدات الخريطة. يحدد نصف القطر المسافة حول النقطة التي يُلمَس فيها تأثيرها. تؤدي القيم الأكبر إلى تنعيم أكبر، أما القيم الأصغر فقد تُظهر تفاصيل وتباينات أدق في كثافة النقاط.

حجم الطبقة الشبكية الناتجة

PIXEL_SIZE

[numeric: double]

القيمة الافتراضية: 0.1

حجم البكسل في الطبقة الشبكية الناتجة بوحدات الطبقة.

في الواجهة الرسومية، يمكن تحديد الحجم بعدد الصفوف (Number of rows) / الأعمدة (Number of columns) أو بحجم البكسل (Pixel Size X / Pixel Size Y). تؤدي زيادة عدد الصفوف أو الأعمدة إلى تصغير حجم الخلية وزيادة حجم ملف الطبقة الشبكية الناتجة. تُحدَّث القيم في Rows و Columns و Pixel Size X و Pixel Size Y في آنٍ واحد - فمضاعفة عدد الصفوف تضاعف عدد الأعمدة، ويُنصَّف حجم الخلية. ويبقى امتداد الطبقة الشبكية الناتجة كما هو (تقريبًا).

نصف القطر من حقل

اختياري

RADIUS_FIELD

[tablefield: numeric]

يعيّن نصف قطر البحث لكل معلم من حقل سمات في طبقة الإدخال.

الوزن من حقل

اختياري

WEIGHT_FIELD

[tablefield: numeric]

يتيح ترجيح معالم الإدخال بحقل سمات. يمكن استخدام ذلك لزيادة تأثير معالم معينة في الخريطة الحرارية الناتجة.

شكل النواة

KERNEL

[enumeration]

القيمة الافتراضية: 0

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

تتوفر أشكال كثيرة (راجع صفحة Wikipedia لمزيد من المعلومات):

  • 0 --- رباعية (Quartic)

  • 1 --- مثلثية (Triangular)

  • 2 --- منتظمة (Uniform)

  • 3 --- ثلاثية الوزن (Triweight)

  • 4 --- Epanechnikov

نسبة التلاشي (للنوى المثلثية فقط)

اختياري

DECAY

[numeric: double]

القيمة الافتراضية: 0.0

يمكن استخدامها مع النوى المثلثية لمزيد من التحكم في كيفية تناقص الحرارة الصادرة عن معلم مع ازدياد المسافة عنه.

  • تشير القيمة 0 (=الحد الأدنى) إلى أن الحرارة ستتركز في مركز نصف القطر المحدد وتنطفئ تمامًا عند حافته.

  • تشير القيمة 0.5 إلى أن البكسلات عند حافة نصف القطر ستُعطى نصف حرارة البكسلات الواقعة في مركز نصف قطر البحث.

  • تعني القيمة 1 أن الحرارة تتوزع بالتساوي على كامل دائرة نصف قطر البحث. (وهذا يكافئ النواة ‘Uniform’.)

  • تشير القيمة الأكبر من 1 إلى أن الحرارة تكون أعلى باتجاه حافة نصف قطر البحث منها في المركز.

تحجيم قيم المخرجات

OUTPUT_VALUE

[enumeration]

القيمة الافتراضية: 0

يتيح تغيير قيم الطبقة الشبكية الناتجة للخريطة الحرارية. أحد الخيارين:

  • 0 --- خام (Raw)

  • 1 --- محجَّمة (Scaled)

الخريطة الحرارية

OUTPUT

[raster]

القيمة الافتراضية: [Save to temporary file]

حدد الطبقة الشبكية الناتجة التي تحتوي على قيم كثافة النواة. أحد الخيارات:

  • الحفظ في ملف مؤقت

  • الحفظ في ملف…

المخرجات

Label

اﻷسم

النوع

وصف

الخريطة الحرارية

OUTPUT

[raster]

طبقة شبكية تحتوي على قيم كثافة النواة

مثال: إنشاء خريطة حرارية

سنستخدم في المثال الآتي الطبقة المتجهية النقطية airports من مجموعة بيانات QGIS التجريبية (انظر تنزيل البيانات التجريبية). ويمكن العثور على درس ممتاز آخر في QGIS عن إنشاء الخرائط الحرارية في http://qgistutorials.com.

يعرض شكل 24.24 مطارات ألاسكا.

../../../../_images/heatmap_start.png

شكل 24.24 مطارات ألاسكا

  1. افتح الخوارزمية Heatmap (Kernel Density Estimation) من المجموعة Interpolation في QGIS

  2. في الحقل Point layer selectString، اختر airports من قائمة الطبقات النقطية المحمّلة في المشروع الحالي.

  3. غيّر Radius إلى 1000000 متر.

  4. غيّر Pixel size X إلى 1000. ستُحدَّث القيم Pixel size Y و Rows و Columns تلقائيًا.

  5. انقر على Run لإنشاء الخريطة الحرارية للمطارات وتحميلها (انظر شكل 24.26).

../../../../_images/heatmap_dialog.png

شكل 24.25 نافذة حوار الخريطة الحرارية

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

../../../../_images/heatmap_loaded_grey.png

شكل 24.26 تبدو الخريطة الحرارية بعد تحميلها سطحًا رماديًا

  1. افتح نافذة حوار خصائص الطبقة heatmap_airports (حدد الطبقة heatmap_airports، وافتح القائمة السياقية بزر الفأرة الأيمن واختر Properties).

  2. اختر التبويب Symbology.

  3. غيّر Render type selectString إلى 'Singleband pseudocolor'.

  4. اختر Color ramp selectString مناسبًا، مثل YlOrRd.

  5. انقر على الزر Classify.

  6. اضغط OK لتحديث الطبقة.

تظهر النتيجة النهائية في شكل 24.27.

../../../../_images/heatmap_loaded_colour.png

شكل 24.27 خريطة حرارية منسَّقة لمطارات ألاسكا

شيفرة Python

معرّف الخوارزمية: qgis:heatmapkerneldensityestimation

import processing
processing.run("algorithm_id", {parameter_dictionary})

يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.

24.1.8.2. استيفاء IDW

تُجري استيفاءً بطريقة مقلوب المسافة الموزونة (IDW) لطبقة متجهية نقطية.

تُوزَن نقاط العينة أثناء الاستيفاء بحيث يتناقص تأثير نقطة بالنسبة إلى أخرى مع ازدياد المسافة عن النقطة المجهولة التي تريد إنشاءها.

لطريقة استيفاء IDW أيضًا بعض العيوب: فقد تنخفض جودة نتيجة الاستيفاء إذا كان توزيع نقاط بيانات العينة غير منتظم.

علاوة على ذلك، لا يمكن أن تقع القيم العظمى والصغرى في السطح المستوفى إلا عند نقاط بيانات العينة.

المعاملات

Label

اﻷسم

النوع

وصف

طبقة (طبقات) الإدخال

INTERPOLATION_DATA

[string]

الطبقة (الطبقات) المتجهية والحقل (الحقول) المستخدمة في الاستيفاء، مرمَّزة في سلسلة نصية (انظر الصنف ParameterInterpolationData في InterpolationWidgets لمزيد من التفاصيل).

تتوفر عناصر الواجهة الرسومية الآتية لتكوين سلسلة بيانات الاستيفاء:

  • الطبقة المتجهية [vector: any]

  • سمة الاستيفاء [tablefield: numeric]: السمة المستخدمة في الاستيفاء

  • استخدام الإحداثي Z في الاستيفاء [boolean]: يستخدم قيم Z المخزّنة في الطبقة (القيمة الافتراضية: False)

يمكن اختيار نوع لكل تركيبة طبقة-حقل مضافة:

  • Points: مواقع عينات الارتفاع التي تحتوي على القيم المراد استيفاؤها (مثل ارتفاع التضاريس، Z). هذه النقاط هي المدخل الأساسي لحساب السطح الناتج.

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

  • Break lines: خطوط تمثّل انقطاعات سطحية معروفة أو حدودًا حادة (مثل الجروف، وضفاف الأنهار، وحواف الحفريات، وحدود البحيرات/البرك). وهي تحدد الأماكن التي قد يتغير فيها السطح تغيرًا حادًا. ويلزم استخدامها إذا كانت هناك تغيرات كبيرة في الارتفاع على امتداد الخط.

في السلسلة النصية، تُفصَل عناصر طبقة-حقل بـ '::|::'. وتُفصَل العناصر الفرعية لعناصر طبقة-حقل بـ '::~::'.

معامل المسافة P

DISTANCE_COEFFICIENT

[numeric: double]

القيمة الافتراضية: 2.0

يعيّن معامل المسافة للاستيفاء. الحد الأدنى: 0.0، الحد الأقصى: 100.0.

الامتداد (xmin, xmax, ymin, ymax)

EXTENT

[extent]

امتداد الطبقة الشبكية الناتجة.

الطرق المتاحة هي:

  • الحساب من طبقة…: يستخدم امتداد طبقة محمّلة في المشروع الحالي

  • الحساب من خريطة تخطيط…: يستخدم امتداد عنصر خريطة في التخطيط في المشروع النشط

  • الحساب من إشارة مرجعية…: يستخدم امتداد إشارة مرجعية محفوظة

  • استخدام امتداد لوحة الخريطة

  • الرسم على اللوحة: انقر واسحب لرسم مستطيل يحدد المنطقة المراد أخذها في الحسبان

  • أدخل الإحداثيات بالصيغة xmin, xmax, ymin, ymax

حجم الطبقة الشبكية الناتجة

PIXEL_SIZE

[numeric: double]

القيمة الافتراضية: 0.1

حجم البكسل في الطبقة الشبكية الناتجة بوحدات الطبقة.

في الواجهة الرسومية، يمكن تحديد الحجم بعدد الصفوف (Number of rows) / الأعمدة (Number of columns) أو بحجم البكسل (Pixel Size X / Pixel Size Y). تؤدي زيادة عدد الصفوف أو الأعمدة إلى تصغير حجم الخلية وزيادة حجم ملف الطبقة الشبكية الناتجة. تُحدَّث القيم في Rows و Columns و Pixel Size X و Pixel Size Y في آنٍ واحد - فمضاعفة عدد الصفوف تضاعف عدد الأعمدة، ويُنصَّف حجم الخلية. ويبقى امتداد الطبقة الشبكية الناتجة كما هو (تقريبًا).

المستوفاة

OUTPUT

[raster]

القيمة الافتراضية: [Save to temporary file]

طبقة شبكية للقيم المستوفاة. أحد الخيارات:

  • الحفظ في ملف مؤقت

  • الحفظ في ملف…

المخرجات

Label

اﻷسم

النوع

وصف

المستوفاة

OUTPUT

[raster]

طبقة شبكية للقيم المستوفاة

شيفرة Python

معرّف الخوارزمية: qgis:idwinterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.

24.1.8.3. كثافة الخطوط

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

ملاحظة

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

../../../../_images/linedensity.png

شكل 24.28 مثال على كثافة الخطوط. مصدر طبقة الإدخال: طرق Overijssel - هولندا (OSM).

المعاملات

المعاملات الأساسية

Label

اﻷسم

النوع

وصف

طبقة الخطوط المُدخلة

INPUT

[vector: line]

طبقة متجهية مُدخلة تحتوي على معالم خطية

حقل الوزن

WEIGHT

[tablefield: numeric]

حقل الطبقة الذي يحتوي على معامل الوزن المستخدم أثناء الحساب

نصف قطر البحث

RADIUS

[numeric: double]

القيمة الافتراضية: 10.0

نصف قطر الجوار الدائري. يمكن تحديد الوحدات هنا.

حجم البكسل

PIXEL_SIZE

[numeric: double]

القيمة الافتراضية: 10.0

حجم البكسل في الطبقة الشبكية الناتجة بوحدات الطبقة. بكسلات الطبقة الشبكية مربعة.

طبقة كثافة الخطوط الشبكية

OUTPUT

[raster]

القيمة الافتراضية: [Save to temporary file]

المخرجات على شكل طبقة شبكية. أحد الخيارات:

  • الحفظ في ملف مؤقت

  • الحفظ في ملف…

المعاملات المتقدمة

Label

اﻷسم

النوع

وصف

خيارات الإنشاء

اختياري

Added in 3.40

CREATION_OPTIONS (في QGIS <= 3.42 كان CREATE_OPTIONS)

[string]

القيمة الافتراضية: ''

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

المعالجة الدفعية ومصمّم النماذج: افصل بين الخيارات المتعددة بالحرف (|).

المخرجات

Label

اﻷسم

النوع

وصف

طبقة كثافة الخطوط الشبكية

OUTPUT

[raster]

الطبقة الشبكية الناتجة لكثافة الخطوط.

شيفرة Python

معرّف الخوارزمية: native:linedensity

import processing
processing.run("algorithm_id", {parameter_dictionary})

يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.

24.1.8.4. استيفاء TIN

تُجري استيفاءً بشبكة المثلثات غير المنتظمة (TIN) لطبقة متجهية نقطية.

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

تنشئ الخوارزمية كلًّا من الطبقة الشبكية للقيم المستوفاة والطبقة المتجهية الخطية لحدود التثليث.

المعاملات

Label

اﻷسم

النوع

وصف

طبقة (طبقات) الإدخال

INTERPOLATION_DATA

[string]

الطبقة (الطبقات) المتجهية والحقل (الحقول) المستخدمة في الاستيفاء، مرمَّزة في سلسلة نصية (انظر الصنف ParameterInterpolationData في InterpolationWidgets لمزيد من التفاصيل).

تتوفر عناصر الواجهة الرسومية الآتية لتكوين سلسلة بيانات الاستيفاء:

  • الطبقة المتجهية [vector: any]

  • سمة الاستيفاء [tablefield: numeric]: السمة المستخدمة في الاستيفاء

  • استخدام الإحداثي Z في الاستيفاء [boolean]: يستخدم قيم Z المخزّنة في الطبقة (القيمة الافتراضية: False)

يمكن اختيار نوع لكل تركيبة طبقة-حقل مضافة:

  • Points: مواقع عينات الارتفاع التي تحتوي على القيم المراد استيفاؤها (مثل ارتفاع التضاريس، Z). هذه النقاط هي المدخل الأساسي لحساب السطح الناتج.

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

  • Break lines: خطوط تمثّل انقطاعات سطحية معروفة أو حدودًا حادة (مثل الجروف، وضفاف الأنهار، وحواف الحفريات، وحدود البحيرات/البرك). وهي تحدد الأماكن التي قد يتغير فيها السطح تغيرًا حادًا. ويلزم استخدامها إذا كانت هناك تغيرات كبيرة في الارتفاع على امتداد الخط.

في السلسلة النصية، تُفصَل عناصر طبقة-حقل بـ '::|::'. وتُفصَل العناصر الفرعية لعناصر طبقة-حقل بـ '::~::'.

طريقة الاستيفاء

METHOD

[enumeration]

القيمة الافتراضية: 0

عيّن طريقة الاستيفاء المراد استخدامها. أحد الخيارين:

  • Linear

  • Clough-Toucher (cubic)

الامتداد (xmin, xmax, ymin, ymax)

EXTENT

[extent]

امتداد الطبقة الشبكية الناتجة.

الطرق المتاحة هي:

  • الحساب من طبقة…: يستخدم امتداد طبقة محمّلة في المشروع الحالي

  • الحساب من خريطة تخطيط…: يستخدم امتداد عنصر خريطة في التخطيط في المشروع النشط

  • الحساب من إشارة مرجعية…: يستخدم امتداد إشارة مرجعية محفوظة

  • استخدام امتداد لوحة الخريطة

  • الرسم على اللوحة: انقر واسحب لرسم مستطيل يحدد المنطقة المراد أخذها في الحسبان

  • أدخل الإحداثيات بالصيغة xmin, xmax, ymin, ymax

حجم الطبقة الشبكية الناتجة

PIXEL_SIZE

[numeric: double]

القيمة الافتراضية: 0.1

حجم البكسل في الطبقة الشبكية الناتجة بوحدات الطبقة.

في الواجهة الرسومية، يمكن تحديد الحجم بعدد الصفوف (Number of rows) / الأعمدة (Number of columns) أو بحجم البكسل (Pixel Size X / Pixel Size Y). تؤدي زيادة عدد الصفوف أو الأعمدة إلى تصغير حجم الخلية وزيادة حجم ملف الطبقة الشبكية الناتجة. تُحدَّث القيم في Rows و Columns و Pixel Size X و Pixel Size Y في آنٍ واحد - فمضاعفة عدد الصفوف تضاعف عدد الأعمدة، ويُنصَّف حجم الخلية. ويبقى امتداد الطبقة الشبكية الناتجة كما هو (تقريبًا).

المستوفاة

OUTPUT

[raster]

القيمة الافتراضية: [Save to temporary file]

استيفاء TIN الناتج على شكل طبقة شبكية. أحد الخيارات:

  • الحفظ في ملف مؤقت

  • الحفظ في ملف…

التثليث

TRIANGULATION

[vector: line]

القيمة الافتراضية: [Skip output]

شبكة TIN الناتجة على شكل طبقة متجهية. أحد الخيارات:

  • تخطي المخرجات

  • إنشاء طبقة مؤقتة (TEMPORARY_OUTPUT)

  • الحفظ في ملف…

  • الحفظ في Geopackage…

  • الحفظ في جدول قاعدة بيانات…

يمكن أيضًا تغيير ترميز الملف هنا.

المخرجات

Label

اﻷسم

النوع

وصف

المستوفاة

OUTPUT

[raster]

استيفاء TIN الناتج على شكل طبقة شبكية

التثليث

TRIANGULATION

[vector: line]

شبكة TIN الناتجة على شكل طبقة متجهية.

شيفرة Python

معرّف الخوارزمية: qgis:tininterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

يظهر معرّف الخوارزمية عند تمرير المؤشر فوق الخوارزمية في صندوق أدوات المعالجة. يوفّر قاموس المعاملات أسماء المعاملات (NAME) وقيمها. انظر استخدام خوارزميات المعالجة من وحدة التحكم لمعرفة تفاصيل تشغيل خوارزميات المعالجة من وحدة تحكم Python.