کتاب برنامه نویسی آرک آبجکت (ArcObjects)

اگر قصد دارید تا دانش خود را درباره نرم افزار ArcGIS به سطح بالاتر ارتقا دهید، پس نیاز دارید تا نحوه به کار و برنامه نویسی ArcObjects را فرا بگیرید. اما با هزاران نمونه ای که از اشیاء، خصیصه ها (properties)، و متدها وجود دارد، چگونه می توان ArcObjects را به شکلی کارآ یادگرفت؟

کتاب Programming ArcObjects with VBA: A Task-Oriented Approach پاسخ این سوال را به خوبی ارائه می دهد. نویسنده با اتخاذ رویکرد وظیفه گرا به شما نشان می دهد که چگونه از طریق بررسی تنها اشیاء، خصیصه ها، و متدهای موردنیاز برای انجام وظایف خاص می توان به دنیای عظیم ArcObjects پا گذاشت.

چه خبر در ویرایش دوم؟

در این ویرایش ماکروها و توضیحاتی درباره شی Geoprocessing که به نرم افزار ArcGIS 9.x اضافه شده ارائه شده است.به جای ارائه این ویژگی های جدید در فصل های جداگانه، نویسنده کدهای Geoprocessing را به فصل های موجود افزوده است. این کدها در قسمت هایی مجزا از بقیه کدها ارائه شده اند که به شما اجازه می دهد تا به راحتی به مقایسه ماکروهای نوشته شده در کتاب و این کدها بپردازید.

همراه کتاب 95 ماکروی کامل و 33 ماکروی Geoprocessing، همراه با داده های موردنیازبرای اجرای برنامه های نوشته شده درکتاب نیز عرضه شده است. هر برنامه با شرح کوتاهی از نحوه استفاده و یک لیست از ویژگی های کلیدی و متدها آغاز می شود ، و به دنبال آن خود برنامه و توضیحی از کد خود ارائه می گردد.
صرف نظر از تجربه شما در برنامه نویسی، کتاب Programming ArcObjects with VBA: A Task-Oriented Approach ، به شما کلیدی می دهد برای باز کردن قدرت و توانایی های محیط ArcObjects و به شما کمک می کند تا فعالیت های GIS خود را راحت تر مدیریت کنید.

ویژگی های کلیدی کتاب:

  • فراگرفتن مهارتهای عملی برای کاهش کارهای تکراری، ساده و موثرکردن جریان های کاری، و اضافه کردن ویژگی های که در رابط اصلی نرم افزار ArcGIS به راحتی در دسترس نیست
  • ارائه مجموعا 128 ماکروی آماده برای استفاده در محیط VBAبرای انجام طیف گسترده ای از وظایف رایج در ArcGIS
  • کمک به دریافت حس دقیقی از مجموعه عظیم ArcObjects به وسیله توضیح تنها اشیاء مربوط به وظایف خاص
  • ارائه ماکروها در دو یا بیشتر از دو بخش برای درک آسان تر و توضیحات مفصل وجزیی از کد
  • استفاده از نمودارهای گسترده به برای نمایش واضح اشیاء، خصیصه ها و متدها

 

نام کتاب: Programming ArcObjects with VBA: A Task-Oriented Approach

نویسنده: Kang-Tsung Chang

چاپ: 2008

تعداد صفحات: 360

زبان: انگلیسی

رمز: gistech.ir

حجم کتاب: 4.11 مگابایت

حجم کدها: 4.56 مگابایت

دانلود اصل کتاب:

دانلود “Programming ArcObjects with VBA: A Task-Oriented Approach” Programming_ArcObjects_with_VBA.rar – Downloaded 3133 times – 4 MB

دانلود کدها، برنامه ها و داده های کتاب:

دانلود “Programming ArcObjects with VBA: A Task-Oriented Approach_Code” ArcObjects_Programming_v2_Codes.rar – Downloaded 2124 times – 5 MB

 

 

ao fa thumb کتاب برنامه نویسی آرک آبجکت (ArcObjects)

این کتاب توسط مهندس هاشمی با عنوان “آموزش برنامه نویسی ArcObjects در محیط VBA: با رویکرد فعالیت محور” ترجمه و چاپ شده است. (و تا آنجایی که نویسنده این مطلب اطلاع دارد تنها کتاب فارسی موجود در مورد ArcObjects است.) پس کسانی که تمایل دارند می توانند نسخه فارسی آن را تهیه کنند.
نام کتاب: برنامه نویسی ArcObjects در محیط VBA: با رویکرد فعالیت-محور

نویسنده: Kang-Tsung Chang

مترجم: سیدرضا هاشمی

چاپ: 1390

تعداد صفحات: 384

زبان: فارسی

 

نکته: ممکن است این سوال برای شما پیش آید که در ورژن 10 به بعد ArcGIS دیگر محیط VBA زبان اول برنامه نویسی نیست. پس این کتاب به چه درد می خورد؟

در پاسخ باید عرض کنم، که محیط VBA به خاطر سادگی آن و راحت الفهم بودن کدهای نوشته شدن در آن است که در کنار بسیاری از نرم افزارهای مهندسی به عنوان محیط برنامه نویسی ارائه می شود. در مورد ArcGIS نیز هرچند در ورژن های جدید دیگر محیط VBA مورد پشتیبانی قرار نگرفته است اما اصول ArcObjects همچنان ثابت باقی مانده است. شرکت ESRI تنها محیط پیش فرض برنامه نویسی را از VBA به .NET تغییر داده است (به علاوه تغییراتی جزئی در ArcObjects مثل تغییر برخی اشیاء و متدها که این تغییرات را معمولا برنامه نویسان پیشرفته با آن سروکار دارند). پس به سادگی می توان کدهای نوشته شده در کتاب را با تغییراتی اندک (در تبدیل دستورات محیط برنامه نویسی و نه در دستورات ArcObjects) در محیط های جدید به کار برد. علاوه بر این، یکی از زبان های اصلی مجموعه .NET ، VB.NET است که از لحاظ گرامری تفاوت چندانی با VBA ندارد و هنگام تیدبل کدهای VBA به VB.NET مشکل چندانی نخواهید داشت.

با همه این توضیحات، این کتاب فارسی تنها کتاب ترجمه شده موجود است که برای یادگیری ArcObjects می توان استفاده نمود و امید است که نویسنده و مترجم در چاپ های جدیدتر آن را با ورژن های جدید ArcGIS تطبیق دهند.

نکته: یادگیری زبان آرک آبجکت دو تاثیر عمده زیر را دارد:

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 که ساختار کاملتر و با جزییات تفصیلی تر را می داند در کار با ساختارهای ساده تر مشکلی نخواهد داشت.

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

Принцип сео продвижения любого веб-ресурса Перед тем, как мы начнем с Вами разбираться во всех тонкостях поискового продвижения блога и рассматривать его отличительные черты от раскрутки сайта, поговорим кратко о самом сео topodin, А у те, у кого не требовали предоплаты услуг, обнаруживали, что на их имя (копию паспорта они оставляли у потенциального кредитора) были оформлены фирмы однодневки с печально известной репутацией

مطالب مرتبط

