12.1. الدرس: إعداد GRASS¶
يتطلب استخدام GRASS في QGIS أن تفكر في الواجهة بطريقة مختلفة قليلًا. تذكّر أنك لا تعمل في QGIS مباشرة، بل تعمل في GRASS عبر QGIS. لذا تأكد من أنك ثبّتّ QGIS Desktop مع دعم GRASS.
لفتح جلسة QGIS مع إتاحة GRASS على Windows، عليك النقر على أيقونة QGIS Desktop with GRASS.
هدف هذا الدرس: بدء مشروع GRASS في QGIS.
12.1.1. ★☆☆ تابع معنا: بدء جلسة GRASS جديدة¶
لتشغيل GRASS من داخل QGIS، عليك تفعيله كأي إضافة أخرى:
أولًا، افتح مشروع QGIS جديدًا.
في Plugin Manager، فعّل
GRASS 8 في القائمة:
سيظهر شريط أدوات GRASS ولوحة GRASS:
شكل 12.125 شريط أدوات GRASS ولوحته¶
لوحة GRASS غير نشطة لأنه قبل أن تتمكن من استخدام GRASS، عليك إنشاء Mapset. يعمل GRASS دائمًا في بيئة قاعدة بيانات، ما يعني أن عليك استيراد جميع البيانات التي تريد استخدامها إلى قاعدة بيانات GRASS.
لقاعدة بيانات GRASS بنية واضحة، حتى لو بدت معقدة جدًا للوهلة الأولى. وأهم ما يجب أن تعرفه هو أن المستوى الأعلى في قاعدة البيانات هو Location. ويمكن أن يحتوي كل Location على عدة Mapset: وفي كل Mapset ستجد PERMANENT Mapset لأن GRASS ينشئه افتراضيًا. ويحتوي كل Mapset على البيانات (شبكية، متجهية، إلخ) ضمن بنية معينة، لكن لا تقلق، فسيتولى GRASS ذلك نيابة عنك.
تذكّر فقط: Location يحتوي على Mapset الذي يحتوي على البيانات. لمزيد من المعلومات، تفضّل بزيارة موقع GRASS.
شكل 12.126 بنية قاعدة بيانات GRASS (من توثيق GRASS)¶
12.1.2. ★☆☆ تابع معنا: بدء مشروع GRASS جديد¶
انقر على القائمة :
سيُطلب منك اختيار موقع قاعدة بيانات GRASS.
عيّنه ليكون المجلد الذي سيستخدمه GRASS لإعداد قاعدة بياناته:
انقر على Next.
يحتاج GRASS إلى إنشاء Location، الذي يصف الامتداد الأقصى للمنطقة الجغرافية التي ستعمل فيها، ويُعرف أيضًا باسم Region في GRASS.
ملاحظة
المنطقة (Region) بالغة الأهمية لـ GRASS لأنها تصف المنطقة التي ستُؤخذ فيها جميع الطبقات في الحسبان. وكل ما يقع خارجها لن يُعتبر. لا تقلق، يمكنك دائمًا تغيير امتداد منطقة GRASS بعد إنشاء الموقع (Location)
سمِّ الموقع الجديد
SouthAfrica:
انقر على Next.
سنعمل باستخدام
WGS 84، لذا ابحث عن نظام الإحداثيات المرجعي هذا وحدّده:
انقر على Next.
حدّد الآن المنطقة
South Africaمن القائمة المنسدلة وانقر على Set:
انقر على Next.
أنشئ Mapset، وهو ملف الخريطة الذي ستعمل عليه.
بعد الانتهاء، سترى نافذة حوار تعرض ملخصًا لجميع المعلومات المُدخلة.
انقر على Finish.
انقر على OK في نافذة حوار النجاح.
سترى أن لوحة GRASS أصبحت نشطة ويمكنك البدء في استخدام جميع أدوات GRASS.
12.1.3. ★☆☆ تابع معنا: تحميل البيانات المتجهية إلى GRASS¶
لديك الآن خريطة فارغة، وقبل أن تتمكن من البدء في استخدام جميع أدوات GRASS عليك تحميل البيانات إلى قاعدة بيانات GRASS، وتحديدًا إلى Mapset. لا يمكنك استخدام أدوات GRASS مع طبقة غير محمّلة في Mapset خاص بـ GRASS.
توجد طرق كثيرة ومختلفة لتحميل البيانات في قاعدة بيانات GRASS. لنبدأ بالطريقة الأولى.
★☆☆ تابع معنا: تحميل البيانات باستخدام متصفح QGIS¶
رأينا في القسم ★☆☆ لوحة المستعرض أن أسهل الطرق وأسرعها لتحميل البيانات في QGIS هي لوحة المتصفح (Browser Panel).
يتعرّف متصفح QGIS على بيانات GRASS بوصفها بيانات GRASS حقيقية، ويمكنك ملاحظة ذلك لأنك سترى أيقونة GRASS بجوار Mapset الخاص بـ GRASS. علاوة على ذلك، سترى الأيقونة
بجوار Mapset المفتوح.
ملاحظة
سترى نسخة مطابقة من Location الخاص بـ GRASS على شكل مجلد عادي: بيانات Mapset الخاصة بـ GRASS هي تلك الموجودة داخل المجلد 
يمكنك بسهولة سحب الطبقات وإفلاتها من مجلد إلى Mapset الخاص بـ GRASS.
لنجرّب استيراد الطبقة roads إلى Mapset المسمّى grass_mapset في Location المسمّى SouthAfrica.
انتقل إلى المتصفح، واسحب ببساطة الطبقة roads من ملف GeoPackage training_data.gpkg إلى Mapset المسمّى grass_mapset.
هذا كل شيء! إذا وسّعت Mapset فسترى الطبقة المستوردة roads. يمكنك الآن تحميل الطبقة المستوردة في QGIS مثل جميع الطبقات الأخرى.
نصيحة
يمكنك أيضًا تحميل الطبقات من لوحة مفتاح الطبقات (Layer Legend) إلى Mapset في لوحة المتصفح. سيسرّع هذا سير عملك بشكل مذهل!
★☆☆ تابع معنا: تحميل البيانات باستخدام لوحة GRASS¶
سنستخدم الآن الطريقة الطويلة لتحميل الطبقة rivers.shp إلى Mapset نفسه.
حمّل البيانات في QGIS كالمعتاد. استخدم مجموعة البيانات
rivers.shp(الموجودة في المجلدexercise_data/shapefile/)بمجرد تحميلها، انقر على مربع Filter في
GRASS Panelوابحث عن أداة استيراد البيانات المتجهية بإدخال المصطلحv.in.ogr.qgis(المتاحة ضمن ):تحذير
توجد أداتان متشابهتان:
v.in.ogr.qgisوv.in.ogr.qgis.loc. نحن نبحث عن الأداة الأولى.
يرمز
vإلى vector (متجهي)، ويعنيinدالة لاستيراد البيانات إلى قاعدة بيانات GRASS، وogrهي المكتبة البرمجية المستخدمة لقراءة البيانات المتجهية، ويعنيqgisأن الأداة ستبحث عن طبقة متجهية من بين الطبقات المتجهية المحمّلة مسبقًا في QGIS.بعد العثور على هذه الأداة، انقر عليها لفتحها. اختر الطبقة
riversفي مربع Loaded Layer واكتب لها الاسمg_riversلتجنب الالتباس:
ملاحظة
★★★ لاحظ خيارات الاستيراد الإضافية المتاحة ضمن Advanced Options. ومنها إمكانية إضافة عبارة WHERE لاستعلام SQL المستخدم في استيراد البيانات.
انقر على Run لبدء الاستيراد.
عند الانتهاء، انقر على الزر View output لرؤية طبقة GRASS المستوردة حديثًا على الخريطة.
أغلق أولًا أداة الاستيراد (انقر على الزر Close الواقع مباشرة على يمين View output)، ثم أغلق نافذة GRASS Tools.
أزل الطبقة الأصلية
rivers.
لم يتبقَّ لديك الآن سوى طبقة GRASS المستوردة كما تظهر في خريطة QGIS.
12.1.4. ★☆☆ تابع معنا: تحميل البيانات الشبكية إلى GRASS¶
يمكنك استيراد طبقة شبكية بالطرق نفسها التي استوردنا بها الطبقات المتجهية.
سنستورد إلى Mapset الخاص بـ GRASS الطبقة srtm_41_19_4326.tif.
ملاحظة
الطبقة الشبكية موجودة مسبقًا في نظام الإحداثيات المرجعي الصحيح WGS 84. إذا كانت لديك طبقات بأنظمة إحداثيات مرجعية مختلفة، فيجب عليك إعادة إسقاطها إلى نظام الإحداثيات المرجعي نفسه الخاص بـ Mapset في GRASS
حمّل الطبقة
srtm_41_19_4326.tifفي QGISافتح نافذة الحوار GRASS Tools مرة أخرى.
انقر على التبويب Modules.
ابحث عن
r.in.gdal.qgis(المتاحة ضمن ) وانقر نقرًا مزدوجًا على الأداة لفتح نافذة الحوار الخاصة بها.اضبطها بحيث تكون طبقة الإدخال
srtm_41_19_4326.tifوالمخرجg_dem.
انقر على Run.
عند انتهاء العملية، انقر على View output.
أغلق التبويب الحالي عبر Close، ثم أغلق نافذة الحوار بأكملها عبر Close.
يمكنك الآن إزالة الطبقة الأصلية
srtm_41_19_4326.tif.
12.1.5. ★☆☆ جرّب بنفسك: إضافة طبقات إلى Mapset¶
حاول أن تستورد إلى Mapset الخاص بـ GRASS الطبقتين المتجهيتين water.shp و places.shp من المجلد exercise_data/shapefile/. وكما فعلنا مع rivers، أعد تسمية الطبقتين المستوردتين إلى g_water و g_places لتجنب الالتباس
الإجابة
يمكنك إضافة الطبقات (المتجهية والشبكية على حد سواء) إلى Mapset الخاص بـ GRASS بسحبها وإفلاتها في المتصفح (انظر ★☆☆ تابع معنا: تحميل البيانات باستخدام متصفح QGIS) أو باستخدام v.in.gdal.qgis للطبقات المتجهية و r.in.gdal.qgis للطبقات الشبكية.
12.1.6. ★☆☆ فتح Mapset موجود في GRASS¶
إذا كان لديك Mapset موجود في GRASS، يمكنك بسهولة إعادة فتحه في جلسة أخرى من QGIS.
لديك عدة طرق لفتح Mapset في GRASS، لنستكشف بعضها.
لنغلق Mapset بالنقر على الزر Close Mapset في نافذة GRASS Tools.
★☆☆ تابع معنا: استخدام إضافة GRASS¶
انقر على القائمة .
تصفّح وصولًا إلى مجلد قاعدة بيانات GRASS: انتبه! يجب أن تختار المجلد الأب، لا مجلد Mapset الخاص بـ GRASS. إذ سيقرأ GRASS جميع
Locationsفي قاعدة البيانات وجميعMapsetsفي كلLocation:
اختر
LocationالمسمّىSouthAfricaوMapsetالمسمّىgrass_mapsetاللذين أنشأناهما سابقًا.
هذا كل شيء! ستصبح لوحة GRASS نشطة، ما يعني أن Mapset قد فُتح بشكل صحيح.
★☆☆ تابع معنا: استخدام متصفح QGIS¶
فتح Mapset باستخدام متصفح QGIS أسرع وأسهل:
أغلق Mapset (إن كان مفتوحًا) بالنقر على الزر Close Mapset في نافذة GRASS Tools.
في متصفح QGIS، تصفّح وصولًا إلى مجلد قاعدة بيانات GRASS.
انقر بزر الفأرة الأيمن على Mapset (تذكّر أن بجوار Mapset أيقونة GRASS
). سترى بعض الخيارات.انقر على Open mapset:
أصبح Mapset الآن مفتوحًا وجاهزًا للاستخدام!
نصيحة
يتيح لك النقر بزر الفأرة الأيمن على Mapset في GRASS الكثير من الإعدادات المختلفة. حاول استكشافها والاطلاع على جميع الخيارات المفيدة.
12.1.7. الخلاصة¶
يختلف سير العمل في GRASS لإدخال البيانات بعض الشيء عن طريقة QGIS، لأن GRASS يحمّل بياناته في بنية قاعدة بيانات مكانية. ومع ذلك، باستخدام QGIS واجهةً أمامية، يمكنك تسهيل إعداد Mapset في GRASS باستخدام الطبقات الموجودة في QGIS مصادرَ بيانات لـ GRASS.
12.1.8. ما التالي؟¶
الآن بعد استيراد البيانات إلى GRASS، يمكننا النظر في عمليات التحليل المتقدمة التي يوفرها GRASS.