7.3. الدرس: تحليل التضاريس¶
تتيح لك أنواع معينة من البيانات الشبكية فهمًا أعمق للتضاريس التي تمثلها، وتُعد نماذج الارتفاع الرقمية (DEMs) مفيدة بشكل خاص في هذا الصدد. ستستخدم في هذا الدرس أدوات تحليل التضاريس لمعرفة المزيد عن منطقة الدراسة الخاصة بمشروع التطوير السكني المقترح الذي تناولناه سابقًا.
هدف هذا الدرس: استخدام أدوات تحليل التضاريس لاستخلاص مزيد من المعلومات عن التضاريس.
7.3.1. ★☆☆ تابع معنا: حساب تظليل التضاريس¶
سنستخدم طبقة نموذج الارتفاع الرقمي نفسها التي استخدمناها في الدرس السابق. إذا كنت تبدأ هذا الفصل من البداية، فاستخدم لوحة Browser وحمّل الملف raster/SRTM/srtm_41_19.tif.
تعرض لك طبقة نموذج الارتفاع الرقمي ارتفاع التضاريس، لكنها قد تبدو أحيانًا مجردة بعض الشيء. فهي تحتوي على كل المعلومات ثلاثية الأبعاد التي تحتاجها عن التضاريس، لكنها لا تبدو كجسم ثلاثي الأبعاد. وللحصول على انطباع أفضل عن التضاريس، يمكن حساب تظليل التضاريس، وهو طبقة شبكية تمثل التضاريس باستخدام الضوء والظل لإنشاء صورة تبدو ثلاثية الأبعاد.
سنستخدم الخوارزميات الموجودة في القائمة .
انقر على القائمة
تتيح لك الخوارزمية تحديد موضع مصدر الضوء: يأخذ Azimuth (السمت) قيمًا من 0 (الشمال) مرورًا بـ 90 (الشرق) و180 (الجنوب) و270 (الغرب)، بينما يحدد Vertical angle (الزاوية الرأسية) مدى ارتفاع مصدر الضوء (من 0 إلى 90 درجة).
سنستخدم القيم التالية:
Z factor بقيمة
1.0Azimuth (horizontal angle) بقيمة
300.0°Vertical angle بقيمة
40.0°
احفظ الملف في مجلد جديد
exercise_data/raster_analysis/باسمhillshade.tifأخيرًا انقر على Run
ستحصل الآن على طبقة جديدة باسم hillshade تبدو هكذا:
يبدو ذلك جميلًا وثلاثي الأبعاد، لكن هل يمكننا تحسينه؟ يبدو تظليل التضاريس بمفرده كقالب من الجبس. ألا يمكننا استخدامه بطريقة ما مع طبقاتنا الشبكية الأخرى الأكثر ألوانًا؟ بالطبع يمكننا ذلك، باستخدام تظليل التضاريس كطبقة تراكب.
7.3.2. ★☆☆ تابع معنا: استخدام تظليل التضاريس كطبقة تراكب¶
يمكن أن يقدم تظليل التضاريس معلومات مفيدة جدًا عن ضوء الشمس في وقت معين من اليوم. لكن يمكن استخدامه أيضًا لأغراض جمالية، لجعل الخريطة تبدو أفضل. والمفتاح في ذلك هو جعل طبقة تظليل التضاريس شفافة في معظمها.
غيّر ترميز الطبقة الأصلية
srtm_41_19لاستخدام نظام الألوان Pseudocolor كما في التمرين السابقأخفِ جميع الطبقات باستثناء الطبقتين
srtm_41_19وhillshadeانقر على الطبقة
srtm_41_19واسحبها لتصبح أسفل الطبقةhillshadeفي لوحة Layersاجعل الطبقة
hillshadeشفافة بالنقر على التبويب Transparency في خصائص الطبقةاضبط Global opacity على
50%.ستحصل على نتيجة كهذه:
أوقف عرض الطبقة
hillshadeثم أعد تشغيله في لوحة Layers لترى الفرق الذي تحدثه.
باستخدام تظليل التضاريس بهذه الطريقة، يمكن إبراز طبوغرافية المشهد. وإذا بدا لك أن التأثير ليس قويًا بما يكفي، يمكنك تغيير شفافية الطبقة hillshade؛ لكن بالطبع، كلما ازداد سطوع تظليل التضاريس، خفتت الألوان التي خلفه. ستحتاج إلى إيجاد توازن يناسبك.
تذكّر أن تحفظ المشروع عند الانتهاء.
7.3.3. تابع معنا: إيجاد أفضل المناطق¶
تذكّر مشكلة الوكيل العقاري التي تناولناها آخر مرة في درس تحليل البيانات المتجهية. لنفترض أن المشترين يرغبون الآن في شراء مبنى وبناء كوخ أصغر على العقار. نعلم أنه في نصف الكرة الجنوبي، يجب أن تحتوي قطعة الأرض المثالية للتطوير على مناطق:
مواجهة للشمال
ذات انحدار أقل من 5 درجات
لكن إذا كان الانحدار أقل من درجتين، فلا يهم اتجاه الانحدار.
لنبحث عن أفضل المناطق لهم.
7.3.4. ★★☆ تابع معنا: حساب الانحدار¶
يُعلمك الانحدار بمدى شدة ميل التضاريس. فإذا كنت تريد مثلًا بناء منازل على الأرض هناك، فأنت تحتاج إلى أرض مستوية نسبيًا.
لحساب الانحدار، تحتاج إلى استخدام الخوارزمية من .
افتح الخوارزمية
اختر
srtm_41_19في Elevation layerأبقِ Z factor على
1.0احفظ المخرجات كملف باسم
slope.tifفي المجلد نفسه الذي يحتوي علىhillshade.tifانقر على Run
سترى الآن انحدار التضاريس، حيث يحمل كل بكسل قيمة الانحدار المقابلة له. تُظهر البكسلات السوداء التضاريس المستوية، والبكسلات البيضاء التضاريس شديدة الانحدار:
7.3.5. ★★☆ جرّب بنفسك: حساب اتجاه الانحدار¶
اتجاه الانحدار هو اتجاه البوصلة الذي يواجهه منحدر التضاريس. تعني القيمة 0 أن المنحدر يواجه الشمال، و90 أنه يواجه الشرق، و180 أنه يواجه الجنوب، و270 أنه يواجه الغرب.
بما أن هذه الدراسة تجري في نصف الكرة الجنوبي، فمن الأفضل أن تُبنى العقارات على منحدر مواجه للشمال لكي تبقى معرضة لضوء الشمس.
استخدم الخوارزمية Aspect من للحصول على الطبقة aspect.tif محفوظة إلى جانب slope.tif.
الإجابة
اضبط نافذة الحوار Aspect على النحو التالي:
النتيجة:
7.3.6. ★★☆ تابع معنا: إيجاد المنحدرات المواجهة للشمال¶
لديك الآن طبقات شبكية تعرض الانحدار واتجاه الانحدار، لكن لا سبيل لديك لمعرفة الأماكن التي تتحقق فيها الشروط المثالية معًا. كيف يمكن إجراء هذا التحليل؟
تكمن الإجابة في Raster calculator (حاسبة البيانات الشبكية).
يتوفر في QGIS عدة حاسبات للبيانات الشبكية:
في المعالجة:
تؤدي كل أداة إلى النتائج نفسها، لكن قد تختلف الصياغة قليلًا وقد يتفاوت توفر العوامل.
سنستخدم في صندوق أدوات المعالجة
افتح الأداة بالنقر المزدوج عليها.
يسرد الجزء العلوي الأيسر من نافذة الحوار جميع الطبقات الشبكية المحمّلة بالصيغة
name@N، حيثnameهو اسم الطبقة وNهو النطاق.سترى في الجزء العلوي الأيمن الكثير من العوامل المختلفة. توقف لحظة لتفكر في أن الطبقة الشبكية هي صورة، وينبغي أن تنظر إليها كمصفوفة ثنائية الأبعاد مملوءة بالأرقام.
يقع الشمال عند 0 (صفر) درجة، لذا لكي تكون التضاريس مواجهة للشمال، يجب أن يكون اتجاه انحدارها أكبر من 270 درجة أو أقل من 90 درجة. وبالتالي تكون الصيغة:
aspect@1 <= 90 OR aspect@1 >= 270
عليك الآن ضبط تفاصيل الطبقة الشبكية، مثل حجم الخلية والامتداد ونظام الإحداثيات المرجعي (CRS). يمكن فعل ذلك يدويًا أو ضبطه تلقائيًا باختيار
Reference layer. اختر الخيار الأخير بالنقر على الزر ... بجوار المعامل Reference layer(s).اختر في نافذة الحوار الطبقة
aspect، لأننا نريد الحصول على طبقة بالدقة المكانية نفسها.احفظ الطبقة باسم
aspect_north.tif.يجب أن تبدو نافذة الحوار هكذا:
أخيرًا انقر على Run.
ستكون النتيجة هكذا:
قيم المخرجات هي 0 أو 1. ماذا يعني ذلك؟ لكل بكسل في الطبقة الشبكية، تُرجع الصيغة التي كتبناها ما إذا كان يطابق الشروط أم لا. لذلك ستكون النتيجة النهائية False (0) و True (1).
7.3.7. ★★☆ جرّب بنفسك: معايير إضافية¶
بعد أن أنهيت اتجاه الانحدار، أنشئ طبقتين جديدتين من نموذج الارتفاع الرقمي.
تحدد الأولى المناطق التي يكون فيها الانحدار أقل من أو يساوي
2درجةوالثانية مشابهة، لكن يجب أن يكون الانحدار أقل من أو يساوي
5درجات.احفظهما في
exercise_data/raster_analysisباسمslope_lte2.tifوslope_lte5.tif.
الإجابة
اضبط نافذة الحوار Raster calculator على:
التعبير التالي:
slope@1 <= 2الطبقة
slopeفي Reference layer(s)
لنسخة الدرجات الخمس، استبدل
2في التعبير واسم الملف بـ5.
النتائج:
درجتان:
5 درجات:
7.3.8. ★★☆ تابع معنا: دمج نتائج تحليل البيانات الشبكية¶
أنشأت الآن ثلاث طبقات شبكية من نموذج الارتفاع الرقمي:
aspect_north: التضاريس المواجهة للشمالslope_lte2: انحدار يساوي درجتين أو أقلslope_lte5: انحدار يساوي 5 درجات أو أقل
حيثما يتحقق الشرط، تكون قيمة البكسل 1، وفي غير ذلك تكون 0. لذلك إذا ضربت هذه الطبقات الشبكية، فإن البكسلات التي قيمتها 1 فيها جميعًا ستحصل على القيمة 1 (وتحصل البقية على 0).
الشروط الواجب تحققها هي:
عند انحدار 5 درجات أو أقل، يجب أن تواجه التضاريس الشمال
عند انحدار درجتين أو أقل، لا يهم الاتجاه الذي تواجهه التضاريس.
لذلك تحتاج إلى إيجاد المناطق التي يكون فيها الانحدار خمس درجات أو أقل AND تكون التضاريس مواجهة للشمال، OR يكون الانحدار درجتين أو أقل. مثل هذه التضاريس ستكون مناسبة للتطوير.
لحساب المناطق التي تستوفي هذه المعايير:
افتح Raster calculator مرة أخرى
استخدم هذا التعبير في Expression:
( aspect_north@1 = 1 AND slope_lte5@1 = 1 ) OR slope_lte2@1 = 1
اضبط المعامل Reference layer(s) على
aspect_north(لا يهم إن اخترت طبقة أخرى، فجميعها حُسبت منsrtm_41_19)احفظ المخرجات في
exercise_data/raster_analysis/باسمall_conditions.tifانقر على Run
النتيجة:
تلميح
كان من الممكن تبسيط الخطوات السابقة باستخدام الأمر التالي:
((aspect@1 <= 90 OR aspect@1 >= 270) AND slope@1 <= 5) OR slope@1 <= 2
7.3.9. ★★☆ تابع معنا: تبسيط الطبقة الشبكية¶
كما ترى في الصورة أعلاه، ترك لنا التحليل المدمج العديد من المناطق الصغيرة جدًا التي تتحقق فيها الشروط (باللون الأبيض). لكنها ليست مفيدة فعلًا لتحليلنا، لأنها أصغر من أن يُبنى عليها أي شيء. لنتخلص من كل هذه المناطق الصغيرة غير القابلة للاستخدام.
افتح الأداة Sieve (من في Processing Toolbox)
اضبط Input file على
all_conditions، واضبط Sieved علىall_conditions_sieve.tif(داخلexercise_data/raster_analysis/).اضبط Threshold على 8 (ثمانية بكسلات متجاورة على الأقل)، وفعّل Use 8-connectedness.
بعد انتهاء المعالجة، ستُحمَّل الطبقة الجديدة.
ما الذي يحدث؟ تكمن الإجابة في البيانات الوصفية (Metadata) لملف الطبقة الشبكية الجديد.
اعرض البيانات الوصفية (Metadata) ضمن التبويب Information في نافذة الحوار Layer Properties. انظر إلى القيمة
STATISTICS_MINIMUM:
يُفترض أن تحتوي هذه الطبقة الشبكية، مثل الطبقة المشتقة منها، على القيمتين
1و0فقط، لكنها تحتوي أيضًا على عدد سالب كبير جدًا. يُظهر فحص البيانات أن هذا العدد يعمل كقيمة فارغة (null). وبما أننا نبحث فقط عن المناطق التي لم تُستبعد بالتصفية، فلنضبط هذه القيم الفارغة على صفر.افتح Raster Calculator، وأنشئ هذا التعبير:
(all_conditions_sieve@1 <= 0) = 0
سيحافظ ذلك على جميع القيم غير السالبة، ويضبط الأعداد السالبة على صفر، تاركًا جميع المناطق ذات القيمة
1كما هي.احفظ المخرجات في
exercise_data/raster_analysis/باسمall_conditions_simple.tif.
تبدو المخرجات هكذا:
هذا ما كان متوقعًا: نسخة مبسطة من النتائج السابقة. تذكّر أنه إذا لم تكن النتائج التي تحصل عليها من أداة ما كما توقعت، فقد يكون عرض البيانات الوصفية (والبيانات الوصفية للطبقات المتجهية إن وُجدت) أمرًا أساسيًا لحل المشكلة.
7.3.10. ★★☆ تابع معنا: إعادة تصنيف الطبقة الشبكية¶
استخدمنا حاسبة البيانات الشبكية لإجراء عمليات حسابية على الطبقات الشبكية. وهناك أداة قوية أخرى يمكننا استخدامها لاستخلاص المعلومات من الطبقات الموجودة.
لنعد إلى الطبقة aspect. نعلم الآن أنها تحتوي على قيم عددية تتراوح بين 0 و360. ما نريد فعله هو إعادة تصنيف هذه الطبقة إلى قيم منفصلة أخرى (من 1 إلى 4)، تبعًا لاتجاه الانحدار:
1 = الشمال (من 0 إلى 45 ومن 315 إلى 360)؛
2 = الشرق (من 45 إلى 135)
3 = الجنوب (من 135 إلى 225)
4 = الغرب (من 225 إلى 315)
يمكن إنجاز هذه العملية باستخدام حاسبة البيانات الشبكية، لكن الصيغة ستصبح طويلة جدًا جدًا.
الأداة البديلة هي Reclassify by table الموجودة في في Processing Toolbox.
افتح الأداة
اختر
aspectفي Raster layerانقر على ... الخاص بـ Reclassification table. ستظهر نافذة حوار على شكل جدول، يمكنك فيها اختيار القيمة الدنيا والقيمة القصوى والقيمة الجديدة لكل فئة.
انقر على الزر Add row وأضف 5 صفوف. املأ كل صف كما في الصورة التالية وانقر على OK:
تُحدَّد الطريقة التي تستخدمها الخوارزمية لمعالجة القيم الحدية لكل فئة بواسطة Range boundaries.
احفظ الطبقة باسم
reclassified.tifفي المجلدexercise_data/raster_analysis/
انقر على Run
إذا قارنت الطبقة الأصلية aspect بالطبقة reclassified، فلن تجد فروقًا كبيرة. لكن بالنظر إلى مفتاح الخريطة، يمكنك أن ترى أن القيم تتراوح من 1 إلى 4.
لنمنح هذه الطبقة نمطًا أفضل.
افتح لوحة Layer Styling
اختر Paletted/Unique values بدلًا من Singleband gray
انقر على الزر Classify لجلب القيم تلقائيًا وإسناد ألوان عشوائية إليها:
يجب أن تبدو المخرجات هكذا (قد تكون الألوان لديك مختلفة نظرًا لأنها مولّدة عشوائيًا):
بعد إعادة التصنيف هذه وتطبيق النمط ذي لوحة الألوان على الطبقة، يمكنك التمييز فورًا بين مناطق اتجاه الانحدار.
7.3.11. ★☆☆ تابع معنا: الاستعلام عن الطبقة الشبكية¶
على عكس الطبقات المتجهية، لا تحتوي الطبقات الشبكية على جدول بيانات وصفية. فكل بكسل يحتوي على قيمة عددية واحدة أو أكثر (طبقات شبكية أحادية النطاق أو متعددة النطاقات).
تتكون جميع الطبقات الشبكية التي استخدمناها في هذا التمرين من نطاق واحد فقط. وتبعًا للطبقة، قد تمثل قيم البكسلات قيم الارتفاع أو اتجاه الانحدار أو الانحدار.
كيف يمكننا الاستعلام عن الطبقة الشبكية للحصول على قيمة بكسل؟ يمكننا استخدام الزر
Identify Features!
اختر الأداة من شريط أدوات Attributes.
انقر على موقع عشوائي في الطبقة
srtm_41_19. ستظهر لوحة Identify Results مع قيمة النطاق في الموقع الذي نقرت عليه:
يمكنك تغيير مخرجات لوحة Identify Results من وضع
treeالحالي إلى وضعtableباختيار Table في القائمة View أسفل اللوحة:
قد يصبح النقر على كل بكسل للحصول على قيمة الطبقة الشبكية مزعجًا بعد فترة. يمكننا استخدام الإضافة Value Tool لحل هذه المشكلة.
انتقل إلى
في التبويب All، اكتب
value tفي مربع البحثاختر الإضافة Value Tool، واضغط على Install Plugin ثم أغلق نافذة الحوار عبر Close.
ستظهر اللوحة الجديدة Value Tool.
نصيحة
إذا أغلقت اللوحة، يمكنك إعادة فتحها بتفعيلها من أو بالنقر على أيقونتها في شريط الأدوات.
لاستخدام الإضافة، فعّل مربع الاختيار Enable وتأكد من أن الطبقة
srtm_41_19نشطة (محددة) في لوحة Layers.حرّك المؤشر فوق الخريطة لرؤية قيم البكسلات.
لكن هناك المزيد. تتيح لك الإضافة Value Tool الاستعلام عن جميع الطبقات الشبكية النشطة في لوحة Layers. اجعل الطبقتين
aspectوslopeنشطتين مرة أخرى ومرّر الفأرة فوق الخريطة:
7.3.12. الخلاصة¶
رأيت كيف تستخلص جميع أنواع منتجات التحليل من نموذج الارتفاع الرقمي، ومنها حساب تظليل التضاريس والانحدار واتجاه الانحدار. ورأيت أيضًا كيف تستخدم حاسبة البيانات الشبكية لمزيد من التحليل والدمج لهذه النتائج. وأخيرًا تعلمت كيف تعيد تصنيف طبقة وكيف تستعلم عن النتائج.
7.3.13. ما التالي؟¶
لديك الآن تحليلان: التحليل المتجهي الذي يُظهر لك قطع الأراضي التي يُحتمل أن تكون مناسبة، والتحليل الشبكي الذي يُظهر لك التضاريس التي يُحتمل أن تكون مناسبة. كيف يمكن دمجهما للوصول إلى نتيجة نهائية لهذه المشكلة؟ هذا هو موضوع الدرس التالي، الذي يبدأ في الوحدة التالية.