Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬

‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬


‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫الدرس الثالث‪ :‬تدريب عملي‬


‫التقنين عن طريق بناء النماذج ألتمتة العمل في مشاريع ‪GIS‬‬

‫‪ 1‬مقدمة‬

‫تناولنا في الدروس السابقة إمكانيات التقنين والتطوير في برنامج ‪ArcGIS Desktop‬التي توفرها‬
‫شركة إيزري لمستخدميها‪ ،‬وهي للتذكير كما يلي‪:‬‬

‫‪ .1‬تقنين واجهة المستخدم ‪Customizing User Interface‬‬

‫‪ .2‬التقنين عن طريق ‪ Modelling‬و ‪ ، Scripting‬أي عن طريق النمذجة و كتابة السكريبتات‬


‫باستخدام البايثون‪.‬‬

‫‪ .3‬التقنين عن طريق تطوير اإلضافات البرمجية (‪ )Add-ins‬باستخدام الجافا‪ ،‬الدوت نت‪ ،‬أو‬
‫البايثون (فقط في إصدار ‪ 1..1‬ومابعده)‪.‬‬

‫‪ .4‬التقنين عن طريق تطوير برامج كاملة وملحقات ومكونات برمجية جديدة باستخدام الجافا‪ ،‬أو‬
‫الدوت نت‪ .‬ويتم ذلك عن طريق استخدام برنامج ‪.ArcGIS Engine‬‬

‫في هذا الدرس‪ ،‬نتناول اإلمكانية الثانية‪ .‬حيث سنركز في هذا الدرس على التقنين عن طريق بناء‬
‫النماذج (‪ )Model Building‬وذلك باستخدام ‪ .Model Builder‬وسنتناول في الدروس الالحقة‪،‬‬
‫التقنين عن طريق كتابة السكريبتات بلغة البايثون‪.‬‬

‫‪ 1.1‬ما هو ‪Model Builder‬؟‬


‫هو أداة أو تطبيق يعمل من داخل ‪ ArcGIS Desktop‬إلنشاء وتحرير وإدارة النماذج (‪.)Models‬‬
‫والنموذج يمكن تعريفه في سياق المعالجة المكانية بأنه‪ :‬سلسلة من عمليات المعالجة المكانية التي يتم‬
‫إجراؤها على البيانات المدخلة بواسطة أدوات المعالجة المكانية (‪ .)Geoprocessing tools‬حيث‬
‫يتم ربط أداة بأخرى‪ ،‬وذلك باستخدام مخرجات أداة ما كمدخالت ألداة أخرى‪ .‬هذا التسلسل يشكل‬
‫خطوات مرتبة لحل مشكلة ما أو للمساعدة في اتخاذ قرار‪.‬‬

‫مثال‪:‬‬

‫كان المطلوب في إحدى الدوائر الحكومية المهتمة بالتخطيط‪ ،‬اتخاذ قرار إلزالة محطات الوقود التي تقع‬
‫ضمن مسافة ‪ 2..‬م من المدارس والمستشفيات في قطاع غزة لما تشكله من خطر على الطالب‬
‫والمرضى في حال الطوارئ‪ .‬اتخاذ مثل هذا القرار يتطلب اجراء سلسلة من عمليات المعالجة على‬

‫‪1‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫البيانات الموجودة وبشكل مرتب لتحديد محطات الوقود الخطرة‪ .‬أضف إلى ذلك إلى إمكانية تكرار هذه‬
‫العمليات لمناطق أخرى‪ ،‬ولذلك األداة األنسب لمثل هذا السيناريو هو ‪ .Model Builder‬من خالله يتم‬
‫استخدام عدة أدوات بشكل مرتب ومتسلسل للقيام بعمليات مختلفة على البيانات الموجودة واشتقاق بيانات‬
‫جديدة تحمل معلومات مفيدة التخاذ القرار المناسب‪.‬‬

‫مثال على نموذج سنقوم به خالل هذا الدرس هو ذلك المبين في شكل رقم ‪.1‬‬

‫شكل رقم ‪1 :‬‬


‫من فوائد استخدام النموذج في مثل هذه السيناريوهات هو مايلي‪:‬‬

‫‪ .1‬السهولة‪ :‬بحيث يتم إنشاء النموذج مرة واحدة واستخدامه عدة مرات‪ .‬ولذلك ال يتم تشغيل‬
‫األدوات يدويا كل مرة و إنما آليا من قبل الكمبيوتر ز وهذا يعني عدم بذل جهد كبير كل مرة‬
‫لتذكر أي األدوات التي تم استخدامها أو يجب استخدامها‪ .‬وهذا هو السبب الذي يجعل النماذج‬
‫تساعد في أتمتة العمل‪.‬‬

‫‪ .2‬السرعة‪ :‬عندما يتم تشغيل سلسلة من األدوات من قبل الكمبيوتر فإن العمل يكون أسرع من ذاك‬
‫التشغيل اليدوي لكل أداة على حدة‪ .‬وهذا ما يتم في النموذج‪.‬‬

‫‪ .3‬الدقة‪ :‬غالبا عندما يتم تشغيل عدة أدوات لتنفيذ مهمة ما‪ ،‬يستنفذ ذلك وقت وجهد من الكادر‬
‫البشري ولذلك يكون هناك احتمال أكبر للخطأ ‪ .‬بينما إذا تم تشغيلها بشكل آلي من الكمبيوتر‬
‫فيكون احتمال الخطأ أقل بكثير‪.‬‬

‫‪2‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫يتبين مما سبق أهمية النماذج في أتمتة العمل وجعل سير العمل أسهل وأسرع‪ .‬فيما يلي سنقوم بالقيام‬
‫بتدريب عملي الستخدام النموذج في تحديد محطات الوقود الخطرة كما تم ذكر ذلك سابقا‪.‬‬

‫قيل البداية في التمرين العملي‪ ،‬نود أن نتناول بشكل متسلسل الخطوات التي تساعدنا على اتخاذ قرار‬
‫بتحديد محطات الوقود الخطرة‪.‬‬

