اعلانات انجمن


ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 4
  • 1
  • 2
  • 3
  • 4
  • 5
دوره برنامه نویسی GIS در محیط .NET (برنامه نویسی ArcObjects و ArcEngine)
نویسنده پیام
علوی آفلاین
ناظر انجمن
******

ارسال‌ها: 496
تاریخ عضویت: مرد ۱۳۹۲
اعتبار: 246
ارسال: #1
دوره برنامه نویسی GIS در محیط .NET (برنامه نویسی ArcObjects و ArcEngine)
Arcobjects مجموعه ای از کامپوننت نرم افزاری نوشته شده تحت زبان C++ است که امکان توسعه نرم افزار را برای مجموعه نرم افزار ArcGIS شامل ArcCatalog, ArcMAP و ArcScene فراهم می کند. ArcObjects توسعه دهندگان را قادر می سازد تا از تمامی عملکرد های مجموعه Arc GIS استفاده کرده و نسبت به ایجاد سیستم های GIS رومیزی (Desktop) اقدام کنند.  Arc Objects از تکنولوژیCOM ((Component Object Model مایکروسافت استفاده می کند، در نتیجه می توان از آن در زبان های برنامه نویسی که قابلیت استفاده از کامپوننت های COM را دارند مانند Java, VC++, C#, VB.NET, VB و غیره استفاده کرد. به طور معمول Arc Objects توسط محیط دات نت و برای سفارشی کردن عملکرد آن به کار می رود. در برنامه های کاربردی خاص ، این امکان برای توسعه دهنده وجود دارد که چارچوب نرم افزاری مثلاً ArcMAP را کنار گذاشته و با استفاده از  Map Controlموجود در ArcObjects ،تحت زبان برنامه نویسی خاص خود مثلاً C# ، سیستم GIS را از ابتدا ایجاد کند.
معماری Arc Objects حول چهار مفهوم کلیدی زیر طراحی شده است:
  • ماژولار بودن: ایجاد یک سیستم ماژولار بطوری که وابستگی بین کامپوننت ها تحت یک سیستم انعطاف پذیر به خوبی تعریف شده است.
  • مقیاس پذیری (Scalability) : قابلیت اجرا در تمام محیط ها ، چه محیط های تک کاربره و چه محیط های چند کاربره در Server
  • پشتیبانی انواع سیستم عامل : قابلیت اجرا در اکثر سیستم عامل ها مانند Unix, Linux, Windows
  • سازگاری (Compatibility) : سازگاری با نسخه های قبلی به ویژه، حفظ سازگاری در سطح شی جهت مینیم کردن میزان تغییر در سیستم های توسعه داده شده همگام با پیشرفت Arc Objects
[تصویر:  attachment.php?aid=244]

مجموعه کتابخانه ها موجود در Arc Objects تواناییهای زیر را در توسعه سیستم های GIS مهیا می سازند:
  • مدل اشیاء مکانی (Geometry Objects) یکپارچه مانند نقطه ، خط ،پلی گون و .... همزمان با الحاق سیستم های مرجع به آنها ، چه سیستم های مختصات ژئوتیک و چه سیستم های مختصات تصویر شده.
  • پشتیبانی از انواع امکانات نمایش مانند تعیین سمبل ، رنگ و ...
  • توانایی برقراری ارتباط با ArcGIS Server جهت ایجادیک محیط توزیع شده برای اطلاعات مکانی
  • امکان ایجاد خروجی های گوناگون و انجام تنظیمات کارتوگرافی برای آنها
  • امکان دسترسی به Geodatabase به عنوان محل ذخیره سازی انواع اطلاعات مکانی شامل نقشه های برداری، رستر ، جداول و TIN
  • ایجاد سیستم های GIS تحت وب از طریق ارتباط با Arc IMS
  • استفاده از ماژول های مختلف موجود در ARC GIS جهت انجام آنالیزهای GIS شامل:
  • Network Analyst: آنالیزهای مختلف شبکه شامل کوتاهترین مسیر، تعیین مناطق سرویس و.....
  • 3D Analyst: آنالیزهای سه بعدی شامل ایجاد سطوح، TIN و نمایش آنها، ایجاد منحنی میزان و DEM،.....
  • Spatial Analyst: مجموعه آنالیزهای مکانی،به طور عمده بر روی داده های رستر مانند انترپولاسیون، آنالیزهای هیدرولوژیک، آنالیزهای همسایگی، محاسبه سطوح شیب، جهت شیب و.......
  • Geo Statistical Analyst: آنالیزهای آمار- زمینی مانند Krigging، Variogram، پیدا کردن بهترین مدل و....
  • Tracking Analyst: آنالیزهای زمانمند مانند پیش بینی وضعیت و....
  • امکان ویرایش داده­­­­ها و کار با آنها
  •  ارتباط با پایگاه داده های موجود مانند Oracle, SQL Server از طریق Arc SDE
  • و بسیاری امکانات دیگر در محیط­­­­های سرور، موبایل و ......
گسترۀ وسیع قابلیت های ArcObjects و راحتی کار با آن، آنرا به عنوان پیشرفته ترین و پراستفاده ترین API برای توسعه سیستم های اطلاعات مکانی مطرح کرده است.

چرا برنامه نویسی ArcObjects  ؟
یادگیری زبان آرک آبجکت دو تاثیر عمده را دارد:
1- یادگیری زبان ArcObjects  تا حدود زیادی به معنای یادگیری تئوری و الگوریتم های  GIS  است. توضیح این که، همگان در این مورد اتفاق دارند که (صرفنظر از بحث پایگاه داده های مکانی و بحث WebGIS   ) درحال حاضر ArcGIS قویترین و بهترین پیاده سازی را از الگوریتم های جی.آی.اس فراهم آورده است. این بدین معناست که در غیر از دو حوزه فوق الذکر، در بقیه حوزه ها ArcGIS بهترین پیاده سازی ممکن را از الگوریتم های GIS ارائه کرده است. (چه بسا تئوری هایی که توسعه دهندگان نرم افزاری در عمل برای پیاده سازی آن ها به مشکل برمی خورند و در آخر ترجیح می دهند تئوری را با اعمال تغییراتی در آن یا اصلا انتخاب تئوری ضعیف تر دیگری که قابلیت پیاده سازی بهتری دارد را درون نرم افزار قرار دهند. این یعنی که تئوری و عمل دو مبحث جداست). نتیجتا در حوزه تحلیل ها و آنالیزهای GIS به جرات می توان گفت که ArcGIS بهترین پیاده سازی ممکن را دارد. مطلب ذکرشده را به این حقیقت ضمیمه کنید که آنچه به عنوان “مجموعه نرم افزاری ArcGIS " می بینیم در حقیقت نمونه کامل برنامه نویسی شده ArcObjects است. یعنی اگر میخواستیم کل امکانات ArcObjects را برنامه نویسی کرده و در یک نرم افزار بگنجانیم محصول ما می شد ArcGIS. طبیعتا، حالا کسی که به ArcObjects مسلط است در حقیقت خیلی از تئوری های موجود در جی.آی.اس را (ولو به صورت کلی) یاد گرفته است.
مثلا، بحث شبکه ها را درنظربگیرید. کاربر آرک جی آی اس فقط می داند چگونه با چند کلیک شبکه را ساخته و چگونه آنالیزهای شبکه را انجام دهد. اما برنامه نویس مسلط به ArcObjects می داند که چرا به ازاء هر شبکه دو لایه (لایه گره ها و لایه اتصالات درون شبکه) تشکیل می شود؟ در پس زمینه شبکه واقعا چه چیزی وجود دارد (جدول ها و …) ؟ چرا بعضی از خطاها در هنگام تشکیل شبکه رخ می دهد؟ و الی آخر. و همه این اطلاعات به خاطر کار با کلاس ها، اینترفیس ها و اشیاء درون ArcObjects به دست می آید. همین جا این نکته را متذکر می شوم که این بدین معنا نیست که با برنامه نویسی ArcObjects همه تئوری جی.آی.اس را فرا خواهید گرفت بلکه در واقع آن قسمتی را که کاربرد بیشتری داشته و نیاز بیشتری به دانستن آن وجود دارد یاد خواهید گرفت. به طور مثال، ArcObjects  به شما نمی گوید که چند الگوریتم متفاوت برای مسیریابی وجود دارد بلکه تنها الگوریتم هایی را که خود استفاده می کند به شما می نمایاند.
2- سهولت در استفاده از بقیه کامپوننت های برنامه نویسی: ArcObjects کاملترین کامپوننت (کتابخانه، API یا هر چیز دیگری که اسم آن را می گذارید) برای برنامه نویسی سیستم های GIS در محیط دسکتاپ (desktop) و شبکه های درون سازمانی است. (در مورد اینترنت یعنی حوزه WebGIS  و همچنین حوزه پایگاه داده مکانی Spatial Database با احتیاط بیشتری باید سخن گفت چرا که رقبای قدرتمندی در مقایل ArcObjects وجود دارند) حال، کسی که برنامه نویسی ArcObjects را یاد گرفته است هنگامی که به سوی یادگیری و استفاده از بقیه کامپوننت ها می رود دانش و دید قویتری دارد نسبت به زمانی که هیچ چیز از برنامه نویسی GIS نمی دانست. این بدان علت است که بسیاری از عملکردهای اصلی GIS  در کامپوننت های مختلف به شکل یکسانی در معرض استفاده برنامه نویسان قرار می گیرند.
مثلا، در کار با لایه های برداری برنامه نویس ArcObjects می داند که شیئی به نام FeatureClass وجود دارد که به بخش مکانی لایه (یعنی نقطه ها، خطوط و پلیگون ها) اشاره دارد، شیئی به نام Table وجود دادر که اطلاعات توصیفی لایه (یعنی جدول لایه) را در اختیار قرار می دهد، و شیئی نیز به نام FeatureLayer وجود دارد که بخش نمایشی لایه (یعنی نحوه نمایش لایه با استفاده از سمبل ها و …) را در اختیار قرار می دهدو علاوه براین، این سه شی دارای ارتباط تنگاتنگی با هم هستند. برنامه نویسی که این ساختار در ذهن او شکل گرفته باشد در هنگام کار با بقیه کامپوننت ها نیز انتظار دارد همچنین ساختاری را در تمایز سه بخش مکانی، اطلاعات توصیفی و نمایشی از یکدیگر در آن کامپوننت ببیند. هرچند که ممکن است که بقیه کامپوننت ها پیاده سازی ساده تری از این ساختار داشته باشند (مثلا این ساختار در قالب سه شی مجزا نباشند)، اما برنامه نویس ArcObejcts که ساختار کاملتر و با جزییات تفصیلی تر را می داند در کار با ساختارهای ساده تر مشکلی نخواهد داشت.
[تصویر:  attachment.php?aid=243]

سرفصل دوره برنامه نویسی GIS  در محیط NET.  (برنامه نویسی ArcObjects و ArcEngine)
  • مبانی برنامه نویسی .NET
  • مباني ArcObjects
  • سفارشي کردن رابط کاربري
  • برنامه نویسی: 
    1. مديريت دیتاست ها و لايه ها
    2. مديريت داده توصيفي
    3. نمايش داده
    4. پرس وجوي داده
    5. عمليات هاي
    6. داده برداري
    7. تبديل داده ها
    8. سيستم هاي مختصات
    9. عمليات هاي داده رستر
    10. نمايش و آناليز سطح زمين
    11. درونيابي مکاني
  • نوشتن برنامه های مستقل (Standalone applications) با ArcEngine (از آنجایی که مبنای ArcEngine با ArcObjects از جهت کلاس ها، اینترفیس ها و ... تفاوتی ندارد دانش ArcObjects را می توان به راحتی در یادگیری ArcEngine به کار گرفت)

  •  
    منابع بیشتر برای مطالعه: توجه: اطلاعات بیشتر در مورد دوره های کاربردی GIS (نحوه ثبت نام و ...) را می توانید در صفحه دوره های آموزش برنامه نویسی GIS  و WebGIS  در شهر تهران  مشاهده کنید.
     


    فایل‌(های) پیوست شده بندانگشتی (ها)
           

    دو اصل اساسی انجمن:
    1- احترام به یکدیگر
    2- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب

    برای تقدیر و تشکر از دکمه [تصویر:  postbit_reputation.gif] در پایین هر ارسال استفاده کنید.
    (آخرین ویرایش در این ارسال: ۴-۱۰-۱۳۹۲ ۰۹:۱۳ عصر، توسط علوی.)
    ۴-۱۰-۱۳۹۲ ۰۷:۰۷ عصر
    مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
     اعتبار داده شده توسط : m_zamani(+1)
    seapca2 آفلاین
    کاربر عادی
    *

    ارسال‌ها: 46
    تاریخ عضویت: دي ۱۳۹۲
    اعتبار: 19
    ارسال: #2
    RE: دوره برنامه نویسی GIS در محیط .NET (برنامه نویسی ArcObjects و ArcEngine)
    جناب مهندس با سلام
    احتراما يك توضيح مختصري در خصوص Arc Engineبفرماييد.
    با تشكر بهشادديهيم
    ۱۳-۱۱-۱۳۹۲ ۰۸:۲۹ عصر
    یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
    علوی آفلاین
    ناظر انجمن
    ******

    ارسال‌ها: 496
    تاریخ عضویت: مرد ۱۳۹۲
    اعتبار: 246
    ارسال: #3
    RE: دوره برنامه نویسی GIS در محیط .NET (برنامه نویسی ArcObjects و ArcEngine)
    (۱۳-۱۱-۱۳۹۲ ۰۸:۲۹ عصر)'seapca2' نوشته شده توسط:  جناب مهندس با سلام
    احتراما يك توضيح مختصري در خصوص Arc Engineبفرماييد.
    با تشكر بهشادديهيم

     

    مطلب ذکر شده در این لینک و کامنت های زیر اون رو مطالعه کنید. به اطلاعات خوبی می رسید.
     

    دو اصل اساسی انجمن:
    1- احترام به یکدیگر
    2- درصورت نقل مطلب، ذکر منبع و لینک به اصل مطلب

    برای تقدیر و تشکر از دکمه [تصویر:  postbit_reputation.gif] در پایین هر ارسال استفاده کنید.
    ۱۳-۱۱-۱۳۹۲ ۱۰:۰۱ عصر
    مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
    sepahbod آفلاین
    کاربر عادی
    *

    ارسال‌ها: 1
    تاریخ عضویت: بهم ۱۳۹۲
    اعتبار: 0
    ارسال: #4
    RE: دوره برنامه نویسی GIS در محیط .NET (برنامه نویسی ArcObjects و ArcEngine)
    باسلام
    آیا سی دی های آموزشی در این خصوص به زبان VB.NET 2010 را برای ارسال برای افرادی که در شهرهای دیگر هستند ؟
    ۱۲-۴-۱۳۹۳ ۰۹:۰۵ عصر
    یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
    etaheriamiri69 آفلاین
    کاربر عادی
    *

    ارسال‌ها: 1
    تاریخ عضویت: مهر ۱۳۹۴
    اعتبار: 0
    ارسال: #5
    RE: دوره برنامه نویسی GIS در محیط .NET (برنامه نویسی ArcObjects و ArcEngine)
    باسلام
    دوره جدید این کلاس در چه ماهی برگزار می شود
    با تشکر
    ۱۹-۸-۱۳۹۴ ۰۱:۱۵ عصر
    یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
    ارسال پاسخ 


    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان