آموزش برنامه نویسی GIS با پایتون (2)

کتاب آموزش کاربردی پایتون در GIS ترجمه دکتر سعید جوی زاده و همکاران

برای کسانی که تازه با اسکریپت نویسی پایتون آشنا شده اند، به دنیای جدید خوش آمدید! برنامه نویسی به یک جنبه مهم از مهارت متخصصان GIS در بسیاری از زمینه ها تبدیل شده است. اکثر مشاغل GIS حداقل به تجربه ای در برنامه نویسی نیاز دارند و Python اغلب در بالای لیست قرار دارد. اگر به دنبال شروع مهارت های برنامه نویسی GIS خود هستید، این کتاب برای شما مناسب است.

برنامه نویسی پایتون به شما امکان می دهد وظایف را در ArcGIS خودکار کنید®حرفه ای که با استفاده از رابط منوی معمولی دست و پا گیر خواهد بود. برای مثال، در نظر بگیرید که باید 1000 شکل فایل را به کلاس های ویژگی در یک پایگاه جغرافیایی تبدیل کنید. می‌توانید ابزار مناسب را 1000 بار برای تکمیل کار اجرا کنید، اما مطمئناً باید راه کارآمدتر و قوی‌تری برای انجام آن وجود داشته باشد. اینجاست که اسکریپت نویسی پایتون وارد می شود و برای انجام این کار فقط به تعداد انگشت شماری خط کد نیاز دارید. تقریباً در نیمه راه کتاب، فیلمنامه ای خواهید نوشت که دقیقاً این کار را انجام می دهد.

آموزش برنامه نویسی GIS با پایتون

قبل از پرداختن به مطالب این کتاب، کمی تاریخ لازم است. در سال 2013، اسری®مطبوعات اسکریپت پایتون را برای ArcGIS منتشر کردند. من این کتاب را نوشتم تا به عنوان مقدمه ای آسان برای Python به منظور ایجاد اسکریپت برای ArcGIS Desktop خدمت کند. در آن زمان، ArcGIS Desktop نسخه 10.1 بود و از پایتون نسخه 2 استفاده می کرد. این کتاب به سرعت در بین دانشجویان و متخصصان محبوب شد، اما چندین سال بعد این کتاب دیگر به روز نبود.

ArcGIS Proدر سال 2015 منتشر شد و پایتون را به عنوان زبان برنامه نویسی ترجیحی در پلتفرم ArcGIS معرفی کرد. ArcGIS Pro از نسخه 3 Python استفاده می کند که به طور قابل توجهی با نسخه 2 متفاوت است. با تغییر صنعت از ArcGIS Desktop 10.x به ArcGIS Pro، علاقه به نسخه به روز شده کتاب افزایش یافت. هم تغییرات در ArcGIS و هم تفاوت در نسخه‌های پایتون نیاز به یک کتاب کاملاً جدید – نه فقط یک نسخه دوم از کتاب موجود با به‌روزرسانی‌های جزئی کد داشت.

کتاب حاضر برای ArcGIS Pro 2.5 نوشته شده است که از Python 3.6.9 استفاده می کند. بیشتر کدها در نسخه‌های قبلی ArcGIS Pro کار می‌کنند، به جز آخرین قابلیت‌هایی که اضافه شده‌اند. با اضافه شدن قابلیت های جدید به نسخه های بعدی ArcGIS Pro، کد موجود در این کتاب به کار خود ادامه خواهد داد. با این حال، بسیاری از کدها در ArcGIS Desktop 10.x کار نمی کنند.

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

چرا پایتون؟ به چند دلیل. اول، پایتون رایگان و منبع باز است، به این معنی که می توان آن را آزادانه توزیع و به اشتراک گذاشت. دوم، این یک زبان برنامه نویسی قدرتمند و همه کاره است اگرچه هنوز یادگیری آن نسبتا آسان است. سوم، پایتون زبان ترجیحی برای کار با ArcGIS Pro است که به شدت در عملکرد نرم افزار منعکس شده است.

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

هیچ نسخه مخصوص ArcGIS از زبان پایتون وجود ندارد، بنابراین می‌توانید از هر یک از کتاب‌های عمومی پایتون برای شروع یادگیری نحو پایتون استفاده کنید. با این حال، وظایفی که در ArcGIS Pro با آن‌ها کار می‌کنید، مانند مدیریت کلاس‌های ویژگی، ایجاد اشیاء هندسه، و اجرای ابزارهای پردازش جغرافیایی، با وظایف عمومی‌تر که به عنوان نمونه در سایر کتاب‌های پایتون استفاده می‌شوند، متفاوت است. این فقدان محتوای مکانی، یک کاربر با تجربه ArcGIS Pro را برای برداشتن یک کتاب عمومی پایتون و شروع به نوشتن اسکریپت برای ArcGIS Pro دشوار می کند. دانش آموزان و متخصصان به طور یکسان از این کتاب که پایتون را با تأکید خاصی بر نوشتن اسکریپت برای ArcGIS Pro پوشش می دهد، بهره زیادی خواهند برد.

مخاطبان اصلی این کتاب کاربران با تجربه ArcGIS Pro هستند که می خواهند پایتون یاد بگیرند اما تجربه برنامه نویسی یا اسکریپت نویسی محدودی دارند. کسانی که قبلاً با نوشتن اسکریپت در Python برای ArcGIS Desktop 10.x آشنا هستند ممکن است بخواهند روی محتوایی تمرکز کنند که به طور قابل توجهی با کتاب Python Scripting برای ArcGIS متفاوت است، از جمله فصل 2 در مورد کار با ویرایشگرهای Python و فصل 11 در مورد برنامه نویسی نقشه. چندین فصل نیز در مقایسه با کتاب قبلی گسترش یافته است، از جمله فصل 4 در اصول پایتون، فصل 8 در دستکاری داده های فضایی و جدولی، فصل 9 در مورد کار با هندسه، و فصل 10 در مورد رستر.

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

این کتاب شامل 11 فصل می باشد. چند فصل اول راه اندازی یک ویرایشگر پایتون برای کار با ArcGIS Pro و اصول geoprocessing در ArcGIS Pro و همچنین مبانی زبان Python را پوشش می دهد. بسته به سابقه و تجربه خود، ممکن است قبلاً با برخی از این مطالب آشنا باشید. فصل‌های باقی‌مانده شامل نوشتن اسکریپت‌های پایتون است که با داده‌های مکانی کار می‌کنند. این شامل فصل‌هایی در مورد ابزارهای در حال اجرا در پایتون، توصیف داده‌ها، دستکاری و ایجاد داده‌ها، کار با داده‌های شطرنجی و برنامه‌نویسی نقشه است. تا پایان کتاب، می‌توانید اسکریپت‌های پایتون را برای خودکارسازی وظایف در ArcGIS Pro بنویسید.

اگرچه این کتاب اصول نوشتن اسکریپت‌های پایتون برای کار با ArcGIS Pro را پوشش می‌دهد، مهارت‌های بیشتری برای یادگیری استفاده کامل از مزایای استفاده از پایتون وجود دارد. پس از تکمیل این کتاب، گام منطقی بعدی این است که با کتاب Advanced Python Scripting برای ArcGIS Pro، که توسط Esri Press (2020) نیز منتشر شده است، ادامه دهید. آن کتاب موضوعات پیشرفته تری از جمله ایجاد ابزارهای اسکریپت و جعبه ابزار پایتون را پوشش می دهد. به اشتراک گذاری ابزار با دیگران؛ مدیریت بسته ها با استفاده از conda. استفاده از بسته های شخص ثالث غیر از ArcPy؛ انتقال اسکریپت ها و ابزارها از ArcGIS Desktop 10.x به ArcGIS Pro. و با استفاده از ArcGIS API برای پایتون و نوت بوک Jupyter. این عناوین به طور منطقی از موضوعاتی که در Python Scripting برای ArcGIS Pro پوشش داده شده است، پیروی می کنند.

فصول این کتاب با تمرین هایی همراه است که مفاهیم مطرح شده در فصول را تقویت می کند. این تمرین‌ها و داده‌ها در گروه ArcGIS Online سازمان آموزش، Python Scripting for ArcGIS Pro (Esri Press)، در https://go.esri.com/PythonData قرار دارند. برای اطلاعات عمومی کتاب، بهhttps://go.esri.com/PythonPro. ابتدا باید هر فصل را بخوانید و سپس تمرین همراه را قبل از رفتن به فصل بعدی کامل کنید. بسته به سبک یادگیری و آشنایی با کدنویسی، می‌توانید برخی از کدهای فصل‌ها را در حین خواندن امتحان کنید، اما همچنین می‌توانید ابتدا کل فصل را بخوانید و سپس تمرین را شروع کنید. شما باید فصل ها و تمرین ها را به ترتیب کامل کنید زیرا مفاهیم معرفی شده در هر فصل جدید بر اساس مفاهیم قبلی است. برای تکمیل تمرینات، باید ArcGIS Pro 2.5 یا بالاتر را روی رایانه خود نصب کنید.

این کتاب تکنیک های خودکارسازی وظایف در ArcGIS Pro را به شما آموزش می دهد. شاید در پایان کتاب به یک علاقه‌مند به پایتون تبدیل شوید، یا شاید بتوانید با استفاده از یکی از اسکریپت‌های کتاب، ساعت‌ها از کار خود صرفه‌جویی کنید. در هر صورت، فراتر از مهارت های خاص نوشتن اسکریپت های پایتون برای ArcGIS Pro، منطق اولیه نوشتن کد را خواهید آموخت. این دانش فراتر از کار خاص در دست مفید خواهد بود. امیدوارم که این کتاب به ابهام زدایی از «کد نوشتن» برای کسانی که ممکن است کمی ترسیده باشند کمک کند. و اینکه نشان خواهد داد که نوشتن کد برای یادگیری دشوار نیست. کدنویسی به عنوان رویکردی برای حل مشکلات نه تنها ابزاری قدرتمند است، بلکه در بسیاری از تلاش ها نیز کاربرد دارد. من صمیمانه امیدوارم این کتاب به شما امکان دهد تطبیق پذیری و قدرت کدنویسی پایتون را تجربه کنید.

آموزش برنامه نویسی GIS با پایتون

بدون دیدگاه

دیدگاهتان را بنویسید