تازه های GIS – شماره ۲۰

ArcGIS API for Python Core Concepts: Python, APIs, and REST

( معرفی ) مفاهیم اصلی ArcGIS API برای  Python ،API : Python  و REST

به دلیل پیچیدگی و تعداد گزینه‌های نصب و محیط‌های مختلف پایتون ، ArcGIS API برای Python به نظر سخت و طاقت فرسا می‌رسد. همچنین ArcGIS API برای Python محصولات شخص ثالث مانند Anaconda و Jupyter Notebook را که ممکن است برای بسیاری جدید باشد را ادغام می‌کند.

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

در مقابل ، برای انجام همان گردش کاری با استفاده از ArcGIS API برای Python، یک اسکریپت کوتاه دوست داشتنی خواهید داشت زیرا ArcGIS API برای Python درخواست‌های URL را برای شما ایجاد می‌کند. در این مثال، با استفاده از ArcGIS API برای Python می‌توانید تعداد خطوط کد را از 117 به 19 کاهش دهید تا همان کار را انجام دهید.

قبل از شروع استفاده از ArcGIS API برای Python، خوب است که بدانید که ArcGIS API برای Python چیست و برخی از بهترین روش‌ها در استفاده از آن را داشته باشید. در این مقاله به تجزیه و تحلیل مؤلفه‌ها و چگونگی ارتباط آن‌ها با یکدیگر می‌پردازیم، مفاهیم موجود در برنامه ArcGIS API را برای Python توضیح می‌دهد و بهترین شیوه‌های استفاده از آن را ارائه می‌دهد.

تعریف برنامه ArcGIS API برای Python

تعریف « Python API که توسط esri برای مدیریت وب GIS از طریق ArcGIS REST API ایجاد شده است» ممکن است خیلی مفید نباشد زیرا فرض می‌کند که شما از قبل می‌دانید Python ، API ، ArcGIS REST API و Web GIS چیست.

اگرچه فرض می‌کنم شما وب GIS را قبلاً درک کرده‌اید، فقط برای اینکه همه را در همان صفحه به دست آورید، بگذارید توجه داشته باشم که Web GIS مفهومی است که شامل هر سیستم مدیریت داده GIS با استفاده از وب برای به اشتراک گذاری، ویرایش یا مدیریت داده ها است. esri از وب GIS برای ارجاع هر دو ArcGIS آنلاین و ArcGIS Enterprise به ویژه پورتال برای ArcGIS استفاده می کند.

درک نصب پایتون

پایتون یک زبان برنامه‌نویسی متن باز است که esri به همراه بسیاری از شرکت‌های نرم‌افزاری دیگر از آن برای ایجاد ابزارهای پردازش استفاده می‌کند. نصب پایتون با کد اصلی (‏ python.exe و پرونده‌های مرتبط)‏ و مجموعه‌ای از ابزارها و توابع اضافی انجام می‌شود. کاربر می‌تواند مجموعه‌های دیگری را برای گسترش کارکرد اضافه کند. ​

نصب پایتون برای ArcGIS Desktop

نصب پایتون که با ArcGIS Desktop انجام می‌شود، دارای مجموعه ArcPy است که شامل تمام ابزارهای پردازش زمین ArcGIS است. مجموعه‌های رایج دیگر شامل numpy ،urllib و درخواست‌ها هستند. Numpy که توابع ریاضی دارند، معمولاً به طور پیش‌فرض با پایتون نصب می‌شوند، اما کاربر باید urllib و درخواست‌هایی را نصب کند که به شما اجازه می‌دهد درخواست نشانی اینترنتی را از طریق کدنوشته پایتون خود بسازید و ارسا​ل کنید.

​​ArcGIS Desktop با نصب پایتون همراه است اما همه نصب‌های پایتون ArcGIS Python یکسان نیستند. بین توسعه ArcMap و ArcGIS Pro، پایتون با چندین نسخه جدید عرضه شد. یک نصب ArcMap با Python 2.7 همراه است، زیرا مجموعه ArcPy در ArcMap با Python 2.7 کار می‌کند. 

ArcGIS Pro با استفاده از Python 3.5 توسعه یافت و مجموعه ArcGIS Pro ArcPy package نیاز به نصب Python 3.5 دارد. ​به همین نحو، ArcGIS API برای Python تنها می‌تواند بر روی یک سیستم مشتری با استفاده از Python 3.5 نصب شود، و مجموعه پایتون برای ArcGIS API برای پایتون، arcgis نامیده می‌شود. ​

نصب ArcGIS Pro Python 3.5

ArcGIS API برای Python هم یک مجموعه پایتون و هم یک API است. مجموعه‌های پایتون بسته‌های ابزارهایی هستند که می‌توانند در محیط پایتون نصب شوند و این دقیقاً همان چیزی است که ArcGIS API برای Python است. با این حال، ArcGIS API برای Python نیز یک API است.

​ API چیست؟​ ​

API مخفف رابط برنامه‌نویسی کاربردی است. این یک کتابخانه از ابزارها است که به دو برنامه اجازه تعامل با یکدیگر را می‌دهد. مثال آن شامل ArcGIS API برای جاوا اسکریپت و ArcGIS REST API است. ​

تصور کنید که یک همکار دارید که از یک دستگاه فروش خودکار یک نوشیدنی می‌خواهد.​ شما یک برنامه (‏یک همکار تشنه) دارید ‏که تمایل به ​​​​​​​درخواست (‏خرید نوشابه)‏ از یک سرور (‏دستگاه فروش خودکار) ‏دارد. برای انجام این کار، باید واسطی وجود داشته باشد که هم برنامه و هم سرور بتوانند آن را درک کرده و با آن تعامل داشته باشند. در این حالت، صفحه‌کلید به عنوان رابط بین برنامه و سرور عمل می‌کند. ​

