نحوه یادگیری GIS

چون بعضی از دوستان در قسمت نظرات سوالاتی در رابطه با نحوه یادگیری GIS و جنبه های مختلف اون پرسیدند بهتر دیدم این بار عمومی جواب بدم شاید واسه همه مفید باشه.

ببینید دو صورت میشه به GIS نگاه کرد. حالت اول یه جورایی مهندسیه. یعنی آدم نرم افزارها و ابزارها رو یاد میگیره (بماند که خود GIS اصلا ابزاره و نه یه علم) . تو حالت دوم فرد سراغ کاربردهای مختلف GIS در زمینه های مختلف مثل جغرافیا ، برنامه ریزی شهری، زمین شناسی، یا حتی علوم تربیتی و غیره میره . معمولا بچه های جغرافیا رو که من دیدم بیشتر حالت دوم هستند یعنی نرم افزارهای پایه رو بلدند ولی بیشتر روی کاربردهای جی آی اس متمرکزند. توی بقیه رشته ها اگه بحث GIS مطرح میشه منظور کاربرد GIS توی اون رشته هست.

برای حالت اول یا یادگیری نرم افزارها طبعا اولین و مهمترین قدم تسلط بر ArcGIS هست. کتاب خوبه (تی تی دژ یا سنجری یا هر چیز دیگه.) کلاس هم خوبه یعنی آدم راه می افته ولی اون چیزی که آدم رو مسلط می کنه کار کردن خود فرده. جنبه های زیادی از این نرم افزار هست که نه توی کتاب هست و نه معمولا توی کلاس گفته میشه. چون خودم تدریس کردم می گم. اصلا فرصت طرح اونا در کلاس نمیرسه. تسلط بر ArcGIS هم یعنی یه کار مداوم و در طول زمان و در عین حال یعنی تسلط بر جنبه های مختلف رشته GIS به صورت عملی و واقع گرایانه. پس انتظار نداشته باشید یک ساله توی ArcGIS حرفه ای بشید. کار معقولی هم نیست که یک سال تمام وقت فقط روی اون وقت گذاشت بلکه برای کسی که پیوسته کار می کنه تقریبا سه سالی زمان لازم داره. نکته دیکه این که اگه میگم “تسلط” به این معنا نیست که فرد کلیه جوانب ArcGIS رو بلد باشه بلکه جنبه های اساسی. به طور مثال ArcIMS رو خود من زیاد بلد نیستم. لزومی هم به یادگیری اون (در هنگام آشنایی با ArcGIS) نیست.

