8.4. درس: تمرين إضافي

في هذا الدرس، سنرشدك خلال تحليل GIS كامل في QGIS.

ملاحظة

أعدّ هذا الدرس Linfiniti Consulting (جنوب أفريقيا) و Siddique Motala (Cape Peninsula University of Technology)

8.4.1. بيان المشكلة

كُلّفت بإيجاد مناطق في شبه جزيرة الكاب (Cape Peninsula) وما حولها تصلح موائلَ لنوع نباتي نادر من نباتات الفينبوس (fynbos). يغطي امتداد منطقة دراستك مدينة كيب تاون (Cape Town) وشبه جزيرة الكاب بين Melkbosstrand في الشمال و Strand في الجنوب. وقد زوّدك علماء النبات بالتفضيلات التالية التي يُبديها هذا النوع:

  • ينمو على المنحدرات المواجهة للشرق

  • ينمو على منحدرات تتراوح درجة انحدارها بين 15% و 60%

  • ينمو في مناطق يزيد مجموع هطولها المطري السنوي على 1000 mm

  • لا يوجد إلا على بعد 250 m على الأقل من أي مستوطنة بشرية

  • يجب ألا تقل مساحة منطقة الغطاء النباتي التي يوجد فيها عن 6000 ㎡

بصفتك طالبًا في الجامعة، وافقت على البحث عن النبات في أربع مناطق مناسبة مختلفة من الأرض. وتريد أن تكون هذه المناطق الأربع هي الأقرب إلى University of Cape Town حيث تسكن. استخدم مهاراتك في GIS لتحديد المكان الذي ينبغي أن تبحث فيه.

8.4.2. مخطط الحل

تجد بيانات هذا التمرين في المجلد exercise_data/more_analysis.

ستبحث عن المناطق المناسبة الأربع الأقرب إلى University of Cape Town.

سيتضمن الحل ما يلي:

  1. تحليل طبقة شبكية لنموذج الارتفاع الرقمي (DEM) لإيجاد المنحدرات المواجهة للشرق والمنحدرات ذات درجات الانحدار الصحيحة

  2. تحليل طبقة شبكية للهطول المطري لإيجاد المناطق ذات الكمية الصحيحة من الأمطار

  3. تحليل طبقة متجهية لتقسيم المناطق (zoning) لإيجاد المناطق البعيدة عن المستوطنات البشرية وذات المساحة الصحيحة

8.4.3. تابع معنا: إعداد الخريطة

  1. انقر على الزر projectionEnabled Current CRS في الزاوية السفلية اليمنى من الشاشة. في التبويب CRS من نافذة الحوار التي تظهر، استخدم أداة "Filter" للبحث عن "33S". حدّد الإدخال WGS 84 / UTM zone 33S (برمز EPSG 32733).

  2. انقر على OK

    ../../../_images/crs.png

    شكل 8.32 إعداد نظام الإحداثيات المرجعي (CRS)

  3. احفظ ملف المشروع بالنقر على زر شريط الأدوات fileSave Save Project، أو استخدم عنصر القائمة Project ► Save As....

    احفظه في مجلد جديد باسم Rasterprac، عليك إنشاؤه في مكان ما على حاسوبك. وستحفظ فيه أيضًا أي طبقات تنشئها. احفظ المشروع باسم your_name_fynbos.qgs.

8.4.4. تحميل البيانات في الخريطة

لمعالجة البيانات، ستحتاج إلى تحميل الطبقات اللازمة (أسماء الشوارع، المناطق، الهطول المطري، نموذج الارتفاع الرقمي، المقاطعات) في لوحة الخريطة.