​برنامه‌ای که درخواست از یک سرور را انجام می‌دهد

یک مثال واقعی از API ،ArcGIS REST API است. این مجموعه‌ای از ابزارها است که به برنامه‌ها اجازه می‌دهد تا از سایت‌های سرور ArcGIS درخواست کنند. ​همانطور که این نام نشان می‌دهد، ArcGIS REST API شامل ابزارهایی است که به برنامه‌ها اجازه می‌دهد امکان درخواست REST از سایت‌های سرور ArcGIS را فراهم می‌کند. از آن جا که ArcGIS API برای Python با ArcGIS REST API تعامل دارد، اجازه دهید به این مساله بپردازیم که RESTful به معنی یک سایت سرور جدید است. ​

REST چیست؟

یک سبک معماری است که در میان کارکردهای دیگر، یک سایت را به گونه‌ای سازماندهی می‌کند که به مردم اجازه خواندن نشانی‌های اینترنتی را می‌دهد. سایت‌های سرور ArcGIS از سبک معماری REST برای ایجاد سایت‌هایی استفاده می‌کنند که می‌توانند به همان روش شما در میان پوشه‌های کامپیوتر هدایت شوند.

به مثالی از سایت RESTful در شکل نگاه کنید. اگر پوشه انرژی را در فهرست راهنما Service باز کنم، / انرژی درست مانند Windows Explorer به نشانی اینترنتی اضافه می‌شود. در داخل پوشه انرژی، می‌توانم زمین‌شناسی (‏ویژگی سرور)‏ را باز کنم که همانطور که در شکل نشان‌داده شده‌است، به نشانی اینترنتی به عنوان زمین‌شناسی (‏ویژگی سرور)‏ اضافه خواهد شد. اگر بخواهم با یک لایه سرویس خاص کار کنم، مانند لایه خطا، تعداد لایه (‏0)‏ به نشانی اینترنتی اضافه خواهد شد. ​

​هنگامی که نشانی اینترنتی به یک لایه سرویس یا سرویس خاص اشاره می‌کند، عملیاتی که می‌خواهید در آن سرویس یا لایه انجام دهید می‌تواند به انتهای نشانی اینترنتی ضمیمه شود. به عنوان مثال، اگر می‌خواهید یک ویژگی خاص را با شناسه هدف آن از لایه نقص (‏0)‏ سرویس زمین‌شناسی جستجو کنید، می‌توانید آن را اضافه کنید؟ ​عملیات از ArcGIS REST API و هر پارامتر برای عملیات (‏به عنوان مثال، objectIds = 41568). درخواست نشانی اینترنتی اکنون به این شکل است: 

https://sampleserver6.arcgisonline.com/arcgis/rest/services/Energy/Geology/FeatureServer/0/query?objectIds=41568

وقتی درخواست نشانی اینترنتی را ارسال می‌کنید، SampleServer6 با اطلاعاتی در مورد ویژگی 41568 در لایه اول سرویس ویژگی زمین‌شناسی به درخواست پاسخ می‌دهد.

ArcGIS REST API لیستی از تمام عملیاتی است که شما می‌توانید بر روی خدمات در سایت‌های سرور ArcGIS انجام دهید. سپس این عملیات بر روی خدمات با استفاده از معماری REST در درخواست نشانی اینترنتی اعمال می‌شود. ​

ArcGIS API برای Python در مقایسه با ArcGIS REST API

اگر یک API رابط بین دو برنامه کاربردی باشد و ArcGIS REST API رابط بین یک برنامه کاربردی و سایت‌های سرور ArcGIS باشد، ArcGIS API برای Python رابط بین چیست؟ ​

دو راه در این مورد وجود دارد. شما می‌توانید برای پایتون ArcGIS API  به عنوان رابط بین کدنوشته پایتون و ArcGIS REST API ​​​​​​​، سپس ArcGIS REST API رابط بین ArcGIS API برای Python و سایت ArcGIS Server در نظر بگیرید.

ArcGIS API برای Python چیست؟

​​​​​​​اکنون که پایتون، مجموعه‌های پایتون، APIها و ArcGIS REST API را تشریح کرده‌ایم، می‌توانیم این تعریف نهایی را به بیابیم.

ArcGIS API برای Python هم یک API و هم یک مجموعه پیتون است. این ابزار شامل ابزارهایی است که به کدنوشته پایتون کمک می‌کند تا از ArcGIS REST API استفاده کند که به نوبه خود شامل ابزارهایی برای درخواست از خدمات ArcGIS Server است. ArcGIS API برای Python به شما کمک می‌کند تا کدنوشته‌های پایتون را برای مدیریت محتوا و کاربرانتان در Web GIS خود بنویسید.

​​​​​​​​

API پایتون بین کدنوشته‌های پایتون و REST API رابط می‌شود. متناوباً، می‌توانید از ArcGIS API برای Python را به عنوان یک بسته بندی Pythonic در اطراف ArcGIS REST API در نظر بگیرید و هر دو به عنوان رابط بین کدنوشته‌ها و سایت ArcGIS Serve با هم‌کار می‌کنند. ​

ArcGIS API برای Python، ساخت نشانی‌های اینترنتی ArcGIS REST API را در توابع Pythonic پوشش می‌دهد، بنابراین به جای نیاز به ساخت یک نشانی اینترنتی به صورت دستی در یک کدنوشته، می‌توانید از توابع از پیش ساخته‌شده استفاده کنید که نشانی اینترنتی را در قسمت انتهایی ایجاد خواهند کرد.

مشاهده متن کامل انگلیسی از اینجا

خلاصه فارسی از : حمیدرضا ملاشاهی

کد مطلب : 98111201

مشاهده تازه‌های دیگر