بعد از کار با نرم افزار قدم بعدی برنامه نویسی هست. در حال حاضر مهمترین فایده برنامه نویسی برای عموم افراد سفارشی سازی محیط نرم افزار و انجام کارهای تکراری بوسیله برنامه است (که البته برای فردی که سیستم های GIS تولید می کنه چیزی فراتر از این حرفاست). در حال حاضر منبع فارسی کتاب آموزش برنامه نویسیArcObjectsهست که یکی از دوستان از روی کتاب ArcObjects: Task-oriented ترجمه کرده و برای محیط VBA هست. کتاب خیلی خوبیه از روی اینترنت نسخه انگلیسیش رو می تونید پیدا کنید. تنها مسئله اش اینه که برای محیط برنامه نویسی VBA هست که دیگه در ArcGIS 10 به بعد استفاده نمیشه، اما هنوز هم میشه از این کتاب استفاده کرد (مثلا برای محیط برنامه نویسی VB.NET با اندکی تغییر در کدهای کتاب). بعد از یادگیری ArcObjects و اصول اون، برای این که یه برنامه نویس حرفه ای بشین و بتونید سیستم های GIS رو برای محیط Desktop و شبکه های محلی بنویسید باید برین سراغArcEngine. اصولا زیاد فرقی با ArcObjects نداره فقط نیاز به دانش خوبی در مورد یکی از زبان های برنامه نویسی داره، مهمترینشون .Net (حالا VB.Net یا #C)

بعد از اون فرآیند یادگیری چند شاخه میشه. یکی WebGIS هست یعنی سیستم های اطلاعات مکانی تحت وب و اینترنت. افرادی که توی این رده کار می کنن معمولا دو دسته اند کسانی که با نرم افزارهای تجاری کار کرده اند و اونا رو خوب بلدند به طور عمده ArcIMS و ArcGIS Server و کسانی مثل من که بیشتر دنبال نرم افزارهای Open Source یا همون متن باز بوده اند. توی این دسته نرم افزارهایی مثل MapServer و MapGuide جای میگیرند. البته من به مرور اطلاعاتی رو درباره این نرم افزارها و WebGIS روی سایت میذارم. در کنار این نرم افزارهای اصلی آشنایی با اصول وب و برنامه نویسی اون مثل HTML، JavaScript و . هم لازمه.

دوم، پایگاه داده های مکانی یا Spatial Database هست. (Geodatabase محصول ESRI هم در حقیقت یه نوع پایگاه داده مکانیه). توی این عرصه نرم افزارهای متفاوتی هستند: Geodatabase (البته به شکل پیشرفته اون و نه در حدی که در هنگام آموزش ArcGIS فرد یاد میگیرهOracle Spatial (در این حوزه نقش خدا رو داره)، PostGIS و توی ایران افراد معمولا یکی از این سه پایگاه داده رو خوب کار می کنند. SQL Server از ورژن ۲۰۰۸ قابلیتهای مکانی خوبی به اون اضافه شده که اگه مسئله کرک و دیگر مسائل اون حل بشه میشه از اون هم در عمل استفاده کرد.

سوم، برخی مباحث پیشرفته GIS مثل LBS (سیستم های موقعیت-مبنا در شبکه موبایل)، برنامه نویسی GIS برای سیستم های موبایل و غیره. در این مورد هم اگه عمری باشه مطالبی روی وبلاگ خواهم گذاشت.

در مورد سه دسته بالا نیاز نیست یه فرد حرفه ای همه اون ها رو بلد باشه بلکه معمولا یک یا دو قسمت رو خیلی خوب بلده. ترتیبی هم توی یادگیری اون ها وجود نداره. ولی معمولا از WebGIS شروع می کنن و در ضمن اون یه پایگاه داده رو هم در حد مورد نیاز یاد میگیرن.

می مونه حال دوم برخورد با GIS یعنی براساس کاربردهای اون. حوزه خیلی وسیعی هست و شاید سخت بشه یه تقسیم بندی منسجم ارائه داد. هر کس بنا به رشته اصلیش ی علاقه اش یه استفاده ای از GIS می کنه. بعضی کتاب های فارسی هم دراین زمینه من دیدم. مثلا یک کتاب برای GIS در زمین شناسی بود یه کتاب دیگه برای کارهای آماری (در حقیقت آمارهای مکان-مبنا) با استفاده از GIS بود. تعداد زیادی هم کتاب انگلیسی در این زمینه هست که روی اینترنت برای دانلود هست. من فقط به بعضی از این کتاب ها رو براساس نیازم مراجعه کردم که اگه فرصتی پیش بیاید مجموعه کتاب های PDF که در این زمینه دارم رو معرفی می کنم.

بعد از گفتن همه این حرفا، یک نکته می مونه و اونم بعضی موارد مرتبط با GIS هست. معمولا فرد در همون مراحل اولیه که ArcGIS یاد میگیره مثل سیستم های مختصات، سیستم GPS (مخصوصا برای کسانی که میخوان در زمینه تلفیق GIS و GPS کار کنن)و این رو فقط برای تاکید گفتم

در پایان، این رو هم بگم که این نظر شخصی منه نسبت GIS . در سنجش از دور یا RS یا دورکاوی یا هر چیز دیگه ای که شما اسمشو بذارید چون حرفه ای نیستم ترجیح می دم نظر ندم. البته به مرور بعضی از نرم افزارهای این رشته رو که بیشتر به درد GIS می خوره توی سایت معرفی خواهم کرد ولی در کل یه دنیای دیگه هست.

خوش باشید

اجرا و پیاده‌سازی موفق یک سیستم GIS

بدیهی است که پیاده سازی سیستم GIS در هر سازمان، دارای پیچیدگیها خاص خود می‌باشد. ولیکن به طور کلی، برای اجرای و پیاده‌سازی موفق یک سیستم GIS ، می‌بایست فعالیتهای زیر انجام شود:

  1. آنالیز نیازمندیها
  2. اجرای یک پروژه نمونه ( Pilot) برای شناخت دقیق تر نیازمندیها و مشکلات موجود
  3. طراحی مفهومی، منطقی و فیزیکی پایگاه داده
  4. تدوین دستورالعملهای تولید نقشه و مشخصات نقشه های مورد نیاز
  5. تولید و جمع آوری اطلاعات نقشه‌ای و توصیفی مورد نیاز
  6. طراحی و پیاده سازی سازمان GIS
  7. تهیه سخت افزار و نرم افزار مورد نیاز و آموزش پرسنل
  8. توسعه پایگاه داده طراحی شده به منظور پوشش کاربردهای خاص تعریف شده برای سیستم
  9. توسعه کاربردها و توابع تجزیه و تحلیل اطلاعات
  10. تدوین استانداردها و فرآیند تبادل اطلاعات
  11. توسعه و تدوین مراحل و نحوه حفاظت و نگهداری از اطلاعات
  12. اجراو پیاده سازی کامل سیستم به صورت یکپارچه، درواحدها و سازمانهای وابسته

مهمترین و اولین گام در اجرای GIS، عبارت از آنالیز نیازمندیهای سیستم می باشد. آنالیز نیازمندیهای سیستم مشخص خواهد که سیستم GIS پس از استقرار توسط چه کاربرانی مورد استفاده قرار می گیرد، چه کاربردهایی می بایست در سیستم GIS پیاده سازی شوند و چه اطلاعات مکانی و توصیفی موردنیاز سیستم به منظور پوشش کاربرد های تعریف شده برای سیستم می باشد. همچنین نتایج این مرحله مشخص خواهد کرد که چه نقاط قوت و یا ضعفی برای ایجاد GIS در سازمان مورد مطالعه، وجود دارد و چه مسیر و چه گامهایی را برای ایجاد GIS در سازمان می بایست پیمود.

پس از انجام مرحله آنالیز نیازمندیها، امکان تعیین نقشه و اطلاعات پایه مورد نیاز، انتخاب نرم افزار و سخت افزار بهینه مورد نیاز، طراحی پایگاه داده تهیه و پیاده سازی توابع کاربردی در محیط نرم افزار، تبدیل و انتقال اطلاعات به محیط نرم افزار GIS و… قابل اجرا خواهد بود.

تعریف دقیق کاربردهای مورد انتظار از سیستم GIS، امکان انجام تجزیه و تحلیلهای دقیق و جامع در خصوص اطلاعات مورد نیاز سیستم، مشخصات سخت افزار و نرم افزار مورد نیاز، مشخصات و معماری شبکه ارتباطی مورد نیاز و … را فراهم می نماید.

بسیاری از ارگانها بدون توجه به نیازهای مطرح در خصوص استفاده و کاربرد GIS در سازمان خود، اقدام به خرید تجهیزات سخت افزاری و نرم افزاری می نمایند. این امر باعث می‌شود تا در نهایت سازمانهای فوق هزینه زیادی را در جهت خرید تجهیزات متقبل شوند، در حالیکه ممکن است تجهیزات تهیه شده، قابل استفاده جهت پوشش کاربردهای در نظر گرفته برای سیستم GIS، نباشند.

مراحل مختلف مورد نیاز جهت پیاده‌سازی یک سیستم اطلاعات جغرافیایی را می‌توان به دو مرحله اصلی آنالیز نیازمندیهای سیستم و اجرا و پیاده‌سازی سیستم، تقسیم بندی نمود.

آنالیز نیازمندیهای سیستم، شامل فعالیتهای زیر می‌گردد :

  • اهداف و وظایف سازمان
  • تجزیه وتحلیل فعالیت های جاری و مسائل و مشکلات موجود
  • کاربردها
  • نقشه ها و اطلاعات پایه مورد نیاز
  • بحث های سازمانی از قبیل نحوه گردش و تبادل اطلاعات، منابع اطلاعاتی موجود و…
  • طراحی مفهومی پایگاه داده
  • نیازمندیهای سخت افزاری و نرم افزاری
  • برآورد هزینه اجرا و پیاده سازی GIS، شامل: توسعه کاربردها، تولید و جمع آوری اطلاعات، هزینه خرید نرم‌افزار و سخت افزار، آموزش، بهنگام رسانی اطلاعات و پشتیبانی و نگهداری سیستم
  • تهیه طرح اجرایی و مشخصات فنی پیاده سازی GIS در یک دوره زمانی مشخص

اجرا و پیاده‌سازی سیستم، شامل فعالیتهای زیر می‌گردد :

  • انتخاب و تهیه نرم افزار و سخت افزار
  • طراحی مفهومی پایگاه داده
  • تهیه استانداردها و دستورالعملهای مورد نیاز
  • تهیه و تولید نقشه و اطلاعات توصیفی مورد نیاز
  • پیاده سازی سازمان GIS و پرسنل آن
  • آموزش کارشناسان و مدیران
  • طراحی پایگاه داده و سیستم
  • توسعه و پیاده سازی کاربردها
  • پشتیبانی اطلاعات، نقشه، سخت افزار و نرم افزار
  • تهیه و تولید استانداردهای متادیتا
  • استقرار و پیاده سازی سیستم در محیط سازمان