بالنسبة للبيانات المتجهية...

  1. انقر على الزر dataSourceManager Open Data Source Manager في شريط أدوات مدير مصادر البيانات، وفعّل التبويب addOgrLayer Vector في نافذة الحوار التي تظهر، أو استخدم عنصر القائمة Layer ► Add Layer ► addOgrLayer Add Vector Layer...

  2. تأكد من تحديد radioButtonOn File

  3. انقر على الزر ... لاستعراض مجموعة (مجموعات) البيانات المتجهية

  4. في نافذة الحوار التي تظهر، افتح المجلد exercise_data/more_analysis/Streets

  5. حدّد الملف Street_Names_UTM33S.shp

  6. انقر على Open.

    تُغلق نافذة الحوار وتعود نافذة الحوار الأصلية، مع مسار الملف محددًا في الحقل النصي المجاور لـ Vector dataset(s). وهذا يتيح لك التأكد من تحديد الملف الصحيح. ويمكنك أيضًا إدخال مسار الملف في هذا الحقل يدويًا إن أردت.

  7. انقر على Add. ستُحمَّل الطبقة المتجهية في خريطتك. ويُسند لونها تلقائيًا، وستغيّره لاحقًا.

  8. أعد تسمية الطبقة إلى Streets

    1. انقر عليها بزر الفأرة الأيمن في اللوحة Layers (وهي افتراضيًا اللوحة الممتدة على الجانب الأيسر من الشاشة)

    2. انقر على Rename في القائمة التي تظهر وأعد تسميتها، مع الضغط على المفتاح Enter عند الانتهاء

  9. كرّر عملية إضافة البيانات المتجهية، لكن حدّد هذه المرة الملف Generalised_Zoning_Dissolve_UTM33S.shp في المجلد Zoning.

  10. أعد تسميتها إلى Zoning.

  11. حمّل أيضًا الطبقة المتجهية admin_boundaries/Western_Cape_UTM33S.shp في خريطتك.

  12. أعد تسميتها إلى Districts.

بالنسبة للبيانات الشبكية...

  1. انقر على الزر dataSourceManager Open Data Source Manager وفعّل التبويب addRasterLayer Raster في نافذة الحوار التي تظهر، أو استخدم عنصر القائمة Layer ► Add Layer ► addRasterLayer Add Raster Layer...

  2. تأكد من تحديد radioButtonOn File

  3. انتقل إلى الملف المناسب، وحدّده، وانقر على Open

  4. افعل ذلك لكل من الملفين الشبكيين التاليين، DEM/SRTM.tif و rainfall/reprojected/rainfall.tif

  5. أعد تسمية الطبقة الشبكية SRTM إلى DEM وطبقة الهطول المطري إلى Rainfall (بحرف أول كبير)

8.4.5. تغيير ترتيب الطبقات

انقر واسحب الطبقات للأعلى والأسفل في اللوحة Layers لتغيير ترتيب ظهورها على الخريطة بحيث ترى أكبر عدد ممكن من الطبقات.

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

8.4.6. إيجاد المقاطعات الصحيحة

بسبب منطقة الدراسة المذكورة سابقًا، علينا قصر المقاطعات على ما يلي:

  • Bellville

  • Cape

  • Goodwood

  • Kuils River

  • Mitchells Plain

  • Simon Town

  • Wynberg

  1. انقر بزر الفأرة الأيمن على الطبقة Districts في اللوحة Layers.

  2. في القائمة التي تظهر، حدّد عنصر القائمة Filter.... تظهر نافذة الحوار Query Builder.

  3. ستبني الآن استعلامًا لتحديد المقاطعات المرشّحة فقط:

    1. في القائمة Fields، انقر نقرًا مزدوجًا على الحقل NAME_2 ليظهر في الحقل النصي SQL where clause أدناه

    2. انقر على الزر IN لإلحاقه باستعلام SQL

    3. افتح الأقواس

    4. انقر على الزر All أسفل القائمة Values (الفارغة حاليًا).

      بعد تأخير قصير، ستُملأ القائمة Values بقيم الحقل المحدد (NAME_2).

    5. انقر نقرًا مزدوجًا على القيمة Bellville في القائمة Values لإلحاقها باستعلام SQL.

    6. أضف فاصلة وانقر نقرًا مزدوجًا لإضافة المقاطعة Cape

    7. كرّر الخطوة السابقة لبقية المقاطعات

    8. أغلق الأقواس

    ../../../_images/query_builder.png

    شكل 8.33 منشئ الاستعلامات

    يجب أن يكون الاستعلام النهائي كما يلي (ترتيب المقاطعات داخل الأقواس لا يهم):

    "NAME_2" in ('Bellville', 'Cape', 'Goodwood', 'Kuils River',
                 'Mitchells Plain', 'Simon Town', 'Wynberg')
    

    ملاحظة

    يمكنك أيضًا استخدام المعامل OR؛ وسيبدو الاستعلام هكذا:

    "NAME_2" = 'Bellville' OR "NAME_2" = 'Cape' OR
    "NAME_2" = 'Goodwood' OR "NAME_2" = 'Kuils River' OR
    "NAME_2" = 'Mitchells Plain' OR "NAME_2" = 'Simon Town' OR
    "NAME_2" = 'Wynberg'
    
    1. انقر على OK مرتين.

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