‫الهدف‪ :‬هو تحديد محطات الوقود التي من الممكن أن تشكل خطرا على المدارس أو المستشفيات‬
‫المحيطة‪ .‬لذلك فمحطة الوقود يمكن تصنيفها خطرة إذا وقعت ضمن مسافة ‪ 2..‬م من أي مدرسة‬
‫أومستشفى‪.‬‬

‫مرحلة جمع البيانات وتوفيرها‪:‬‬

‫بناء على المعيار المعطى‪ ،‬فإن البيانات التي نحتاج إليها هي كما يلي‪:‬‬

‫‪ .1‬بيانات مكانية (خرائط أو ما يعرف بـ ‪ )Base Maps‬خاصة بمنطقة الدراسة وهي قطاع‬
‫غزة‪.‬‬

‫‪ .2‬بيانات مكانية خاصة بالمستشفيات في منطقة الدراسة‬

‫‪ .3‬بيانات مكانية خاصة بالمدارس في منطقة الدراسة‬

‫‪ .4‬بيانات مكانية خاصة بمحطات الوقود في منطقة الدراسة‪.‬‬

‫البيانات المتوفرة لدينا‪:‬‬

‫‪ .1‬خريطة لمحافظات القطاع بفورمات ‪ .Area Shapefile‬اسم الملف‪:‬‬


‫‪Governorates.shp‬‬

‫‪ .2‬خريطة لجميع معالم قطاع غزة بفورمات ‪ .Point Shapefile‬اسم المف‪:‬‬


‫‪GazaFeatures.shp‬‬

‫‪ .3‬خريطة لشبكة طرق قطاع غزة بفورمات ‪ .Line Shapefile‬اسم الملف‪Road.shp :‬‬

‫معالجة البيانات‪:‬‬

‫سنقوم بمجموعة من عمليات المعالجة المكانية على هذه البيانات الشتقاق بيانات ومعلومات جديدة تمكننا‬
‫من اتخاذ القرار الصحيح‪ .‬لذلك سيتم سرد الخطوات العامة لحل مشكلة تحديد المحطات الخطرة كما‬
‫يلي‪:‬‬

‫‪3‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ .A‬فرز المدارس والمستشفيات ومحطات الوقود من طبقة المعالم الممثلة بالملف‬


‫‪ GazaFeatures.shp‬إلى ثالث ملفات شيب فايل جديدة‪.‬‬

‫‪ .B‬عمل نطاق (‪ )Buffer‬بمسافة ‪ 2..‬م على كل من المدارس والمستشفيات‪.‬‬

‫‪ .C‬تحديد محطات الوقود الواقعة داخل طبقتي ‪ Buffer‬الخاصة بالمدارس والمستشفيات‪ .‬هذه‬
‫المحطات هي محطات الوقود الخطرة التي نريد تحديدها‪.‬‬

‫‪ .D‬حفظ محطات الوقود الخطرة في ملف شيب فايل جديد‪.‬‬

‫‪ .E‬تصدير محطات الوقود الخطرة في ملف نصي بحيث يسهل تداوله بين مختلف األقسام بدون‬
‫الحاجة لبرنامج ‪.ArcGIS‬‬

‫شكل رقم ‪ 2‬يوضح محطات الوقود الخطرة وهي محطات الوقود التي تقع ضمن نطاق ‪2..‬م من‬
‫المدارس والمستشفيات‪.‬‬

‫محطة وقود خطرة‬ ‫مدرسة‬ ‫محطة وقود‬ ‫مستشفى‬

‫شكل رقم ‪2 :‬‬


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

‫هذه العمليات يمكن القيام بها يدويا كل مرة‪ ،‬ولكن ستكلفنا وقتا وجهدا كبيرين‪ .‬لذا سنستخدم ‪Model‬‬
‫‪ Builder‬في تنفيذ هذه العمليات مرة واحدة ‪ .‬والميزة في استخدام ‪ Model Builder‬هي أتمتة العمل‬
‫بحيث يمكن حل مشكلة تحديد محطات الوقود الخطرة لمناطق أخرى دون اللجوء إلى عملية العصف‬
‫الذهني التي نحتاجها في حل المشكلة من جديد‪ .‬فيما يلي التمرين العملي لتطبيق هذه الخطوات‪.‬‬

‫‪4‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫التمرين العملي‬

‫أوال‪ :‬إنشاء مجلدات المشروع‪:‬‬

‫‪ .1‬في البداية‪ ،‬نريد إنشاء المجلدات الخاصة بالمشروع‪ .‬قم بإنشاء المجلد الرئيسي للمشروع في أي‬
‫مكان على القرص الصلب الخاص بك‪ .‬المجلد الرئيسي وما يحتويه من مجلدات مبين في شكل‬
‫رقم ‪.3‬‬

‫شكل رقم ‪3 :‬‬


‫‪ .2‬نقوم بوضع البيانات المتوفرة لدينا والتي سيتم استخدامها كمدخالت للنموذج في مجلد‬
‫‪.Inputs‬‬

‫شكل رقم ‪4 :‬‬


‫‪ .3‬نقوم بفتح ‪.ArcMap‬‬

‫‪ .4‬نقوم بإضافة البيانات الخاصة بـاالمحافظات (‪ )Governorates.shp‬والبيانات الخاصة‬


‫‪.‬‬ ‫بمعالم القطاع (‪ )GazaFeatures.shp‬إلى ‪ ArcMap‬عن طريق الزر‬

‫‪ .5‬يتم حفظ المشروع في مجلد ‪ Project‬باسم ‪.Dangerous_Fuels.mxd‬‬

‫‪5‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪5 :‬‬


‫ثانيا‪ :‬استكشاف البيانات‪:‬‬

‫‪ .6‬في هذه الخطوة‪ ،‬نريد أن نتعرف على محتوى البيانات التي لدينا حتي يكون عندنا فكرة كاملة‬
‫عنها وكيف يمكن توظيفها لحل المشكلة التي لدينا وهي تحديد محطات الوقود الخطرة‪ .‬فمثال‪ ،‬قم‬
‫بفتح جدول البيانات الوصفية (‪ )Attribute Table‬لطبقة ‪ .GazaFeatures‬ستجد أن‬
‫جدول البيانات الوصفية يحتوي على عدة حقول مثل‪:‬‬

‫‪ :POI‬هذا الحقل يحدد نوع المعلم سواء كان مدرسة‪ ،‬مطعم‪... ،‬إلخ‪ .‬الكلمة ‪ POI‬اختصار لـ‬
‫‪.Point of Interest‬‬

‫‪ :Name‬اسم المعلم باالنجليزي‪.‬‬

‫‪ :Name_AR‬اسم المعلم بالعربي‪.‬‬

‫ثالثا‪ :‬إنشاء نموذج جديد‬

‫‪ .7‬بعد استكشاف البيانات‪ ،‬يمكننا أن نبدأ بمعالجة البيانات حسب الخطوات الخمس التي تم سردها‬
‫سابقا وهي الخطوات من ‪ A‬إلى ‪ .E‬في هذه الخطوة سنقوم بإنشاء نموذج جديد ( ‪New‬‬
‫‪ )Model‬ليمثل سير العمل الممثل بالخطوات الخمس‪ .‬ثم إضافة هذا النموذج إلى‬
‫‪ ArcToolbox‬في ‪.ArcMap‬‬

‫من داخل ‪( ArcCatalog‬في برنامج ‪ )ArcGIS 9.3‬أو من نافذة ‪ Catalog‬داخل‬


‫برنامج ‪( ArcMap‬في برنامج ‪ ،)ArcGIS 10.1‬قم بالضغط على الزر اليمين للماوس على‬
‫المجلد ‪ ،Model‬ثم قم بإنشاء صندوق أدوات جديد كما يلي‪ .New >> Toolbox :‬الشكل‬
‫رقم ‪ 6‬يوضح هذه العملية‪.‬‬

‫‪6‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪6 :‬‬


‫‪ .8‬قم بالضغط على الزر اليمين للماوس على صندوق األدوات الجديدرالذي أنشأته في الخطوة‬
‫السابقة‪ ،‬ثم قم بإنشاء نموذج جديد كما يلي‪ .New >> Model :‬انظر الشكل رقم ‪.7‬‬

‫شكل رقم ‪7 :‬‬

‫‪7‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ .9‬بمجرد إنشاء موديل جديد‪ ،‬تفتح نافذة الموديل تلقائيا كما يبين شكل رقم ‪ .8‬قم بإغالق النموذج‪.‬‬

‫شكل رقم ‪8 :‬‬

‫شكل رقم ‪9 :‬‬

‫‪8‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ .11‬اآلن سنقوم بإضافة النموذج إلى ‪ ArcToolbox‬في ‪ ArcMap‬كما يلي‪:‬‬

‫اضغط بزر الماوس األيمن على ‪( ArcToolbox‬انظر شكل رقم ‪ )1.‬ثم اختر ‪Add‬‬
‫‪ .Toolbox‬سيظهر مربع حوار الختيار صندوق األدوات المراد إضافته‪ .‬اذهب إلى مجلد‬
‫‪ Model‬ثم اختر صندوق األدوات الذي أنشأته في الخطوات السابقة (انظر شكل رقم ‪.)11‬‬

‫شكل رقم ‪11 :‬‬

‫شكل رقم ‪11 :‬‬

‫‪9‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫رابعا‪ :‬الخطوة ‪A‬ــــ فرز المدارس والمستشفيات ومحطات الوقود‬

