برنامه نویسی در ArcGIS با پایتون – راهنمای مبتدیان
به عنوان یک تحلیلگر GIS، می توانید ارزش بازار خود را با یادگیری برنامه نویسی افزایش دهید. گفتن این کار آسان تر از انجام آن است: احتمالات می توانند بسیار زیاد باشند، به خصوص اگر ندانید از کجا شروع کنید. به همین دلیل است که من این راهنما را جمع آوری کردم تا شما را با برنامه نویسی پایتون برای GIS شروع کنید.
برنامه نویسی GIS به نظر من با پایتون شروع می شود، اما مطمئناً به همین جا ختم نمی شود. از منظر مبتدی، توصیه نمیشود که فوراً شروع به یادگیری چندین زبان کنید، اما در عوض، بسته به نیازتان، آسان شروع کنید و بعداً متمایز شوید. پایتون انتخاب خوبی برای شروع یادگیری برنامه نویسی GIS است، زیرا می توان از آن به عنوان یک زبان برنامه نویسی و برنامه نویسی استفاده کرد. در ArcGIS، اسکریپتنویسی پایتون را میتوان برای خودکارسازی وظایف (از طریق اجرای اسکریپتهای پایتون)، و همچنین نوشتن برنامههای کاربردی، مانند افزونهها، استفاده کرد. این راهنما بر روی اسکریپت نویسی پایتون تمرکز دارد زیرا برنامه نویسی پایتون پیچیده تر است و یادگیری آن به زمان بیشتری نیاز دارد – در حال حاضر، ما با یادگیری اسکریپت نویسی پایتون خوب هستیم.
اول: اولین چیزها – یادگیری اصول اولیه
بنابراین، برای شروع، توصیه می کنم اصول پایتون را یاد بگیرید – بعداً به قسمت GIS خواهم رسید. برای اینکه بتوانید از پایتون در یک GIS استفاده کنید، باید در مورد نحو پایتون، انواع دادهها، دستورات، عملکردهای داخلی، حلقهها و موارد مشابه اطلاعاتی کسب کنید. اگر در برنامه نویسی تازه کار هستید، این می تواند در ابتدا کمی طاقت فرسا باشد زیرا پایتون دارای عملکردهای داخلی زیادی است. برای استفاده از آن در GIS نیازی به دانستن زبان از a تا z نیست – با برخی دانش اولیه می توانید خیلی سریع سرعت خود را بالا ببرید و از آن در ArcGIS استفاده کنید. همچنین توصیه میکنم به جای مراجعه به فایلهای راهنمای خارجی، یاد بگیرید که چگونه فایلهای راهنما را در مفسر درخواست کنید و روشها، عملکردها و ماژولهای موجود را فهرست کنید. این به شما امکان کنترل بیشتری بر خود زبان می دهد.
برای مبتدی پایتون، تعداد زیادی آموزش رایگان برای مبتدی پایتون به صورت آنلاین در دسترس است و تقریباً همه آنها موضوعات اساسی یکسانی را پوشش میدهند: رشتهها، توابع، انواع دادهها، نحو – همه موضوعات ضروری که در هر جایی هنگام کار با پایتون استفاده میشوند – رد شوید. تئوری در مورد برنامه نویسی شی گرا، زیرا برای اسکریپت نویسی پایتون نیازی به دانستن آن ندارید (با این حال، زمانی که تصمیم به ایجاد افزونه های پایتون در ArcGIS بگیرید، به آن نیاز خواهید داشت).
در این مرحله، ممکن است به یک نسخه محلی پایتون نیاز داشته باشید که روی رایانه خود نصب شده باشد (از www.python.org )، یا یک IDE آنلاین مانند Python Fiddle را انتخاب کنید که به شما امکان می دهد پایتون را از طریق یک مرورگر وب بنویسید و اجرا کنید. چه گزینه ای را انتخاب کنید، متوجه خواهید شد که نسخه های مختلف پایتون موجود است – به کاربران GIS توصیه می شود پایتون 3 را یاد بگیرند، زیرا این موج آینده است. با این حال، این بدان معنا نیست که پایتون 2 ارزشی ندارد، بلکه برعکس: ArcGIS Desktop برای مثال از Python 2 استفاده می کند و احتمالاً به انجام آن ادامه خواهد داد. برای دریافت ایدهای از تفاوتهای بین هر دو نسخه، عبارت «Python 2 vs 3» یا «تفاوتهای کلیدی بین Python 2 و 3» را در گوگل جستجو کنید و اسنادی را در مورد موضوع مطالعه کنید.
اگر ArcGIS Desktop را روی رایانه خود نصب کرده اید، پایتون به صورت خودکار نصب شده است، بنابراین مجبور نیستید نسخه ای را انتخاب کنید. فقط روی زیر منوی ArcGIS در نوار وظیفه ویندوز کلیک کنید، روی IDLE (GUI Python) کلیک کنید. یک ترمینال پایتون با یک خط فرمان (“>>>”) باز می شود که می توانید بلافاصله شروع به نوشتن کد کنید. کد را با زدن اینتر اجرا کنید و نتایج مستقیم چاپ شده روی صفحه را مشاهده کنید.
دو: تسلط بر اصول اولیه از طریق تمرین
ما هنوز در حال یادگیری اصول اولیه هستیم – و یادگیری پایتون یا هر زبان برنامه نویسی به معنای تمرین زیاد است. با تمرینات آنلاین از Code Academy یا دوره رایگان “Try Python” از Code School تمرین کنید. هنگامی که با اصول اولیه آشنا شدید، وقت آن رسیده است که در مورد نحوه عملکرد برنامه نویسی پایتون و تفاوت های بین نوشتن و اجرای اسکریپت ها و استفاده از یک مفسر تعاملی پایتون تحقیق کنید. از آنجایی که این در بسیاری از دوره های آنلاین پوشش داده نمی شود، ممکن است به جستجوی آنلاین نیاز داشته باشد، اما برای تحلیلگران GIS این دانش ضروری است. همچنین ممکن است بخواهید با نوشتن و اجرای چند اسکریپت خود تمرین کنید – مهم نیست چقدر ساده هستند. همچنین یاد بگیرید که چگونه کد خود را نظر دهید – مهم نیست که کد چقدر ساده است، بعداً وقتی اولین بار آن را نوشتید از انجام این کار سپاسگزار خواهید بود.
توصیه می شود از یک IDE (محیط توسعه یکپارچه) برای نوشتن و اجرای اسکریپت های پایتون استفاده کنید. این چیزی نیست جز یک نرم افزار که به عنوان یک ویرایشگر کد عمل می کند و به شما امکان می دهد کد بنویسید، اجرا کنید، اشکال زدایی و ذخیره کنید. می توانید یک IDE (رایگان) – مانند PythonWin – را بر روی رایانه خود دانلود و نصب کنید و اسکریپت های خود را از آنجا بنویسید، اجرا کنید و اشکال زدایی کنید. IDE ها مکان ترجیحی برای نوشتن کد هستند، زیرا با رنگ آمیزی کد شما به عنوان جداسازی عناصر مختلف، به شما کمک می کنند تا متوجه اشتباهات قبل و بعد از اجرای یک اسکریپت شوید.
در حالی که در حال انجام آن هستیم، ممکن است بخواهید برخی از عملکردهای داخلی پایتون را بررسی کنید، مانند ماژول ریاضی که بخشی از کتابخانه استاندارد است که با نصب پایتون ارائه می شود. کار با اعداد دوباره بخش ضروری GIS و Python است و دانش ریاضی از کالج ممکن است به تازگی نیاز داشته باشد. از آنجایی که پایتون به شما امکان میدهد با هندسههای اشیاء در یک GIS کار کنید، دانستن آنچه در این کتابخانه در دسترس است ممکن است مفید باشد. اسناد Python (هم به صورت آنلاین و هم به صورت محلی در دسترس است، زیرا با نصب همراه است) می توان برای مشاهده آنچه در دسترس است، مشورت کرد. مهارتهای دیگری که بعدا مفید خواهند بود، یادگیری نوشتن دادهها در فایل جدید با پایتون، تنظیم مسیرهای داده منبع به درستی، نحوه صحیح نوشتن دستورات SQL در پایتون، استفاده از بلوکهای «try and استثنا» و یادگیری در مورد پیامهای خطا است.
سه: استفاده از پایتون در ArcGIS
با کمی تمرین پایتون، ممکن است بخواهید ادامه دهید و از آن در ArcGIS استفاده کنید. کاربران ArcGIS (هر دو ArcMap و ArcGIS Pro) ممکن است شروع به استفاده از پنجره Python کنند که راهی عالی برای شروع یادگیری بسته سایت ArcPy است. این مجموعه ای از ماژول ها است که امکان دسترسی به تمام عملکردهای پردازش جغرافیایی و موارد دیگر را فراهم می کند. توجه داشته باشید که ArcGIS Pro از Python 3 استفاده می کند در حالی که ArcMap از نسخه 2 استفاده می کند. پنجره Python دارای یک پنجره راهنمای تعاملی عالی است که به شما کمک می کند تا کد بنویسید، با تعیین پارامترهای یک ابزار، و همچنین تکمیل خودکار کد، که در زمان شما صرفه جویی می کند. این یک راه عالی برای یادگیری ArcPy است و باید اولین شروع شما باشد. هنگامی که از استفاده از ArcPy مطمئن شدید، سعی کنید چند اسکریپت مستقل با استفاده از داده های GIS محلی بنویسید، آنها را اجرا کنید و ببینید چه اتفاقی می افتد.
عقل سلیم بهترین دوست شما در اینجا است: اشتباه املای نام فایل ها و مسیرهای – که ممکن است باعث ایجاد خطا شود، امری عادی است. حتی اگر یک اسکریپت پایتون به درستی توسط IDE برای اشتباهات بررسی شده باشد، ممکن است حاوی خطاهایی باشد، مانند نام فایل ها، مسیرها، دستورات و ابزارهای غلط املایی. استفاده اشتباه از حروف بزرگ نیز یک خطای رایج است و پایتون به این موضوع بسیار حساس است. میتوانید فرآیند اسکریپت خود را با اجازه دادن به آن برای چاپ پیامها کنترل کنید تا ببینید چگونه کارها در حال پیشرفت هستند، مانند «چاپ («پایگاه جغرافیایی جدید به درستی ایجاد شده است»). اگر یک اسکریپت بدون خطا خاتمه می یابد، ArcMap را باز کنید و نتایج ایجاد شده اسکریپت خود را تجسم کنید. اگر خروجی مطابق انتظار نباشد، ممکن است مشکلی در کد شما وجود داشته باشد.
برای آشنایی با ArcPy و اسکریپت نویسی پایتون به طور کلی، آموزش ها و کتاب های آنلاین زیادی در دسترس هستند که به طور دقیق نحوه عملکرد همه چیز را توضیح می دهند. دوباره از اصول اولیه شروع کنید و سپس به موضوعات پیچیده تر بروید. بخش راهنمای ArcGIS خواندن ضروری برای یادگیری ArcPy است، اما ممکن است با اسکریپتهای نمونه مشروح گسترده و کتابهای تمرین همراه با دادههای نمونه برای آزمایش، که توسط متخصصان ایجاد شدهاند، به شما ارائه شود.
اگرچه یک بازار خاص است، اما کتاب های مفید زیادی در مورد برنامه نویسی GIS و Python وجود دارد. چیزی که خوب است بدانید این است که بسیاری از این کتاب ها برای کاربران متوسط و پیشرفته نوشته شده اند، بنابراین مطمئن شوید که مهارت های پایه پایتون خود را می دانید و قبل از شروع با آن ها ArcPy را به خوبی می شناسید. یک مقدمه خوب برای بسته سایت ArcPy کتاب Paul Zandbergen “Python Scripting for ArcGIS” است – اگرچه این کتاب بیشتر یک کتاب مرجع است تا یک کتاب عملی. مطمئن شوید که آن را با یک کتاب عملی، مانند “A Python Primer for ArcGIS”، اولین کتاب در مورد اسکریپت نویسی Python برای ArcGIS، نوشته ناتان جنینگز، ترکیب کنید. این برنامه بر روی اسکریپت نویسی پایتون تمرکز دارد و دارای بسیاری از اسکریپت های با حاشیه نویسی شده و آموزش های گام به گام است که من از آنها بسیار لذت بردم: اگرچه کمی قدیمی است، اما همه اسکریپت ها با نسخه های بعدی ArcGIS به خوبی اجرا می شوند. من این را به عنوان یک کتاب پایتون برای دانشآموز پایتون متوسط ارزیابی میکنم. علاوه بر این، “آموزش GIS برای اسکریپت نویسی پایتون” دیوید آلن جامع ترین نمای کلی را از آنچه با پایتون در ArcGIS ممکن است ارائه می دهد. برای به دست آوردن بیشترین ارزش از این کتاب، یک برگه پاسخ از Esri Press بخواهید زیرا ویرایش کتاب گاهی اوقات مشکل دارد و کد مثال حاوی خطا است (هر چند کد مربی روی دیسک به خوبی کار می کند).
چهار: اسکریپت نویسی پایتون و فراتر از آن
با کمی تجربه پایتون، ممکن است علاقه مند باشید که بدانید در مرحله بعدی کجا بروید. قبل از جستجو در سایر زبانها و/یا فریمورکها، به دنبال تکنیکهایی برای بهبود کد پایتون فعلی خود باشید، برای مثال با استفاده از درک فهرستها در صورت امکان، آن را مجدداً فاکتور کنید. به دنبال ماژول های جدید مکانی باشید که کار کدنویسی شما را آسان تر می کند. کار حرفه ای ها را با یکدیگر مقایسه کنید و از عادات کدنویسی خوب دیگران برای بهبود کار خود استفاده کنید.
مسیر یادگیری که در بالا توضیح داده شد، زمانبر و همچنین تکراری است – متوجه خواهید شد که بین مراحل مختلف به عقب و جلو میروید و هر روز چیز جدیدی یاد میگیرید. اما همچنین سرگرم کننده و پر از شگفتی است. هر چه بیشتر یاد بگیرید و تمرین کنید، آسان تر می شود. نکته خوب این است که پایتون GIS را گسترش می دهد – به بسیاری از کتابخانه های جغرافیایی دیگر فکر کنید یا از زبان “R” با پایتون استفاده کنید.
پس از یادگیری برنامه نویسی و برنامه نویسی پایتون و پایتون با ArcGIS، گزینه های زیادی برای ادامه سفر برنامه نویسی GIS شما وجود دارد. چند گزینه در اینجا فهرست شده است. به عنوان مثال ArcGIS Python API را در نظر بگیرید که امسال توسط Esri منتشر شده است. این API امکان استفاده از پایتون و نقشه ها را در وب فراهم می کند و استفاده از آن را در خارج از GIS دسکتاپ گسترش می دهد. ArcGIS JavaScript API نمونه دیگری از یک زبان برنامه نویسی (در این مورد جاوا اسکریپت) است که امکان تعامل با نقشه ها را از طریق مرورگر فراهم می کند. از آنجایی که فناوری وب در همه جا وجود دارد، یک قدم منطقی بعد از یادگیری پایتون است – با HTML CSS شروع کنید و سپس به جاوا اسکریپت بروید. پس از آشنایی با اصول اولیه، متوجه خواهید شد که جاوا اسکریپت همچنین کتابخانه ها و چارچوب های زیادی را ارائه می دهد که امکان نقشه برداری را فراهم می کند که ارزش یادگیری را دارند.
6 نظرات