8.4.7. قص الطبقات الشبكية

الآن بعد أن أصبحت لديك منطقة اهتمام، يمكنك قص الطبقات الشبكية على هذه المنطقة.

  1. افتح نافذة حوار القص بتحديد عنصر القائمة Raster ► Extraction ► Clip Raster by Mask Layer...

  2. في القائمة المنسدلة Input layer، حدّد الطبقة DEM

  3. في القائمة المنسدلة Mask layer، حدّد الطبقة Districts

  4. مرّر للأسفل وحدّد موقعًا للمخرجات في الحقل النصي Clipped (mask) بالنقر على الزر ... واختيار Save to File...

    1. انتقل إلى المجلد Rasterprac

    2. أدخل اسم ملف - DEM_clipped.tif

    3. احفظ

  5. تأكد من تحديد الخيار checkbox Open output file after running algorithm

  6. انقر على Run

    بعد اكتمال عملية القص، اترك نافذة الحوار Clip Raster by Mask Layer مفتوحة لتتمكن من إعادة استخدام منطقة القص

  7. حدّد الطبقة الشبكية Rainfall في القائمة المنسدلة Input layer واحفظ المخرجات باسم Rainfall_clipped.tif

  8. لا تغيّر أي خيارات أخرى. اترك كل شيء كما هو وانقر على Run.

  9. بعد اكتمال عملية القص الثانية، يمكنك إغلاق نافذة الحوار Clip Raster by Mask Layer

  10. احفظ الخريطة

    ../../../_images/clipped_r_filtered_v_reordered_l.png

    شكل 8.34 عرض الخريطة مع الطبقة المتجهية المصفّاة والطبقة الشبكية المقصوصة والطبقات المُعاد ترتيبها

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

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

أولًا نغيّر الدقة المكانية لبيانات الهطول المطري إلى 30 مترًا (حجم البكسل):

  1. في اللوحة Layers، تأكد من أن Rainfall_clipped هي الطبقة النشطة (أي أنها مظلّلة بعد النقر عليها)

  2. انقر على عنصر القائمة Raster ► Projections ► Warp (Reproject)... لفتح نافذة الحوار Warp (Reproject)

  3. ضمن Resampling method to use، حدّد Bilinear (2x2 kernel) من القائمة المنسدلة

  4. اضبط Output file resolution in target georeferenced units على 30

  5. مرّر للأسفل إلى Reprojected واحفظ المخرجات في المجلد rainfall/reprojected باسم Rainfall30.tif.

  6. تأكد من تحديد الخيار checkbox Open output file after running algorithm

    ../../../_images/wrap_rainfall.png

    شكل 8.35 Warp (Reproject) للطبقة Rainfall_clipped

ثم نحاذي نموذج الارتفاع الرقمي (DEM):

  1. في اللوحة Layers، تأكد من أن DEM_clipped هي الطبقة النشطة (أي أنها مظلّلة بعد النقر عليها)

  2. انقر على عنصر القائمة Raster ► Projections ► Warp (Reproject)... لفتح نافذة الحوار Warp (Reproject)

  3. ضمن Target CRS، حدّد Project CRS: EPSG:32733 - WGS 84 / UTM zone 33S من القائمة المنسدلة

  4. ضمن Resampling method to use، حدّد Bilinear (2x2 kernel) من القائمة المنسدلة

  5. اضبط Output file resolution in target georeferenced units على 30

  6. مرّر للأسفل إلى Georeferenced extents of output file to be created. استخدم الزر الموجود يمين مربع النص لتحديد Calculate from Layer ► Rainfall30.

  7. مرّر للأسفل إلى Reprojected واحفظ المخرجات في المجلد DEM/reprojected باسم DEM30.tif.

  8. تأكد من تحديد الخيار checkbox Open output file after running algorithm

لرؤية ما يحدث بوضوح، يجب تغيير ترميز الطبقات.