23 نظر

  1. امیر امیری

    سلام
    من خیلی وقت پیش قصد فراگیری آرک آبجکت رو داشتم اما با چند نفر که مشورت کردم دلایل زیر را برای منصرف کردن من از این فراگیری مطرح کردند البته به نظر خود من آشنایی زیادی با آرک نداشتند نظر شما در ایم مورد چیه
    ۱- آرک آبجکت خیلی سخته
    ۲- دات نت و آرک آبجکت سرعت پائین دارند
    ۳- ادارات دولتی به دلیل تحریم در اینده نزدیک آرک جی ای اس را کنار خواهند گذاشت
    ۴- خیلی از سازمان های دولتی در حال طراحی یک نرم افزار جی ای اس از پایه با استفاده از زبان های برنامه نویسی سرعت بالا هستند و دیگر نیازی به برنامه نویسی آرک آبجکت نخواهند داشت
    ۵- آمکان از کار افتادن برنامه نوشته شده آرک آبجکت توسط شرکت سازنده این نرم افزار وجود داره
    ۶- آینده بازار کاری مبهم است به دلیل عدم آشنایی و مافیای سامانه اطلاعات مکانی
    نظر شما در این مورد چیه
    و اینکه به نظر شما چه زبانی رو انتخاب کنم وری چه زمینه هایی وقت بذارم و چه منابعی استفاده کنم

    پیشاپیش از لطف شما کمال تشکر رو دارم

    پاسخ
    1. ادمین

      ۱٫ یادگیری هر برنامه نویسی جدیدی سخت است اما در مورد ArcObjects نمیتوان گفت که نسبت به موارد مشابهی که برای برنامه نویسی GIS استفاده می شود سخت تر است، بلکه فقط قدرتمندتر است و این قدرتمندی (که فعلا چیزی مافوق آن وجود ندارد) باعث پیچیدگیهایی در بعضی جاها می شود که طبیعی است. این پیچیدگی ها معمولا در نوشتن برنامه های پیشرفته رخ می دهد و برای برنامه نویس مقدماتی یا متوسط مسئله ای ندارد. به عنوان یک مبتدی نیازی ندارید با این مسائل برخورد داشته باشید.
      این که گفتم “چیزی مافوق قدرت ArcObjects وجود ندارد” نکته مهمی است. چه بسا با یک کامپوننت دیگر شروع به یادگیری تولید برنامه های GIS می کنید، اما پس از مدتی با این حقیقت مواجه میشوید که کامپوننت موردنظر توانایی انجام عملیات و تحلیل های پیشرفته را ندارید و مجبورید به ArcObjects متوسل شوید.
      به مرور کامپوننت های دیگری نیز غیر ArcObjects در وب سایت معرفی خواهند شد.
      ۲٫ حرفی کاملا بی معنی است. این همه برنامه دات نت غیر آرک آبجکت، و این همه برنامه آرک آبجکت نوشته می شود که باطل بودن این حرف را نشان می دهد.
      ۳٫ تا مدتها فکر نمیکنم همچنین اتفاقی بیفتد. با این حال این حرف من را به یاد این نکته انداخت که یادگیری آرک آبجکت تا حدودی به معنای یادگیری تئوری GIS و سهولت در استفاده از بقیه کامپوننت های برنامه نویسی است. توضیح بیشتر در مورد این نکته را بعدا به پست بالا اضافه خواهم کرد.
      ۴٫ تا آنجا که من از فضای GIS خبر دارم از این خبرا نیست. خیلی از سازمان ها هنوز نمی دانند GIS چیست.
      ۵٫ تا زمانی که برنامه برای محیط دستکاپ یا شبکه های داخلی نوشته می شود که چنین چیزی اصلا امکان وقوع ندارد. در محیط وب به شخصه از نرم افزارها و کامپوننت های دیگه استفاده می کنم که دلیل آن بحث مبسوطی می طلبد.
      ۶٫ بازار کار به این وسعت را شما می فرمایید مبهم. مافیا؟!!!
      منبع که در بالا معرفی شد. زبان هم برای شما بهتره از همون VB.NET شروع کنید. اگه توی دانشگاه C یا C++ رو خونده اید و خوب بلدید خب C# برای شما بهتر خواهد بود.

      پاسخ
  2. سمانه

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

    پاسخ
    1. ادمین

      اوه. این همه سوال!!! به هرحال ممنون از نظرتون.
      جزو سیاست های تیم مدیریتی وبسایت این نیست که درباره پروژه های دولتی توی قسمت دیدگاهها بحث و مشاوره بشه اما چون سوال شما چند تا نکته آموزشی داره…
      کدوم نرم افزار؟ کدوم قرارداد؟ برنامه نویسی چه نرم افزاری؟ شما اصلا معلوم کردید که از نرم افزارتون چی میخواید؟ چه امکاناتی داشته باشه؟ والی آخر.
      تصاویر ماهواره ای رو هم بعضی شرکتهای خصوصی ارائه میدن هم میتونید از سازمان نقشه برداری تهیه کنید (یعنی بخرید). باید ببینید چه آنالیز و تحلیلی میخواید انجام بدید که متناسب با اون تصاویر با قدرت تفکیک مناسب رو تهیه کنید.
      نقشه برداری پارسل های شهری هم بستگی به دقت + جامعیت نقشه های موجود و همچنین دقت موردنیاز برای کار شما داره.
      GPS هم همین طور. با GPS میخواید صرفا یه طول و عرض جغرافیایی رو برای هر پارسل ثبت کنید یا قراره برای امور دقیق تر نقشه برداری استفاده بشه؟ بسته به کاربرد دقت موردنیاز برای GPS هم فرق می کنه.
      توی پست های اولیه سایت یه مطلب هست درمورد پیاده سازی سیستم های GIS که فکر میکنم مطلعه اش مفید باشه
      موفق باشید.

      پاسخ
    1. ادمین

      این که یه فولدر خالی میاد به احتمال زیاد مربوط به اینه که رمز رو درست وارد نکردید.
      در این حالت معمولا عبارت Wrong password رو توی ارور مینویسه. رمز همون آدرس سایت هست: gistech.ir با حروف کوچک

      پاسخ
  3. صبا

    ممنون سایت بسیار خوبی دارین
    منم نتونستم کدها رو باز کنم
    با حروف کوچک هم می زنم
    اصل کتاب با همون رمز باز میشه اما کدها نه

    پاسخ
  4. sranjbar

    سلام
    من برای پایان نامم باید یه داشبورد تعاملی تحت وب با ویژگیهای مکانی طراحی کنم. شما گفتید که برای برنامه نویسی تحت وب از نرم افزارها و کامپوننتهای دیگه استفاده میکنید. میشه اونا رو به من معرفی کنید؟ و اینکه آیا بنظر شما یادگیری ArcObject بدردم میخوره؟
    من کلاسی رو میخوام شرکت کنم که Arcobject با C# رو یاد میده. و به من گفتن که اگه java و مباحث Webgis رو یاد بگیرم خیلی راحت میتونم سوییچ کنم به وب!
    من نمیدوم تا چه حدی این درسته و آیا هزینه کردن برای این کلاس اصلا عقلانی هست یا نه؟
    لطفا راهنماییم کنید. اگر جواب رو به آدرس ایمیلم بفرستید ممنون میشم.
    با تشکر

    پاسخ
    1. ادمین

      ظاهرا کتاب جدید ایشان هنوز به بازار نیامده است و شما می توانید از کتاب قبلی ایشان استفاده کنید.
      البته دوره برنامه نویسی ArcGIS در محیط .NET نیز – با تدریس ایشان – برای شهر تهران طراحی شده است که اطلاعیه آن به زودی در سایت قرار خواهد گرفت.

      پاسخ
  5. mary

    سلام. من میخواهم بین پایگاه داده sql و arcmap یک ارتباط برقرار کنم(به صورت local ) یعنی هر وقت تغییری در پایگاه داده رخ داد، هر کلاینت بتونه اون تغییر رو همون لحظه در سیستم خودش ببینه. ارتباط به صورت personal رو میدونم از arccataloge است، ولی این رو هر چی میگردم پیدا نمی کنم.
    ممنون میشم راهنمایی کنید.

    پاسخ
  6. یوسفی

    سلام می خواستم بدونم فیلم های کلاس برنامه نویسی آرک ابجکت را که اقای هاشمی برگزار کردند را ارید که ما بخریم اخه ما نمی تونیم بیایم تهران ؟

    پاسخ

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *