برمجة نظم المعلومات الجغرافية (GIS Development)

المشرف العام

Administrator
طاقم الإدارة

برمجة نظم المعلومات الجغرافية
(GIS Development)
بقلم آسر عادل عبد المنعم على سويلم


ArcGIS[1].gif

مقدمة:

هناك الكثير و الكثير من الناس و مستخدمى نظم المعلومات الجغرافية الذين
لا يعروفون شيئاً عن برمجة الGIS او ما يسمى بال GIS Programming او GIS
Development و بالطبع انا كنت من هؤلاء, و لذلك سأحاول بقدر المستطاع شرح
و توضيح ماهى برمجة و تطوير نظم المعلومات الجغرافية و خاصة البرمجة
الخاصة بمنتجاتESRI و نبدأ بسم الله.

تعريف بى :
الأسم : آسر عادل عبد المنعم على سويلم
البلد : القاهرة , مصر
السن : 22 سنة
الوظيفة : طالب بالسنة الرابعة بكلية الاداب جامعة عين شمس قسم الجغرافيا شعبة نظم المعلومات الجغرافية.
حاصل على شهادتين من شركة Microsoft و هم

MCTS (Microsoft Certified Technology Specialist) Web Applications

و MCTS (Microsoft Certified Technology Specialist) Windows Applications

و هذة الشهادات فى تخصص البرمجة بأستخدام Visual Studio 2005 .NET Framework 2.0 بلغة ال C#

درست كورس فى شركة ESRI NEA و يختص بتعريف برمجة الArcGIS و اسم الكورس
Introduction to programming ArcObjects Using Microsoft .NET Framework

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

أولاً ما هى برمجة نظم المعلومات الجغرافية؟

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

ثانياً لماذا برمجة نظم المعلومات الجغرافية؟

- لعمل أدوات و Tools جديدة غير موجودة داخل برامج الGIS مثل ArcGIS Desktop .

- و لعمل برامج مستقلة بذاتها StandAlone Applications تستخدم اى أدوات من
أدوات برنامج الGIS حيث فى بعض الأحيان تكون هناك شركة او مؤسسة تريد
العمل على نوع واحد من الادوات او التحليلات التى تتيحها برامج الGIS مثل
أدخال البيانات المكانية مثلاً (Spatial Data Entry) فمثلاُ وزارة الأحصاء
المسؤولة عن أحصاء و تعداد السكان داخل الدولة تريد برنامج يتيح عرض خريطة
موقع عليها العمارات السكنية و يقوم العاملين بأختيار العمارة او الوحدة
السكنية و يقوم بأدخال عدد السكان بها و أعمارهم و عدد الأسر و عدد
الأدوار ما الى ذلك من بيانات, اول شئ خطر على بالكم الأن صورة ذهنية
لبرنامج ArcGIS Desktop و أختيار ال Feature الذى يمثل الوحدة السكنية و
فتح ال Attribute الخاص بها و أدخال البيانات المطلوبة. و لكن برنامج مثل
ArcGIS Desktop برنامج قوى و كبير و غالــــــــــــــــى و يحتاج لحاسوب
عالى القدرة و عالى الذاكرة و يحتاج الى تصريح و يحتوى على مئات من
الادوات و أساليب التحليل المختلفة التى ليس لنا حاجة بها لهذا الغرض, و
بجوار كل ذلك يحتاج هذا البرنامج الى متخصص يستطيع العمل علية و متخصص نظم
معلومات جغرافية. و من هنا تاتى وظيفة برمجة الGIS حيث تذهب هذة المؤسسة
او الوزارة او اياً كان الى الشركات المتخصصة فى نظم المعلومات الجغرافية
و تعرفهم بالقدرات التى يريدونها و من ثم يبدأ عمل المبرمجيين GIS
Developers فى تصميم برنامج بسيط و صغير و رخيص السعر و لا يحتاج الى حاسب
عالى القدرة ولا عالى الذاكرة و لا يحتاج الى متخصصين فى الGIS و يقوم هذا
البرنامج بأداة الوظيفة المرادة فقط ليس الا و التى هى فى مثالنا أدخال
بيانات خاصة بالوحدات السكنية فقط.

- و نفس الشئ بنسبة لبرمجة
صفحات الانترنت الخاصة بأعمال الGIS (GIS Web Applications) او (Web
Mapping Applications) و لكن كل الفرق ان عملية أدخال البيانات ستكون على
الانترنت و مثلاً يمكن القول ان نفس الوزارة الخاصة بأحصاء السكان تريد ان
يعمل موظفيها على نفس عملية ادخال البيانات و لكن فى كل محافظة على حدة و
من ثم يتم عمل صفحة انترنت بها هذة القدرة على أدخال البينات متاحة لكل
فروع الوزارة بجميع المحافظات و من ثم تجميع كل تلك البيانات المدخلة على
قاعدة بيانات واحدة بواسطة الأنترنت.

أرجو ان تكون وضحت الصورة من الغرض من أستخدام البرمجة فى ال GIS و اتمنى مع الشرح التالى أن تضح الصورة أكثر و أكثر إن شاء الله.

ماذا يحتاج مبرمج نظم المعلومات الجغرافية GIS Developer ؟

- اولا دراية قوية بالبرمجة.
- دراية قوية بنظم المعلومات الجغرافية و هذا ما اتوقع انه هو الغالب فى هذا المنتدى.
- دراية بالقدرة على الربط بين البرمجة و نظم المعلومات الجغرافية.

و سوف أذكر كل واحدة منهم و البرامج المستخدمة فيهم و سأخص بالذكر برامج منتجات شركة ESRI و Microsoft .

أولاً الدراية بالبرمجة :

إن مبرمج نظم المعلومات الجغرافية لابد ان يكون مبرمج بما فى الكلمة من
معنى و لغات البرمجة متعددة و يمكن أستخدامها كلها فى برمجة نظم المعلومات
الجغرافية و سوف اتكلم فى هذة النقطة على البرمجة وحدها و لغاتها و
برامجها لذلك اذا كنت مبرمج و عندك دراية قوية بالبرمجة فانتقل الى النقطة
الثانية .
اما لغات البرمجة فمنها
Visual Basic
C#
Java
C++
ASP.NET

و هذة اللغات هم الأكثر شيوعاً فى عالم البرمجة و الاكثر دعماً من منتجات ESRI

و لمن يريد تعلم لغات البرمجة انصحة بالبدأ ب Visual Basic 6.0 حيث انها
الأسهل و بعد ذلكVisual Basic .NET و اذا كان البعض لا يعرف ما الفرق
بينهما فسأقول ان ال.NET عبارة عن تحديث او نسخة جديدة للغة بها ادوات
اكثر و قدرات اكثر و ما الى ذلك و بعد ذلك يمكنك تعلم لغة الC# .NET حيث
انها أصعب من ال Visual Basic فى كتابة و فهم الاكواد و بعد ذلك يمكنك
تعلم ال Java حيث انها قريبة جداً من لغة ال C# و بعد ذلك يمكنك تعلم ال
C++ حيث أنها الأصعب و من وجهه نظرى المتواضعة هى اللغة الام للغات السابق
ذكرها اما ال ASP.NET فهى خاصة ببرمجة صفحات الانترنت. و يختلف هذا
الترتيب و تعلم تلك اللغات من شخص لأخر كل شخص حسب رغباتة و لكن كلما كان
معرفتك لالغات المتعددة أكثر كلما كانت قدراتك أكثر فى البرمجة بلغات أكثر
مما يجعلك أفضل ممن يعرف لغة واحدة فقط.

كيف تتعلم هذة اللغات
اولاً حاول الحصول على برنامج Visual Studio 6.0 و هذا البرنامج يتيح لك
كتابة الأكواد و عمل برامج بلغة Visual Basic 6.0 و حاول الحصول على كتب
بالغة العربية او الانجليزية و يكون افضل و ما أكثر هذة الكتب على
الانترنت لتعليم اللغة و ابدأ بالتعلم و التطبيق.

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

http://www.boosla.com/default.php

بعد ان تتقدم فى التعلم حاول الحصول على برنامج Visual Studio .NET 2005 و
الذى يتيح لك كتابة الاكواد و عمل برامج Desktop و Web بلغة الVisual
Basic .NET و C#.NET و C++ و حاول الحصول على كتاب لتعليم ال Visual
Basic.Net و ابدأ فى التعلم و بعد ان تكون تعلمت و تقدمت فى الVisual
Basic .NET أبدأ فى تعلم اللغات الأخرى و بالطبع و لن أكون مخادعاً ستصل
الى حد معين و تتوقف معرفتك بالبرمجة و قدرتك على تعمل المزيد فى البرمجة
و هنا ليس امامك الا طريقين واحد منهم سهل و يحتاج مال و أخر صعب و يحتاج
وقت و مجهود جبار و الطريق السهل بالمال و هو الحصول على كورسات متقدمة فى
البرمجة و انصح بالكورسات الخاصة بشركة Microsoft اما الطريق الصعب فهو ان
تبدأ فى تعليم نفسك بنفسك و البحث و التعلم و ان تكون طموحك فى البحث و
تعلم الجديد و التعلم من الاخطاء ليس لها حدود.

بالنسبة للغة
الASP.NET فهى حالة خاصة حيث انها ليست لغة فى حد ذاتها و انما لغة مساعدة
للغات الاخرى لعمل صفحات الويب او صفحات الانترنت و هى تعمل على الربط بين
الاكواد المكتوبة باللغات الاخرى و الاكواد التى تفهمها صفحات الانترنت.

و طبعاً لا أريد ان أزيد فى التحدث عن البرمجة حيث انها مجال واسع و كبير
و الكلام عنها يطول و لكنى حاولت ان اوضح كيفية البدأ فيها ليس الا و الله
الموفق.



_________________
منقول

 

fathy3

Member
شكرا ولكن عندى سؤال كم يتكلف هذا الكورس فى ازرى
Introduction to programming ArcObjects Using Microsoft .NET Framework
 
أعلى