8.4.8. تغيير ترميز الطبقات المتجهية

  1. في اللوحة Layers، انقر بزر الفأرة الأيمن على الطبقة Streets

  2. حدّد Properties من القائمة التي تظهر

  3. انتقل إلى التبويب Symbology في نافذة الحوار التي تظهر

  4. انقر على الإدخال Line في عنصر الواجهة العلوي

  5. حدّد رمزًا من القائمة أدناه أو اضبط رمزًا جديدًا (اللون، الشفافية، ...)

  6. انقر على OK لإغلاق نافذة الحوار Layer Properties. سيغيّر هذا طريقة رسم الطبقة Streets.

  7. اتبع عملية مماثلة للطبقة Zoning واختر لها لونًا مناسبًا

8.4.9. تغيير ترميز الطبقات الشبكية

ترميز الطبقات الشبكية مختلف بعض الشيء.

  1. افتح نافذة الحوار Properties للطبقة الشبكية Rainfall30

  2. انتقل إلى التبويب Symbology. ستلاحظ أن نافذة الحوار هذه مختلفة جدًا عن النسخة المستخدمة للطبقات المتجهية.

  3. وسّع Min/Max Value Settings

  4. تأكد من تحديد الزر Mean +/- standard deviation

  5. تأكد من أن القيمة في المربع المرتبط به هي 2.00

  6. بالنسبة إلى Contrast enhancement، تأكد من أنها مضبوطة على Stretch to MinMax

  7. بالنسبة إلى Color gradient، غيّره إلى White to Black

  8. انقر على OK

    ../../../_images/raster_symbology.png

    شكل 8.36 ترميز الطبقة الشبكية

    يُفترض أن تتغير ألوان الطبقة الشبكية Rainfall30، إن كانت ظاهرة، مما يتيح لك رؤية قيم سطوع مختلفة لكل بكسل

  9. كرّر هذه العملية للطبقة DEM30، لكن اضبط عدد الانحرافات المعيارية المستخدمة في التمديد على 4.00

8.4.10. تنظيف الخريطة

  1. أزل الطبقتين الأصليتين Rainfall و DEM، وكذلك Rainfall_clipped و DEM_clipped من اللوحة Layers:

    • انقر بزر الفأرة الأيمن على هذه الطبقات وحدّد Remove.

      ملاحظة

      لن يؤدي هذا إلى حذف البيانات من جهاز التخزين، بل سيزيلها من خريطتك فقط.

  2. احفظ الخريطة

  3. يمكنك الآن إخفاء الطبقات المتجهية بإلغاء تحديد المربع المجاور لها في اللوحة Layers. سيجعل هذا رسم الخريطة أسرع ويوفر عليك بعض الوقت.

8.4.11. إنشاء تظليل التضاريس

لإنشاء تظليل التضاريس، ستحتاج إلى استخدام خوارزمية كُتبت لهذا الغرض.

  1. في اللوحة Layers، تأكد من أن DEM30 هي الطبقة النشطة (أي أنها مظلّلة بعد النقر عليها)

  2. انقر على عنصر القائمة Raster ► Analysis ► Hillshade... لفتح نافذة الحوار Hillshade

  3. مرّر للأسفل إلى Hillshade واحفظ المخرجات في المجلد Rasterprac باسم hillshade.tif

  4. تأكد من تحديد الخيار checkbox Open output file after running algorithm

  5. انقر على Run

  6. انتظر حتى تنتهي المعالجة.

    ../../../_images/hillshade1.png

    شكل 8.37 التحليل الشبكي: تظليل التضاريس

ظهرت الطبقة الجديدة hillshade في اللوحة Layers.

  1. انقر بزر الفأرة الأيمن على الطبقة hillshade في اللوحة Layers وافتح نافذة الحوار Properties

  2. انقر على التبويب Transparency واضبط شريط التمرير Global Opacity على 20%

  3. انقر على OK

  4. لاحظ التأثير عند تراكب تظليل التضاريس الشفاف فوق نموذج الارتفاع الرقمي المقصوص. قد تحتاج إلى تغيير ترتيب طبقاتك، أو إيقاف إظهار الطبقة Rainfall30 لرؤية التأثير.

8.4.12. الانحدار

  1. انقر على عنصر القائمة Raster ► Analysis ► Slope... لفتح نافذة حوار الخوارزمية Slope

  2. حدّد DEM30 بوصفها Input layer

  3. فعّل الخيار checkbox Slope expressed as percent instead of degrees. يمكن التعبير عن الانحدار بوحدات مختلفة (نسبة مئوية أو درجات). وتشير معاييرنا إلى أن النبات المعني ينمو على منحدرات تتراوح درجة انحدارها بين 15% و 60%. لذا علينا التأكد من أن بيانات الانحدار لدينا معبَّر عنها بنسبة مئوية.

  4. حدّد اسم ملف وموقعًا مناسبين لمخرجاتك.

  5. تأكد من تحديد الخيار checkbox Open output file after running algorithm

  6. انقر على Run

    ../../../_images/slope3.png

    شكل 8.38 التحليل الشبكي: الانحدار

