مقالة تعليمية: كيفية حساب فيضان نهر النيل بواسطة برنامج QGIS وصور الأقمار الصناعية

مقدمة

سنقوم في هذا الدرس بإنجاز مشروع واقعي ضمن مجال الاستشعار عن بعد حيث سنقوم بمراقبة تغيرات نهر النيل خلال الشتاء والصيف وسنقوم بعمل خريطة سريعة لمنطقة الفيضان بالقرب من الخرطوم ولهذه الخرائط أهمية كبيرة لاعمال الانقاذ وتقدير الخسائر ووضع خطط لإدارة الكوارث والتعامل معها متابعة القراءة “مقالة تعليمية: كيفية حساب فيضان نهر النيل بواسطة برنامج QGIS وصور الأقمار الصناعية”

سلسلة تعليمية – QGIS – الجزء الرابع – تحليل شريحة البيتزا

في الدرس التالي سنقوم بعمل مدخل بسيط للاستشعار وكل ما تحتاجه هو Orfeo Toolbox وهي مكتبة مفتوحة لمعالجة صور الاستشعار عن بعد من وكالة علوم الفضاء الفرنسية CNES و يمكن تنصيبها على منصات مختلفة. متابعة القراءة “سلسلة تعليمية – QGIS – الجزء الرابع – تحليل شريحة البيتزا”

سلسلة تعليمية – QGIS – الجزء الثالث – تحليل شبكات الطرق في مدينة المالكية في سورية وإيجاد أفضل مسار.

مقدمة

تحليل شبكات الطرق من الاختبارات الشائعة أثناء العمل في مجال نظم المعلومات الجغرافية وتظهر أنظمة المعلومات الجغرافية فعالية في تحليل شبكات الطرق فالأمر لا يقتصر على إيجاد بعض المعلومات الاحصائية او العناصر الهندسية للطريق بل يشمل إجراء تحليلات معقدة مثل الوصول للمواقع وإيجاد المسارات الأفضلية فلنفرض أنك تمتلك مكتب لنقل البضائع وتريد ايصال الطرود البريدية إلى نقاط مختلفة من المدينة أوانك تريد انشاء مركز تجاري وتريد أن تعلم ماهي امكانية الوصول اليه . فما هو المسار الأفضل؟ متابعة القراءة “سلسلة تعليمية – QGIS – الجزء الثالث – تحليل شبكات الطرق في مدينة المالكية في سورية وإيجاد أفضل مسار.”

سلسلة تعليمية – QGIS – الجزء الثاني – حساب مساحة الأشجار المثمرة المغمورة خلال الفيضان؟

مقدمة

بعد التعرف على أهمية نظام المعلومات الجغرافية في المقال السابق: سلسلة تعليمية – QGIS – الجزء الأول – كيف تختار الموقع الأفضل لمنزلك؟. دعونا نخطو خطوة الي الأمام ونتعرف علي فعالية البرنامج في بعض التحليلات الهندسية كإيجاد مساحات التداخل بين طبقات مختلفة وإظهار الصفات الهندسية لعناصر هذه الطبقات وهي من المهمات الشائعة التي تواجها من خلال عملك في مجال الـ GIS (مثلا: توسع طريق او توسيع مخطط تنظيمي ) ففي حالة توسيع طريق فيجب عليك حساب المساحات الذي يجب تملكها لتوسيع هذا الطريق ونوع هذه الاراضي التي سيتم تملكها ومساحتها .

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

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

هذا المثال والبيانات بناءا على أمثلة موجودة في الكتاب المرفق.

البيانات:

  • طبقة الانهار الكبيرة .
  • طبقة الاشجار

خطوات العمل

نقوم بتحميل طبقة الانهار Majrivers بالضغط على الرمز الذي يظهر عليه مؤشر الماوس ونقوم بتحميل طبقة الانهار

Metadata

نتأكد ان اسقاط المشروع متوافق مع نظام الطبقة وننتبه الى ان الواحدات المستخدمة في الطبقة هي القدم (القسم الذي تم تاشيره باللون الازرق بموشر الماوس )

2-نقوم باختيار نهر Koyukuk River باستخدام select by Attribute

وذلك من processing tools

بان نكتب بالفلتر select by Attribute

processing tools: select by Attribute

فتظهر النافذة التالية ونقوم بوضع طبقة الانهار ونختار

الصفة التي سيتم الاختيار بموجبها وهي بمثالنا DESCRIPTION

نختار العملية هنا مساوة

في الحقل value نكتب القيمة التي نبحث عنها

فيتم تاشير جميع العناصر التي تمثل نهر Koyukuk River وعددها 506 عنصر

نقوم بعمل Fixed distance buffer للعناصر المحددة من خلال الذهاب الى

 Vector:Geoprocessing Tools: Fixed distance buffer

وندخل المسافة 5000 قدم

ونفعل Dissolve result

سنقوم بهذه الخطوة بحساب المساحة والمحيط لل Buffer بتشكيله حول النهر والذي يمثل منطقة الفيضان باستخدام اداة هامة هي Export/Add geometry columns وهي تفيد لحساب الخصائص الهندسية مباشرة لا مضلع موجود بالطبقة

ونذهب الى processing tools ونكتب بالفلتر Export/Add geometry columns 

فتظهر النافذة التالية

calculate using يساوي layer CRS حتى يقوم بحساب المساحة وفق لنظام إسقاط الطبقة ونستطيع حسابها وفقا لنظام اسقاط المشروع أيضا

نقوم بفتح open Attribute Table للطبقة الناتجة ولطبقة الـ Buffer

بالذهاب الي open Attribute Table لطبقة ال Buffer

ولطبقة Add geom info

ونقارن

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

نقوم بهذه المرحلة بإضافة طبقة الغابات

نقوم بحساب التقاطع بين طبقة add geom info وطبقة الغابات

vector:Geoprocessing Tools: intersection

ونقوم بفحص البيانات الناتجة عن تقاطع هذين الطبقتين من خلال فتح open Attribute table لطبقة التقاطع فنلاحظ أن البيانات هي كالتالي

حيث لدينا خمس عناصر ويظهر لدينا العمود VEGDESC بأن العنصر الأول والثاني أشجار متساقطة والعنصر الثالث والرابع والخامس أشجار دائمة الخضرة

لذلك سنقوم بعمل مضلع واحد فقط لكل صفة من صفات العمود VEGDESC فسنقوم بتوحيد المضلعات التي لها صفة واحدة من خلال الذهاب الى:

Vector:Geoprocessing Tools:Dissolve

فتظهر النافذة التالية

ومن المهم هنا ازالة تفعيل Dissolve all

واختيار الصفة التي سيتم توحيد العنصر وفقا لها وهي في مثالنا VEGDESC

وذلك من خلال سحبها الي الخانة اليمين من الجدول (selected) كما في الصور التالية

بعد ذلك تفحص البيانات الناتجة عن هذه العملية بالذهاب الي open Attribute table للطبقة

فنلاحظ انه لدينا الان فقط مضلعين احدهما للأشجار المتساقطة والاخر للأشجار المختلطة ومساحة كل منطقة

اخيرا نقوم بحساب نسبة المساحة المغطاة بكل نوع من انواع الشجر الي المساحة الكلية (مساحة النهر + مساحة الفيضان

بالذهاب الى

 Advanced python calculator :processing Toolbox

ونقوم بوضع اسم العمود الذي سيخرج نسبة نوع الشجر

Result file name  وقد قمت بتسميته Martin

Field type = float

ونكتب الفورمولا التالية

value = $geom.area()/ <area>

حيث التابع:

 value = $geom.area()/ <area>

يمثل مساحة المنطقة المشجرة للاشجار المتساقطة والمساحة المشجرة للاشجار المختلطة

يمثل المساحة الكلية

فنحصل علي النتائج التالية

بان 18.9% نسبة الاشجار المتساقطة الاوراق في منطقة الفيضان

6.9 % نسبة الأشجار دائمة الخضرة

نسبة الأشجار الكلية في منطقة الفيضان علي جانبي النهر 18.9+6.9 وتساوي 25.8%

وهذا ماتظهره الصورة التالية بوضع شفافية 50% لمنطقة الفيضان

ملاحظة

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

سأقوم لاحقا باتتمة المشروع واضافة ملف اتمتة المشروع عندما نتطرق لدروس نمذجة المشاريع وعمل geo-algorithms

لذلك لاتنسى الاشتراك في صفحة الفيسبوك That GIS Guy – نظم المعلومات الجغرافية ومشاركة  هذه المقالة مع أصدقائك المختصين. وفي حال لديك أي تعليقات أو أسئلة لاتتردد حيث أنك تفيدنا في تحسين المقالات.

الكاتب: المهندس مارتن إيليا

المراجع:

QGIS: Becoming a GIS Power User – Page 106 

سلسلة تعليمية – QGIS – الجزء الأول – كيف تختار الموقع الأفضل لمنزلك؟

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

هذا المثال والبيانات بناءا على أمثلة موجودة في الكتاب المرفق

المتطلبات:

  • برنامج QGIS وتستطيع الحصول عليه من هذا الرابط: الرابط
  •  بيانات ملائمة لأجراء هذه التحليل وسنقوم بدروس لاحقة بشرح انواع البيانات وطرق عرضها.

الشروط

  • موقع قريب من بحيرة حتى 1000 متر
  • موقع قريب من مدرسة ابتدائية حتى 500 متر
  • موقع قريب من جامعة حتى 2000 متر
  • موقع بعيد عن الشارع الرئيسي حتى 1000 متر

خطوات العمل:

نقوم بفتح البرنامج وإضافات البيانات. البيانات هي عبارة عن ثلاث طبقات:

  • طبقة للمؤسسات التعليمية في نورث كارولينا في أميركا schools_wake.shp.
  •   طبقة للبحيرات lakes.shp
  • طبقة للشوارع الرئيسية  roadsmajor.shp

ويتم فتحها من القائمة Layer : add layer: add vector layer

qgis learn (1)

طبعا عند القيام بأي مشروع قم بفحص البيانات ماهو نظام الاسقاط المستخدم وماهي الـ metadata للبيانات حيث يظهر لديك نوع البيانات و روابط التخزين وعدد العناصر والامتداد للطبقة والوحدات المستخدمة

qgis learn (3)

لا تنسى ضبط نظام الاسقاط للمشروع EPSG  بحيث يتوافق مع نظام اسقاط البيانات وهو في مثالنا :NAD38(HARN)/north carolina EPSG 3358

qgis learn (2)

وكذلك عليك تفحص البيانات وماذا تحتوي هذه الطبقات من بيانات مثلا طبقة المؤسسات التعليمية school_wake. نقوم باختيار الطبقة من نافذة layer panal نضغط بالزر اليميني ونختار open attribute table

qgis learn (4)

نلاحظ ان الجدول يحتوي علي بيانات المؤسسات التعليمة الاسم والكو د ونوع المؤسسة …. الخ وتكون عبارة عن ارقام او كودات مرتبطة مع جدول يشرح دلالة هذه الارقام والكودات. ليس من الضروري فهم جميع محتويات هذه البيانات في هذه المرحلة.

qgis learn (5)

نقوم لان بالتعرف علي طريقة اختيار عناصر محددة من طبقة البحيرات. ندخل علي قائمة الـ processing toolbox ونختار Select by expression. نضغط عليها فتظهر نافذة نقوم باختيار الطبقة وندخل صفات العناصر التي نريد ادخلها وهنا سأختار البحيرات الكبيرة التي مساحتها أكبر من 100 هكتار والتي لها نمط lake/pond.

ثم  ندخل التعبير التالي في حقل Expresion

"AREA">1000000 AND "FTYPE"= 'LAKE/POND'

ملاحظة:

QGIS حساس لعلامات التنصيص لذلك قبل المساواة (“) وبعد المساواة (‘)

qgis learn (6)

نقوم بالضغط موافق فتتشر جميع البحيرات التي مساحتها اكبر من 100 هكتار ولها نمط lake/pond وعدد العناصر الناتجة 81 عنصرا من أصل 15279.

qgis learn (7)

بعد ذلك نقوم بإنشاء مجال Buffer حول هذه البحيرات حيث سيكون ضمن هذا النطاق الموقع الذي اريد اختياره نذهب الى قائمة vector:Geoprocessing Tools :fixed distance buffer 

qgis learn (8)

نقوم باختيار الطبقة وادخال المسافة 1000 متر واختيار dissolve result  ومكان حفظ الطبقة.

qgis learn (9)

فنحصل علي الخريطة التالية:

qgis learn (10)

نقوم الان باختيار المدارس الابتدائية من طبقة school_wake حيث نقوم باختيار Select by expression من خلال نافذة Processing toolbox.  نكتب التعبير التالي:

"GLEVEL" = 'E'

qgis learn (11)

فنلاحظ انه لدينا 95 عنصر قد تم تحديده. نقوم بتشكيل الـ Buffer حول هذه العناصر بنفس الطريقة في الخطوات السابقة ولكن هذه المرة بمسافة 500 متر.qgis learn (12)

نقوم باختيار الجامعات الان من طبقة school_wake:

Select by expression:

"GLEVEL" = 'H'

qgis learn (13)

ونقوم بعدها بتوليد Buffer حول هذه العناصر لكن 2000 متر

qgis learn (14)

ومن ثم نقوم بعمل Buffer حول  طبقة roadmajor.shp بمسافة 500 مترqgis learn (15)

فنحصل علي الخريطة التالية

qgis learn (16)

الخطوة التالية ستكون ايجاد المنطقة المطلوبة وهي عبارة عن المنطقة الي تكون قريبة من البحيرات وقريبة من الجامعات وقريبة من المدارس الابتدائية وبعيدة عن الطرقات الرئيسية لذلك نأخذ تقاطع هذه المناطق جميعا

qgis learn (17)

مرحلة اولى

سنأخذ تقاطع المناطق المحيطة بالمدراس الابتدائية والجامعات

qgis learn (18)

ثم نقوم بإيجاد تقاطع الطبقة الناتجة عن التقاطع السابق مع المنطقة المحيطة بالبحيرات. نقوم باجراء تقاطع اخرqgis learn (19)

مرحلة ثانية

ناخذ فرق تقاطع المناطق الثلاث (جامعات بحيرات ومدارس ابتدائية ) عن الطرقات العامة

qgis learn (20)

ثم نأخذ الفرق بين ناتج التقاطعين السابقين والـ Buffer المحيط بالطرقاتqgis learn (21)

الخريطة النهائية الناتجةqgis learn (22)

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

لاتنسى الاشتراك في صفحة الفيسبوك  That GIS Guy – نظم المعلومات الجغرافية ومشاركة  هذه المقالة مع أصدقائك المختصين. وفي حال لديك أي تعليقات أو أسئلة لاتتردد حيث أنك تفيدنا في تحسين المقالات.

الكاتب: المهندس مارتن إيليا

Martin Elia

المراجع:

هذا المثال والبيانات بناءا على أمثلة موجودة في كتاب:

QGIS 2 Cookbook – Page 126