‫‪ .11‬اآلن سنبدأ بالخطوة رقم ‪ A‬وهي فرز المدارس والمستشفيات ومحطات الوقود من طبقة‬
‫‪ .GazaFeatures.shp‬سنستخدم في هذه الخطوة أداة ‪ Select‬من صندوق األدوات‬
‫‪ .Analysis Tools‬سيتم استخدام األداة مرتين‪ )1( :‬الستخراج المدارس والمستشفيات إلى‬
‫ملفين منفصلين بحيث يمكن استخدامهما الحقا كمدخالت لألداة ‪ )2( ، Buffer‬الستخراج‬
‫محطات الوقود إلى ملف منفصل‪ .‬محطات الوقود لن تكون مدخل من مدخالت األداة ‪.Buffer‬‬
‫يمكن الوصول ألداة ‪ Select‬بالتسلسل التالي‪:‬‬

‫‪ArcToolbox >> Analysis Tools >> Extract >> Select.‬‬

‫أو كما يبين الشكل رقم ‪.12‬‬

‫شكل رقم ‪12 :‬‬


‫إذا تم فتح األداة‪ ،‬سيظهر مربع الحوار الخاص باألداة والذي يبين معامالت األداة ( ‪Tool‬‬
‫‪ )Parameters‬كما يبين شكل رقم ‪ .13‬قم بفتح األداة فقط لتتعرف على األداة ومعامالتها‪ .‬الحقا سيتم‬
‫إضافتها إلى النموذج وإدخال معامالتها‪.‬‬

‫شكل رقم ‪13 :‬‬

‫‪10‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫األداة ‪:Select‬‬

‫الهدف‪ :‬استخراج مجموعة من الفيتشرز (المعالم) من طبقة المعالم المدخلة بناء على معايير معينة‬
‫وحفظ المعالم المستخرجة في ملف شيب فايل جديد‪ .‬فمثال سيتم استخراج المعالم المصنفة مدارس‬
‫(المعيار هنا هو المعالم التي تمثل المدارس) ثم حفظ هذه المدارس في ملف شيب فايل جديد‪.‬‬

‫مدخالت األداة‪:‬‬

‫‪ .1‬طبقة المعالم المدخلة (‪ )Input Features‬التي سيتم االختيار منها‪ .‬في مثالنا هذا ستكون‬
‫طبقة ‪.GazaFeatures.shp‬‬

‫‪ .2‬طبقة المعالم المخرجة أو الناتجة (‪ )Output Features‬التي ستحتوي على المعالم‬


‫المستخرجة‪ .‬في مثالنا هذا ستمثل هذه طبقة جديدة خاصة بالمدارس أو المستشفيات أو محطات‬
‫الوقود‪.‬‬

‫‪ .3‬المعيار (‪ )Expression‬الذي على أساسه يتم اختيار واستخراج المعالم المخرجة ( ‪Output‬‬
‫‪ )Feature Class‬من المعالم المدخلة (‪ .)Input Features‬في مثالنا سيكون المعيار هو‬
‫المعالم التي تمثل المدارس أو المستشفيات أو محطات الوقود‪.‬‬

‫بعد التعرف على األداة ‪ ،Select‬قم بسحب األداة من ‪ ArcToolbox‬إلى نافذة الموديل‪ ،‬ستظهر‬
‫األداة بالمظهر المبين في شكل رقم ‪ .14‬تظهر أداة ‪ Select‬بالشكل الغير ملون لتدل على أن‬
‫معامالت أو مدخالت األداة (‪ )Parameters‬لم يتم إعدادها أو إدخالها بعد‪.‬‬

‫شكل رقم ‪14 :‬‬

‫‪11‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ .12‬سيتم في هذه الخطوة إعداد األداة ‪ Select‬بإدخال المعامالت (‪ )Parameters‬الخاصة‬


‫بها‪ .‬دبل كليك على األداة ‪ Select‬ثم قم بتعبئة أول معامل وهو ‪ .Input Features‬اختر‬
‫لهذا المعامل طبقة ‪ GazaFeatures‬كما هو مبين في شكل رقم ‪.11‬‬

‫‪15‬‬ ‫شكل رقم ‪:‬‬


‫سنالحظ من شكل ‪ 11‬أنه بمجرد إدخال ‪ ، Input Features‬فإن الموديل تلقائيا يقوم بإعداد المعامل‬
‫‪ Output Feature Class‬ويقوم بتسمية الطبقة الناتجة بـ ‪ .GazaFeatures_Select‬ولكن‬
‫يمكن تغيير هذا المعامل ليحفظ الطبقة الناتجة في أي مجلد تريده‪ .‬فمثال سنقوم الحقا بإعداده ليحفظ في‬
‫مجلد ‪.Outputs‬‬

‫‪ .13‬بعد إدخال المعامالت اإلجبارية (‪ ،)Not Optional‬فإن األداة ‪ Select‬تظهر ملونة كما‬
‫هو موضح في شكل رقم ‪.16‬‬

‫شكل رقم ‪16 :‬‬

‫‪12‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ .14‬سنقوم اآلن بإعداد المعامل االختياري ‪ ، Expression‬الختيار المعالم التي تمثل المدارس‬
‫أو المستشفيات أو محطات وقود ثم تصدير كل منها إلى ملف شيب فايل جديد‪ .‬اضغط بالزر‬
‫اليمين للماوس على األداة ‪ Select‬ثم قم بما يلي (انظر شكل رقم ‪.)17‬‬

‫‪Make Variable >> From Parameter >> Expression‬‬

‫بهذه الطريقة نقوم بتحويل المعامل ‪ Expression‬إلى متغير (‪ )Variable‬في الموديل‪ .‬نلجأ‬
‫لمثل هذه الخطوة إذا كان أي معامل من معامالت األداة سيتم تغييرقيمته عندما نقوم بتشغيل‬
‫الموديل‪ .‬ولهذا يسمى متغير‪ .‬في مثالنا هذا‪ ،‬سيكون ‪ Expression‬الذي على أساسه سنقوم‬
‫باختيار المدارس هو ("‪ ،)'POI" = 'school‬ولكن هذه قيمة غير ثابتة ألننا نريد أيضا ان‬
‫نشغل الموديل للمستشفيات وبالتالي سيكون ‪ Expression‬هو ("‪)'POI" = 'hospital‬‬
‫وهكذا‪ .‬ولذا من األفضل تحويل ‪ Expression‬من معامل (‪ )Parameter‬إلى متغير‬
‫(‪ )Variable‬كما في هذه الخطوة‪.‬‬

‫شكل رقم ‪17 :‬‬

‫‪13‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫سيظهر المتغير ‪ Expression‬بالهيئة الغير ملونة‪ ،‬مما يعني أنه لم يأخذ قيمة بعد (اتظر شكل رقم‬
‫‪.)18‬‬

‫شكل رقم ‪18 :‬‬


‫‪ .15‬كما ذكرنا سابقا‪ ،‬فإننا نريد تشغيل األداة ‪ Select‬الستخراج المدارس والمستشفيات إلى‬
‫ملفين منفصلين‪ .‬هذا يستلزم استخدام األداة ‪ Select‬مرتين‪ .‬وتغيير قيمة المتغير‬
‫‪ Expression‬مرتين (مرة للمدارس ومرة للمستشفيات)‪ .‬ومع ذلك لتوفير الوقت والجهد‪ ،‬فإن‬
‫‪ Model Builder‬يوفر آلية للتعامل مع هذا السيناريو وهو تحويل المتغير ‪Expression‬‬
‫إلى متغير يخزن قائمة من القيم وليس قيمة واحدة‪ .‬ولذا فبدال من استخدام األداة مرتين‬
‫منفصلتين‪ ،‬سيتم استخدام األداة مرة واحدة ولكن يتم تشغيلها تلقائيا مرتين ألن المتغير‬
‫‪ Expression‬يحتوي على قيمتين وهما ’‪ “POI”=’school‬و ’‪. “POI”=’hospital‬‬

‫يتم تحويل المعامل ‪ Expression‬إلى متغير يخزن أكثر من قيمة بالضغط بالزر اليمين على‬
‫المتغير ‪ Expression‬ثم اختر ‪ Properties‬لتظهر نافذة الخصائص كما يبين شكل رقم‬
‫‪ .11‬قم بتحديد ‪ A list of values‬لجعل المتغير يخزن قائمة من القيم‪.‬‬

‫‪14‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪19 :‬‬


‫سيصبح الموديل بالهيئة المبينة في شكل رقم ‪ .2.‬عند تحويل المتغير ‪ Expression‬ليأخذ‬
‫عدة قيم فإن ناتج األداة ‪ Select‬سيكون أيضا عدة مخرجات‪ .‬في مثالنا هذا سيكون الناتج‬
‫ملفين شيب فايل‪ )1( :‬ملف شيب فايل خاص بالمدارس و (‪ )2‬ملف شيب فايل خاص‬
‫بالمستشفيات ‪.‬‬

‫شكل رقم ‪21 :‬‬


‫في هذه الخطوة سنقوم بإدخال قيمة المتغير ‪ .Expression‬قيمة هذا المتغير عبارة عن‬ ‫‪.16‬‬
‫قيمتين وهما جزء من جمل ‪ SQL‬وهي كما يلي‪:‬‬

‫'‪(1) "POI" = 'school' , (2) "POI" = 'hospital‬‬

‫إلدخال القيم السابقة‪ ،‬قم بمايلي‪:‬‬

‫‪ ‬اضغط مرتين متتاليتين على األداة ‪ ،Select‬ستفتح النافذة المبينة في شكل رقم ‪ .21‬الحظ‬
‫أن المعامالت ‪ Parameters‬قد تم عرضها بشكل أفقي ليأخذ كل منها قيمة أو أكثر‬
‫(‪.)List of values‬‬

‫‪15‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ ‬اضغط مرتين متتاليتين على الخانة الفارغة تحت المعامل ‪( Expression‬انظر شكل‬
‫رقم ‪ )21‬لتفتح نافذة جديدة كما يبين شكل رقم ‪.22‬‬

‫لتفتح نافذة جديدة وهي نافذة ‪ .Query Builder‬قم باتباع‬ ‫‪ ‬قم بالضغط على أيقونة‬
‫الخطوات المبينة في شكل رقم ‪.23‬‬

‫‪ ‬حتى اآلن نكون قد أدخلنا أول قيمة للمتغير ‪ Expression‬وهي ’‪“POI”=’school‬‬


‫سنقوم بإدخال القيمة األخرى بنفس الطريقة‪ .‬ولكن إلضافة قيمة جديدة للمتغير‬
‫‪ Expression‬فال بد من إضافة سطر جديد في نافذة ‪ Select‬كما يبين شكل رقم ‪.24‬‬

‫شكل رقم ‪21 :‬‬

‫‪16‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪22 :‬‬

‫شكل رقم ‪23 :‬‬

‫‪17‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪24 :‬‬


‫بعد إدخال القيم‪ ،‬يصبح شكل نافذة ‪ Select‬كما يبين شكل رقم ‪.21‬‬

‫شكل رقم ‪25 :‬‬


‫يمكن أيضا تغيير موقع حفظ المخرجات من خالل المعامل ‪ .Output Feature Class‬قم بحفظ‬
‫مخرجات األداة ‪ Select‬في المجلد ‪ .Outputs‬قم بحفظ الطبقات الناتجة لتكون ‪Schools.shp‬‬
‫لطبقة المدارس و ‪ Hospitals.shp‬لطبقة المستشتفيات كما يبين شكل رقم ‪.26‬‬

‫شكل رقم ‪26 :‬‬


‫بعد إعداد المعامل ‪ Output Feature Class‬في الخطوة السابقة ‪ ،‬قم بإعادة تسمية‬ ‫‪.17‬‬
‫المتغير الناتج من األداة ‪ Select‬والذي يمثل طبقتي المدارس والمستشفيات‪ .‬قم بتسميته‬
‫‪ .Schools_Hospitals‬انظر شكل رقم ‪.27‬‬

‫‪18‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪27‬‬ ‫شكل رقم ‪:‬‬


‫في الخطوات السابقة استخرجنا المدارس والمستشفيات من ملف ‪،GazaFeatures.shp‬‬ ‫‪.18‬‬
‫سنقوم في هذه الخطوة باستخراج محطات الوقود بنفس اآللية السابقة ولكن هذه المرة سيأخذ كل‬
‫معامل قيمة واحدة فقط وليس أكثر‪.‬‬

‫قم بإضافة األداة ‪ Select‬مرة ثانية إلى الموديل وقم بإعداد المعامالت الخاصة بها كما يلي‪:‬‬

‫‪ .GazaFeatures :Input Features‬يتم إعداد هذا المعامل بتوصيل المتغير‬

‫‪ .‬انظر شكل رقم ‪.28‬‬ ‫‪ GazaFeatures‬إلى األداة )‪ Select (2‬بأداة التوصيل‬

‫‪ :Output Feature Class‬قم بحفظ طبقة محطات الوقود الناتجة باسم ‪ Fuel.shp‬في‬
‫مجلد ‪ .Outputs‬يتم إعداد هذا المعامل بفتح األداة )‪ Select (2‬ثم تغيير هذا المعامل‪.‬‬

‫‪ .“POI”=’fuel’ :Expression‬يتم إعداد هذا المعامل بفتح األداة )‪ Select (2‬ثم تغيير‬
‫هذا المعامل‪.‬‬

‫سيصبح شكل الموديل كما هو مبين في شكل رقم ‪.28‬‬

‫‪19‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪28‬‬ ‫شكل رقم ‪:‬‬


‫خامسا‪ :‬الخطوة ‪ B‬ــــ عمل نطاق (‪ )Buffer‬بعمق ‪ 211‬م حول المدارس والمستشفيات‪.‬‬

‫في هذه الخطوة سنقوم بعمل نطاقات حول المدارس والمستشفيات بعمق ‪2..‬م وذلك‬ ‫‪.19‬‬
‫باستخدام أداة ‪ .Buffer‬قم بإضافة أداة ‪ Buffer‬إلى الموديل وقم بإعداد معامالتها لتكون كما‬
‫يلي‪:‬‬

‫‪ :Input Features‬هذا المعامل يمثل طبقتي المدارس والمستشفيات المتمثلة بالمتغير‬

‫‪ .Hospitals_Schools‬أسهل طريقة إلعداد هذا المعامل هو استخدام أداة التوصيل‬

‫باألداة‬ ‫المتواجدة على واجهة ‪ .Model Builder‬حيث يتم توصيل المتغير‬


‫‪.Buffer‬‬

‫إلعداد باقي المعامالت قم بالضغط مرتين متتاليتين على األداة ‪ Buffer‬لفتحها‪ ،‬ثم قم بإعداد‬
‫المعامل ‪ Output Feature Class‬ليحفظ طبقتي ‪ Buffer‬الخاصة بالمدارس‬
‫والمستشفيات في مجلد ‪.Outputs‬‬

‫‪20‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫قم أيضا بإعداد المعامل ‪ Distance‬ليأخذ قيمة ‪ 2..‬م‪.‬‬

‫الخطوات السابقة مبينة في شكل رقم ‪.21‬‬

‫شكل رقم ‪29 :‬‬


‫بعد إعداد كل المعامالت الخاصة بأداة ‪ Buffer‬يصبح الموديل بالهيئة المبينة في شكل رقم ‪.3.‬‬

‫شكل رقم ‪31 :‬‬

‫‪21‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫سادسا‪ :‬الخطوة ‪ C‬ــــ تحديد محطات الوقود الخطرة داخل نطاق (‪ )Buffer‬المدارس والمستشفيات‪.‬‬

‫‪ .21‬نحن اآلن في الخطوة ‪ C‬من الخطوات العامة للمشروع‪ .‬سنقوم بتحديد محطات الوقود التي‬
‫تقع داخل ‪ Buffer‬الخاص بكل من المدارس والمستشفيات‪ .‬سنستخدم لهذه المهمة أداة المعالجة‬
‫‪ .Select Layer by Location‬معامالت هذه األداة كما يلي‪:‬‬

‫‪ :Input Feature Layer‬هذا المعامل يمثل الطبقة التي منها سنقوم بتحديد المعالم على‬
‫أساس موقعها من طبقات معالم أخرى‪ .‬في مثالنا هذا يمثل هذا المعامل طبقة محطات الوقود‪.‬‬
‫الحظ كلمة ‪ Layer‬في اسم هذا المعامل‪ ،‬فذلك يعني أن قيمة هذا المعامل يجب أن تكون طبقة‬
‫التي تأخذ امتداد ‪ *.lyr‬وليس ملف شيب فايل ‪ .*.shp‬لذا يجب قبل إعداد هذا المعامل إنشاء‬
‫طبقة من ملف الشيب فايل ‪ Fuel.shp‬وهذا يمكن فعله باستخدام األداة ‪Make Feature‬‬
‫‪ .Layer‬قم بالبحث عن هذه األداة في ‪ ArcToolbox‬ثم قم بإضافتها إلى الموديل‪ .‬قم‬
‫بتوصيل المتغير ‪ Fuel.shp‬بها (انظر شكل رقم ‪.)31‬‬

‫المعامل ‪ Input Feature Layer‬يمكن إعداده بتوصيل المتغير ‪( Fuel_Layer‬ناتج‬


‫من األداة ‪ )Make Feature Layer‬إلى االداة ‪.Select Layer By Location‬‬
‫راجع شكل رقم ‪.32‬‬

‫‪ :Selecting Features‬هذا المعامل يمثل المعالم التي ستستخدم لتحديد محطات الوقود‪.‬‬
‫في مثالنا هذا‪ ،‬يمثل هذا المعامل النطاقات (‪ )Buffers‬الخاصة بالمدارس والمستشفيات‪ .‬ألن‬
‫هذه النطاقات هي التي ستحدد لنا محطات الوقود الخطرة‪ ،‬فإذا وقعت محطة وقود داخلها فإنها‬
‫خطرة وبالتالي يجب تحديدها‪ ،‬وإذا لم تقع داخلها فإن محطة الوقود ليست خطرة وبالتالي ال‬
‫يجب تحديدها‪.‬‬

‫هذا المعامل يتم إعداده بتوصيل المتغير ‪ SchoolsAndHospitals_Buffer‬إلى األداة‬


‫‪( Select By Location‬انظر شكل ‪ .)32‬أو قم بفتح األداة ‪Select Layer by‬‬
‫‪ Location‬ثم قم بتغيير قيم هذا المعامل كما يوضح شكل رقم ‪.33‬‬

‫‪ :Relationship‬هذا المعامل يمثل طبيعة العالقة المكانية التي على أساسها سنقوم بتحديد‬
‫محطات الوقود‪ .‬فمثال سنقوم بتحديد محطات الوقود التي تقع داخل (‪)Completely Within‬‬
‫النطاقات (‪ )Buffers‬الخاصة بالمدارس والمستشفيات‪ .‬هذا المعامل يتم إعداده بفتح االداة‬
‫‪ Select By Location‬ثم تغيير المعامل ‪ Relationship‬ليأخذ القيمة ‪Completely‬‬
‫‪ .Within‬راجع شكل رقم ‪.33‬‬

‫‪22‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ :Selection Type‬هذا المعامل يمثل نوع طريقة التحديد‪ ،‬هناك عدة أنواع منها‪:‬‬

‫‪ :New_Selection‬تحديد جديد‪ ،‬فهذا يعني أنه إذا كان هناك معالم محددة مسبقا فإن هذه‬
‫الطريقة تقوم بإلغاء تحديدها وبداية تحديد جديد‪.‬‬

‫‪ :Add_To_Selection‬أضف إلى التحديد الموجود‪ ،‬فهذا يعني إضافة أي تحديد جديد إلى‬
‫المعالم المحددة مسبقا وبالتالي إذا كان هناك معالم محددة مسبقا فإنه ال يتم إلغاؤها وإنما يتم‬
‫إضافة المعالم المحددة حديثا إليها‪.‬‬

‫‪ :Remove_From_Selection‬أزل التحديد من المعالم المحددة فقط‪ .‬فمثال إذا كان هناك‬


‫عدة معالم محددة وأردنا إزالة تحديد بعضها بناء على معيار ما فإننا نختار هذا الخيار‪.‬‬

‫يوجد طرق أخرى للتحديد ولكن ماتم ذكره في األعلى يمثل أهم طرق التحديد‪.‬‬

‫فأي طرق التحديد سيتم اختيارها في مثالنا هذا؟ سنختار الخيار ‪،Add_To_Selection‬‬
‫والسبب يعود إلى أننا نريد تحديد محطات الوقود داخل المدارس باإلضافة إلى تلك المحطات‬
‫داخل المستشفيات‪ .‬فاألداة ‪ Select By Location‬ستعمل أوال على المدارس‪ ،‬حيث يتم‬
‫تحديد محطات الوقود التي بداخلها‪ .‬ثم ستعمل االداة على المستشفيات حيث يتم تحديد محطات‬
‫وقود جديدة نريد إضافتها إلى المحطات المحددة مسبقا (التي تم تحديدها داخل المدارس) ‪ .‬لذلك‬
‫نختار ‪.Add_To_Selection‬‬

‫يتم إعداد هذا المعامل بفتح األداة ‪ Select By Location‬وتغيير قيمته إلى‬
‫‪ .Add_To_Selection‬راجع شكل رقم ‪.33‬‬

‫شكل رقم ‪31 :‬‬

‫‪23‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪32 :‬‬

‫شكل رقم ‪33 :‬‬


‫قم بتغيير اسم المتغير الناتج من األداة ‪ Select Layer by Location‬إلى ‪.Selected_Fuels‬‬
‫انظر شكل ‪.32‬‬

‫سابعا‪ :‬الخطوة ‪ D‬ــــ تصدير محطات الوقود المحددة إلى ملف شيب فايل جديد‬

‫في هذه الخطوة‪ ،‬سنقوم بتصدير محطات الوقود الخطرة التي تم تحديدها في الخطوات‬ ‫‪.21‬‬
‫السابقة إلى ملف شيب فايل جديد‪ .‬هذه الخطوة تمثل الخطوة ‪ D‬في الخطوات العامة للمشروع‪.‬‬
‫سنستخدم األداة ‪ Feature Class to Feature Class‬لتنفيذ هذه الخطوة‪ .‬هذه األداة‬
‫تعمل نفس عمل األمر ‪ Export Data‬المتواجد على ‪ Context Menu‬الخاص بالطبقات‬
‫في ‪( ArcMap‬انظر شكل رقم ‪ )34‬مع إمكانيات أكبر‪ .‬فهي تقوم بتصدير اي طبقة معالم إلى‬
‫طبقة معالم أخرى‪ .‬وإذا كان هناك معالم محددة في طبقة المعالم المدخلة فإنه يتم تصدير تلك‬

‫‪24‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

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

‫‪ :Input Features‬هذا المعامل يمثل محطات الوقود الخطرة والتي تم تحديدها مسبقا‪.‬‬
‫محطات الوقود الخطرة ممثلة في الموديل بالمتغير ‪ .Selected_Fuels‬إلعداد هذا المعامل‬

‫‪Feature Class to Feature‬‬ ‫إلى األداة‬ ‫قم بتوصيل المتغير‬


‫‪ .Class‬راجع شكل ‪.31‬‬

‫‪ :Output Location‬هذا المعامل يمثل موقع حفظ الطبقة الجديدة على القرص الصلب‪،‬‬
‫سنختار هنا المجلد ‪ Outputs‬ليكون هو ‪.Output Location‬‬

‫الجديدة‬ ‫الطبقة‬ ‫بتسمية‬ ‫سنقوم‬ ‫‪:Output‬‬ ‫‪Feature‬‬ ‫‪Class‬‬


‫‪ .Dangerous_Fuels.shp‬هذه الطبقة سيتم حفظها تلقائيا في مجلد ‪ Outputs‬كما تم‬
‫تحديد ذلك في المعامل ‪.Output Location‬‬

‫يمكن إعداد هذا المعامل بفتح األداة ‪ Feature Class to Feature Class‬ثم تغيير‬
‫المعامل كما يبين شكل رقم ‪.36‬‬

‫‪25‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪34 :‬‬

‫شكل رقم ‪35 :‬‬

‫‪26‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪36‬‬ ‫شكل رقم ‪:‬‬


‫ثامنا‪ :‬الخطوة ‪ E‬ـــــ تصدير ملف الشيب فايل الخاص بمحطات الوقود الخطرة إلى ملف نصي‬

‫هذه الخطوة تمثل الخطوة ‪ E‬هي الخطوة األخيرة في الخطوات العامة في المشروع‪ .‬فيها‬ ‫‪.22‬‬
‫سنقوم بتصدير ملف الشيب فايل ‪ Dangerous_Fuels.shp‬إلى ملف نصي‪ .‬سنستخدم‬
‫األداة ‪ .Export Feature Attribute to ASCII‬تقوم هذه األداة بتصدير الحقول التي‬
‫تحتوي على البيانات الوصفية للمعالم إلى صيغة نصية تحفظ في ملف نصي بترميز ‪. ASCII‬‬
‫يتم إعداد المعامالت كما يلي‪:‬‬

‫‪ :Input Feature Class‬هذا المعامل يمثل الشيب فايل المراد تحويله إلى ملف نصي‪ .‬في‬
‫مثالنا ‪ ،‬يمثل هذا المعامل ملف ‪ .Dangerous_Fuels.shp‬يمكن إعداد المعامل عن طريق‬
‫توصيل المتغير ‪ Dangerous_Fuels.shp‬باألداة ‪Export Feature Attribute to‬‬
‫‪ .ASCII‬راجع شكل رقم ‪.37‬‬

‫‪ :Value Field‬هذا المعامل يحدد أي الحقول التي يراد تصديرها إلى صيغة نصية‪ .‬فمثال‬
‫سنقوم بتصدير الحقلين ‪ FID‬و ‪ .Name‬يمكن إعداد هذا المعامل بفتح األداة ‪Export‬‬
‫‪ Feature Attribute to ASCII‬وتعليم الحقلين السابقين كما يبين شكل رقم ‪.38‬‬

‫‪ :Output ASCII File‬هذا المعامل يحدد اسم وموقع الملف النصي الناتج من األداة‪ .‬فمثال‬
‫سنقوم بتسمية الملف ‪ Dangerous_Fuels.txt‬وحفظه في مجلد ‪ .Outputs‬راجع شكل‬
‫رقم ‪.31‬‬

‫‪27‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ :Delimiter‬هذا المعامل يمثل نوع الفاصل بين الحقول في الملف النصي‪ .‬فمثال يمكن أن‬
‫يكون نوع الفاصل أحد األنواع التالية‪( Space :‬مسافة مسطرة)‪( Comma ،‬فاصلة)‪،‬‬
‫‪( Semi-Colon‬فاصلة منقوطة)‪ .‬سنختار ‪ .Space‬راجع شكل رقم ‪.31‬‬

‫‪ :Add Fields Name to Output‬هذا المعامل يخير المستخدم مابين إضافة أسماء‬
‫الحقول إلى الملف النصي باإلضافة إلى قيم هذه الحقول أو إضافة قيم الحقول فقط دون أسمائها‪.‬‬
‫سنختار الخيار األول أي تختار القيمة ‪ True‬كما يبين شكل رقم ‪.31‬‬

‫شكل رقم ‪37 :‬‬

‫شكل رقم ‪38 :‬‬

‫‪28‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪39 :‬‬


‫قبل تشغيل الموديل‪ ،‬نريد أن نحدد معامالت الموديل (‪ .)Model Parameters‬فكما أن‬ ‫‪.23‬‬
‫لكل أداة في ‪ ArcToolbox‬معامالت نقوم بإدخالها عند تشغيل األداة‪ ،‬فيمكن أن يكون هناك‬
‫أيضا معامالت للموديل يجب إدخالها عند تشغيله‪ .‬عادة تكون المعامالت هي أحد المتغيرات‬

‫يمكن أن‬ ‫الموجودة في الموديل‪ .‬فمثال متغير طبقة ‪GazaFeatures‬‬


‫يمثل أحد معامالت الموديل‪ .‬ألننا كل مرة يتم فيها تشغيل الموديل ‪ ،‬نريد ان نحدث هذه الطبقة‪.‬‬
‫فربما يتوفر نسخة جديدة من هذه البيانات ونريد نستخدمها في الموديل بدال من البيانات القديمة‪.‬‬
‫أو نريد تشغيل الموديل لمنطقة أخرى مثل محافظة الشمال‪ .‬لذلك نقوم بتحويل المتغير‬
‫‪ GazaFeatures‬إلى معامل للموديل ‪ .Model Parameter‬يتم ذلك كماهو مبين في‬
‫شكل رقم ‪ .4.‬تحويل متغير إلى معامل للموديل يتيح لنا تغيير قيمته عندما يتم تشغيل الموديل‬
‫كأي معامل ألي أداة أخرى‪.‬‬

‫أيضا إذا أردنا أن نعرض أحد مخرجات الموديل تلقائيا في مستند المشروع في ‪،ArcMap‬‬
‫فإنه يجب تحويل المتغير الذي يمثل ذلك المخرج إلى معامل للموديل ( ‪Model‬‬
‫‪ .)Parameter‬فمثال المخرج الرئيسي للموديل هو ملف الشيب فايل المسمى‬

‫في الموديل‪ .‬هذا‬ ‫‪ Dangerous_Fuels.shp‬وهو ممثل بالمتغير‬


‫الملف يمكن عرضه تلقائيا في ‪ ArcMap‬بعد انتهاء تشغيل الموديل إذا (‪ )1‬تم تحويله إلى‬

‫‪29‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫‪ )2( Model Parameter‬إذا تم إعداده لذلك من خالل اختيار األمر ‪Add to Display‬‬
‫كما هو مبين في شكل رقم ‪.41‬‬

‫‪40‬‬ ‫شكل رقم ‪:‬‬

‫‪41‬‬ ‫شكل رقم ‪:‬‬

‫‪30‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫تاسعا ـــــ تشغيل الموديل وعرض النتائج‬

‫حان اآلن وقت تشغيل الموديل‪ .‬قم بتشغيله من خارج الموديل بدبل كليك على الموديل في‬ ‫‪.24‬‬
‫صندوق األدوات سواء من من نافذة ‪ Catalog‬أو من ‪ .ArcToolbox‬انظر شكل رقم ‪.42‬‬
‫الحظ أن المعامل ‪ GazaFeatures‬الذي أعددناه في الخطوة السابقة ظهر على مربع حوار‬
‫الموديل حتى يتيح لك كمستخدم تغيير قيمته متى ماشئت‪ .‬لذلك ال يلزم تغيير قيمة المتغير‬
‫‪ GazaFeatures‬من داخل الموديل‪.‬‬

‫شكل رقم ‪42 :‬‬


‫بعد تشغيل الموديل‪ ،‬يتم إضافة محطات الوقود الخطرة إلى ‪ ArcMap‬تلقائيا كما شرح‬ ‫‪.25‬‬
‫ذلك مسبقا‪ .‬يمكنك تغيير ترميز الطبقة (‪ )Layer Symbology‬بأي رمز حتى تميزها عن‬
‫المعالم األخرى‪ .‬انظر شكل رقم ‪.43‬‬

‫إذا أردنا فحص الملف النصي الناتج فإنه يبدو كما في شكل ‪.44‬‬ ‫‪.26‬‬

‫‪31‬‬
‫تقنين برمجيات نظم المعلومات الجغرافية‬ ‫الجامعة اإلسالمية – غزة‬
‫م‪ .‬محمد الهسي‬ ‫كلية اآلداب‬
‫ماجستير هندسة الجيوماتكس‬ ‫الجغرافيا‪ /‬نظم المعلومات الجغرافية‬

‫شكل رقم ‪43 :‬‬

‫شكل رقم ‪44 :‬‬

‫مع تحياتي‬

‫م‪ .‬محمد الهسي‬

‫ماجستير هندسة الجيوماتكس ـــــ شتوتغارت‬

‫‪32‬‬

You might also like