حُسبت صورة الانحدار وأُضيفت إلى الخريطة. وكالعادة، تُرسم بتدرّج رمادي. غيّر الترميز إلى ترميز أكثر تلوينًا:

  1. افتح نافذة الحوار Properties للطبقة (كالعادة، عبر قائمة النقر بزر الفأرة الأيمن على الطبقة)

  2. انقر على التبويب Symbology

  3. حيث تجد Singleband gray (في القائمة المنسدلة Render type)، غيّره إلى Singleband pseudocolor

  4. اختر Mean +/- standard deviation x لـ Min / Max Value Settings بقيمة 2.0

  5. حدّد Color ramp مناسبًا

  6. انقر على Run

8.4.13. جرّب بنفسك: اتجاه الانحدار

استخدم الطريقة نفسها المتبعة في حساب الانحدار، باختيار Aspect... من القائمة Raster ► Analysis.

تذكّر حفظ المشروع دوريًا.

8.4.14. إعادة تصنيف الطبقات الشبكية

  1. اختر Raster ► Raster calculator...

  2. حدّد المجلد Rasterprac موقعًا لـ Output layer (انقر على الزر ...)، واحفظها باسم slope15_60.tif

  3. تأكد من تحديد المربع Open output file after running algorithm.

    في القائمة Raster bands على اليسار، سترى جميع الطبقات الشبكية الموجودة في اللوحة Layers. إذا كانت طبقة الانحدار تسمى slope، فستظهر في القائمة باسم slope@1، مما يشير إلى النطاق 1 من طبقة الانحدار الشبكية.

  4. يجب أن يكون الانحدار بين 15 و 60 درجة.

    باستخدام عناصر القائمة والأزرار في الواجهة، ابنِ التعبير التالي:

    (slope@1 > 15) AND (slope@1 < 60)
    
  5. اضبط الحقل Output layer على موقع واسم ملف مناسبين.

  6. انقر على Run.

    ../../../_images/raster_calculator_slope.png

    شكل 8.39 حاسبة الطبقات الشبكية: الانحدار

أوجد الآن اتجاه الانحدار الصحيح (المواجه للشرق: بين 45 و 135 درجة) بالطريقة نفسها.

  1. ابنِ التعبير التالي:

    (aspect@1 > 45) AND (aspect@1 < 135)
    

ستعرف أن العملية نجحت عندما تظهر جميع المنحدرات المواجهة للشرق باللون الأبيض في الطبقة الشبكية الناتجة (وكأنها مضاءة بأشعة شمس الصباح).

أوجد الهطول المطري الصحيح (أكبر من 1000 mm) بالطريقة نفسها. استخدم التعبير التالي:

Rainfall30@1 > 1000

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

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

  1. افتح حاسبة الطبقات الشبكية (Raster ► Raster Calculator...)

  2. ابنِ التعبير التالي (مع الأسماء المناسبة لطبقاتك):

    [aspect45_135] * [slope15_60] * [rainfall_1000]
    
  3. اضبط موقع المخرجات على المجلد Rasterprac

  4. سمِّ الطبقة الشبكية الناتجة aspect_slope_rainfall.tif

  5. تأكد من تحديد الخيار checkbox Open output file after running algorithm

  6. انقر على Run

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

احفظ المشروع.

../../../_images/aspect_slope_rainfall.png

شكل 8.40 عرض الخريطة حيث تُستوفى المعايير الثلاثة جميعها

المعيار التالي الذي يجب استيفاؤه هو أن تبعد المنطقة 250 m عن المناطق الحضرية. سنستوفي هذا الشرط بالتأكد من أن المناطق التي نحسبها تقع داخل المناطق الريفية، وتبعد 250 m أو أكثر عن حافة المنطقة. لذلك علينا إيجاد جميع المناطق الريفية أولًا.

8.4.16. إيجاد المناطق الريفية

  1. أخفِ جميع الطبقات في اللوحة Layers

  2. أظهر الطبقة المتجهية Zoning

  3. انقر عليها بزر الفأرة الأيمن وافتح نافذة الحوار Attribute Table. لاحظ الطرق الكثيرة المختلفة لتقسيم الأراضي هنا. نريد عزل المناطق الريفية. أغلق جدول البيانات الوصفية.

  4. انقر بزر الفأرة الأيمن على الطبقة Zoning وحدّد Filter... لفتح نافذة الحوار Query Builder

  5. ابنِ الاستعلام التالي:

    "Gen_Zoning" = 'Rural'
    

    راجع التعليمات السابقة إذا تعثّرت.

  6. انقر على OK لإغلاق نافذة الحوار Query Builder. يجب أن يعيد الاستعلام معلمًا واحدًا.

    ../../../_images/query_builder_zoning.png

    منشئ الاستعلامات: Zoning

يجب أن ترى المضلعات الريفية من الطبقة Zoning. ستحتاج إلى حفظها.

  1. من قائمة النقر بزر الفأرة الأيمن للطبقة Zoning، حدّد Export ► Save Features As....

  2. احفظ طبقتك في المجلد Rasterprac

  3. سمِّ ملف المخرجات rural.shp

  4. انقر على OK

  5. احفظ المشروع

عليك الآن استبعاد المناطق الواقعة ضمن 250m من حافة المناطق الريفية. افعل ذلك بإنشاء نطاق عازل سالب، كما هو موضح أدناه.

8.4.17. إنشاء نطاق عازل سالب

  1. انقر على عنصر القائمة Vector ► Geoprocessing Tools ► Buffer...

  2. في نافذة الحوار التي تظهر، حدّد الطبقة rural بوصفها طبقة الإدخال المتجهية (يجب ألا يكون Selected features only محددًا)

  3. اضبط Distance على -250. تعني القيمة السالبة أن النطاق العازل سيكون نطاقًا عازلًا داخليًا. تأكد من أن الوحدات في القائمة المنسدلة هي الأمتار.

  4. فعّل الخيار checkbox Dissolve result

  5. في Buffered، ضع ملف المخرجات في المجلد Rasterprac، وسمِّه rural_buffer.shp

  6. انقر على Save

  7. انقر على Run وانتظر حتى تكتمل المعالجة

  8. أغلق نافذة الحوار Buffer.

    تأكد من أن النطاق العازل عمل بشكل صحيح بملاحظة اختلاف الطبقة rural_buffer عن الطبقة rural. قد تحتاج إلى تغيير ترتيب الرسم لملاحظة الفرق.

  9. أزل الطبقة rural

  10. احفظ المشروع

    ../../../_images/rural_buffer.png

    شكل 8.41 عرض الخريطة مع النطاق العازل للمناطق الريفية

عليك الآن الجمع بين الطبقة المتجهية rural_buffer والطبقة الشبكية aspect_slope_rainfall. وللجمع بينهما، سنحتاج إلى تغيير صيغة بيانات إحدى الطبقتين. في هذه الحالة، ستحوّل الطبقة الشبكية إلى بيانات متجهية، لأن الطبقات المتجهية أكثر ملاءمة عندما نريد حساب المساحات.

8.4.18. تحويل الطبقة الشبكية إلى بيانات متجهية

  1. انقر على عنصر القائمة Raster ► Conversion ► Polygonize (Raster to Vector)...

  2. حدّد الطبقة الشبكية aspect_slope_rainfall بوصفها Input layer

  3. اضبط Name of the field to create على suitable (اسم الحقل الافتراضي هو DN - بيانات الرقم الرقمي Digital number)

  4. احفظ المخرجات. ضمن Vectorized، حدّد Save file as. اضبط الموقع على Rasterprac وسمِّ الملف aspect_slope_rainfall_all.shp.

  5. تأكد من تحديد الخيار checkbox Open output file after running algorithm

  6. انقر على Run

  7. أغلق نافذة الحوار عند اكتمال المعالجة

    ../../../_images/vectorized.png

    شكل 8.42 من شبكي إلى متجهي

حُوّلت جميع مناطق الطبقة الشبكية إلى بيانات متجهية، لذا عليك تحديد المناطق ذات القيمة 1 فقط في الحقل suitable. (الرقم الرقمي Digital Number.

  1. افتح نافذة الحوار Query Builder (النقر بزر الفأرة الأيمن - Filter...) للطبقة المتجهية الجديدة

  2. ابنِ هذا الاستعلام:

    "suitable" = 1
    
  3. انقر على OK

  4. بعد أن تتأكد من اكتمال الاستعلام (وأن المناطق التي تستوفي المعايير الثلاثة فقط، أي ذات القيمة 1، هي الظاهرة)، أنشئ ملفًا متجهيًا جديدًا من النتائج باستخدام Export ► Save Features As... من قائمة النقر بزر الفأرة الأيمن للطبقة

  5. احفظ الملف في المجلد Rasterprac

  6. سمِّ الملف aspect_slope_rainfall_1.shp

  7. أزل الطبقة aspect_slope_rainfall_all من خريطتك

  8. احفظ مشروعك

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

8.4.19. إصلاح الأشكال الهندسية

  1. في Processing Toolbox، ابحث عن Fix geometries، ثم Execute...

  2. بالنسبة إلى Input layer، حدّد aspect_slope_rainfall_1

  3. ضمن Fixed geometries، حدّد Save file as، واحفظ المخرجات في Rasterprac وسمِّ الملف fixed_aspect_slope_rainfall.shp.

  4. تأكد من تحديد الخيار checkbox Open output file after running algorithm

  5. انقر على Run

  6. أغلق نافذة الحوار عند اكتمال المعالجة

الآن بعد أن حوّلت الطبقة الشبكية إلى بيانات متجهية وأصلحت الأشكال الهندسية الناتجة، يمكنك الجمع بين معايير اتجاه الانحدار والانحدار والهطول المطري ومعيار البعد عن المستوطنات البشرية، وذلك بإيجاد تقاطع الطبقة fixed_aspect_slope_rainfall مع الطبقة rural_buffer.

8.4.20. تحديد تقاطع الطبقات المتجهية

  1. انقر على عنصر القائمة Vector ► Geoprocessing Tools ► Intersection...

  2. في نافذة الحوار التي تظهر، حدّد الطبقة rural_buffer بوصفها Input layer

  3. بالنسبة إلى Overlay layer، حدّد الطبقة fixed_aspect_slope_rainfall

  4. في Intersection، ضع ملف المخرجات في المجلد Rasterprac

  5. سمِّ ملف المخرجات rural_aspect_slope_rainfall.shp

  6. انقر على Save

  7. انقر على Run وانتظر حتى تكتمل المعالجة

  8. أغلق نافذة الحوار Intersection.

    تأكد من أن التقاطع عمل بشكل صحيح بملاحظة أن المناطق المتراكبة فقط هي التي بقيت.

  9. احفظ المشروع

المعيار التالي في القائمة هو أن تكون مساحة المنطقة أكبر من 6000 ㎡. ستحسب الآن مساحات المضلعات لتحديد المناطق ذات الحجم المناسب لهذا المشروع.

8.4.21. حساب المساحة لكل مضلع

  1. افتح قائمة النقر بزر الفأرة الأيمن للطبقة المتجهية الجديدة

  2. حدّد Open attribute table

  3. انقر على الزر toggleEditing Toggle editing في الزاوية العلوية اليسرى من الجدول، أو اضغط Ctrl+e

  4. انقر على الزر calculateField Open field calculator في شريط الأدوات أعلى الجدول، أو اضغط Ctrl+i

  5. في نافذة الحوار التي تظهر، تأكد من تحديد الخيار checkbox Create new field، واضبط Output field name على area. يجب أن يكون نوع حقل المخرجات عددًا عشريًا (real). اضبط Precision على 1 (منزلة عشرية واحدة).

  6. في منطقة Expression، اكتب:

    $area
    

    يعني هذا أن حاسبة الحقول ستحسب مساحة كل مضلع في الطبقة المتجهية، ثم تملأ عمودًا جديدًا من نوع عدد صحيح (باسم area) بالقيمة المحسوبة.

    ../../../_images/field_calculator_area.png

    شكل 8.43 حاسبة الحقول

  7. انقر على OK

  8. افعل الشيء نفسه لحقل جديد آخر باسم id. في Field calculator expression، اكتب:

    $id
    

    يضمن هذا أن لكل مضلع معرّفًا (ID) فريدًا لأغراض التعريف.

  9. انقر على toggleEditing Toggle editing مرة أخرى، واحفظ تعديلاتك إذا طُلب منك ذلك

    ../../../_images/attribute_table.png

    شكل 8.44 جدول البيانات الوصفية مع عمودي المساحة والمعرّف

8.4.22. تحديد مناطق ذات حجم معيّن

الآن بعد أن أصبحت المساحات معروفة:

  1. ابنِ استعلامًا (كالمعتاد) لتحديد المضلعات التي تزيد مساحتها على 6000 ㎡ فقط. الاستعلام هو:

    "area" > 6000
    
  2. احفظ التحديد في المجلد Rasterprac كطبقة متجهية جديدة باسم suitable_areas.shp.

أصبحت لديك الآن المناطق المناسبة التي تستوفي جميع معايير الموئل لنبات الفينبوس النادر، ومنها ستختار المناطق الأربع الأقرب إلى University of Cape Town.

8.4.23. رقمنة University of Cape Town

  1. أنشئ طبقة متجهية جديدة في المجلد Rasterprac كما فعلت سابقًا، لكن استخدم هذه المرة Point بوصفه Geometry type وسمِّها university.shp

  2. تأكد من أنها في نظام الإحداثيات المرجعي الصحيح (Project CRS:EPSG:32733 - WGS 84 / UTM zone 33S)

  3. أكمل إنشاء الطبقة الجديدة (انقر على OK)

  4. أخفِ جميع الطبقات باستثناء الطبقة الجديدة university والطبقة Streets.

  5. أضف خريطة أساس (OSM):

    1. انتقل إلى اللوحة Browser ثم إلى XYZ Tiles ► OpenStreetMap

    2. اسحب العنصر OpenStreetMap وأفلته في أسفل لوحة Layers

    باستخدام متصفح الإنترنت، ابحث عن موقع جامعة كيب تاون (University of Cape Town). نظرًا للتضاريس الفريدة لمدينة كيب تاون، تقع الجامعة في موقع يسهل التعرّف عليه. قبل أن تعود إلى QGIS، دوّن مكان الجامعة وما يجاورها.

  6. تأكد من أن الطبقة Streets مفعّلة، وأن الطبقة university مظلّلة في لوحة Layers

  7. انتقل إلى عنصر القائمة View ► Toolbars وتأكد من تحديد Digitizing. ينبغي أن ترى بعدها أيقونة في شريط الأدوات عليها قلم رصاص (toggleEditing Toggle editing). هذا هو زر تبديل التحرير.

  8. انقر على زر Toggle editing للدخول إلى وضع التحرير. يتيح لك هذا تحرير طبقة متجهية

  9. انقر على الزر capturePoint Add Point Feature الذي يُفترض أن يكون قريبًا من الزر toggleEditing Toggle editing

  10. مع تفعيل أداة Add feature، انقر بالزر الأيسر على أفضل تقدير لديك لموقع جامعة كيب تاون

  11. أدخل عددًا صحيحًا عشوائيًا عندما يُطلب منك id

  12. انقر على OK

  13. انقر على الزر saveEdits Save Layer Edits

  14. انقر على زر Toggle editing لإنهاء جلسة التحرير

  15. احفظ المشروع

8.4.24. اعثر على المواقع الأقرب إلى جامعة كيب تاون

  1. انتقل إلى صندوق أدوات المعالجة، وحدّد موقع خوارزمية Join Attributes by Nearest (Vector general ► Join Attributes by Nearest) ثم شغّلها

  2. ينبغي أن تكون Input layer هي university، و Input layer 2 هي suitable_areas

  3. حدّد موقعًا واسمًا مناسبين للمخرجات (Joined layer)

  4. اضبط Maximum nearest neighbors على 4

  5. تأكد من تحديد الخيار checkbox Open output file after running algorithm

  6. اترك بقية المعاملات بقيمها الافتراضية

  7. انقر على Run

ستحتوي الطبقة النقطية الناتجة على أربعة معالم - جميعها بموقع الجامعة وبياناتها الوصفية، وإضافةً إلى ذلك البيانات الوصفية للمناطق الملائمة القريبة (بما فيها id)، والمسافة إلى ذلك الموقع.

  1. افتح جدول البيانات الوصفية لنتيجة الربط

  2. دوّن قيم id للمناطق الملائمة الأربع الأقرب، ثم أغلق جدول البيانات الوصفية

  3. افتح جدول البيانات الوصفية للطبقة suitable_areas

  4. أنشئ استعلامًا لتحديد المناطق الملائمة الأربع الأقرب إلى الجامعة (مع تحديدها باستخدام الحقل id)

هذه هي الإجابة النهائية لسؤال البحث.

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