چرا پایتون آینده وب GIS است؟دنیای GIS پایتون را به عنوان یک زبان اسکریپت نویسی نسبتا آسان معرفی کرد، اما به مرور زمان همه جا حاضر شد و راه حل هایی را برای بسیاری از کاربران مختلف ارائه کرد. مدیریت داده، نقشه برداری، تجزیه و تحلیل، مدیریت سیستم، شما نام ببرید: امکانات پایتون بی پایان است. در ادامه بخوانید تا دریابید که چگونه می توانید از آن به نفع خود استفاده کنید و شغل خود را به عنوان یک متخصص زمین فضایی بهبود بخشید.
- زبان های برنامه نویسی در GIS اینجا هستند
طی شش ماه گذشته، پذیرش گستردهتری از زبانهای برنامهنویسی در صنعت GIS صورت گرفته است. شخصی در Esri DevSummit آن را کاملاً با گفتن اینکه Esri چندین زبان برنامه نویسی را در یک گردش کاری واحد پذیرفته است، خلاصه کرد. این یعنی چی؟ این بدان معناست که می توانید کار خود را با یک یا چند زبان برنامه نویسی انجام دهید (یا اگر یک رابط کاربری گرافیکی را ترجیح می دهید آن را گسترش دهید). البته، شما مجبور نیستید این کار را انجام دهید. اخیراً ایمیلی از شخصی دریافت کردم که از من در مورد امکان استفاده از Python برای انجام GIS و اینکه آیا واقعاً برای یادگیری آن ضروری است سؤال می کند. پاسخ منفی است: پایتون جایگزین GIS نیست، بلکه یک افزونه است. R و جاوا اسکریپت هم همینطور. با این حال، بسیاری از مشاغل جغرافیایی نیاز به ساخت برنامههای کاربردی و/یا تسلط بر چندین زبان برنامهنویسی دارند.
- پایتون اکنون از دوگانگی اسکریپت نویسی/برنامه نویسی فراتر رفته است
اولین مقاله من در مورد پایتون برای این وبلاگ “برنامه نویسی پایتون: راهنمای مبتدیان” نام داشت. شخصی از من پرسید که آیا استفاده از ابزارهای از پیش پیکربندی شده اعمال شده روی داده های GIS شما را به یک برنامه نویس تبدیل کرده است؟ انصافاً، من اینطور فکر نمی کنم. استفاده از ابزار بافر در arcpy شما را به یک برنامه نویس تبدیل نمی کند، اما اگر از چنین ابزاری در داخل یک اسکریپت برنامه بزرگتر استفاده کنید، به عنوان نوشتن یک برنامه به جای یک اسکریپت واجد شرایط است. و ایجاد برنامه های کاربردی همان چیزی است که برنامه نویسی در مورد آن است. با این حال، با توجه به پایتون به عنوان یک زبان، تمایز بین برنامه نویسی و برنامه نویسی ممکن است همیشه خیلی واضح نباشد.
نکته جالب این است که در شش ماه گذشته، من شروع به استفاده از ابزارهای پایتون کردهام که از GIS دسکتاپ (و در نتیجه دوگانگی اسکریپتنویسی/برنامهنویسی) پیشی گرفتهاند. به خصوص Esri’s Python API همراه با Jupyter Notebook یک ابزار جدید و عالی است که بسیار بیشتر از یک سری ابزارهای GIS از پیش پیکربندی شده است و مقدمه ای عالی برای مفهوم Esri از وب GIS ارائه می دهد، چه ArcGIS Online یا Portal برای ArcGIS. که مرا به نکته بعدی می رساند:
- پایتون برای عملیات سیستم، مدیریت داده ها، تجزیه و تحلیل و تجسم عالی است
منظور من از این موضوع این است که شما می توانید از پایتون همانطور که از Windows File Explorer برای مدیریت داده ها، بارگیری، پردازش و تجسم آن ها به دلخواه استفاده می کنید، استفاده کنید. پس از کار با Jupyter Notebooks که به شما امکان میدهد تمام این عملیات را از طریق مرورگر انجام دهید، از خودم این سوال را پرسیدم که آیا اینها IDEهای جدید برای نوشتن اسکریپتها و برنامهها هستند؟ نوتبوکهای Jupyter قابلیتهای چشمگیری را ارائه میکنند که از IDEها پیشی میگیرد، عمدتاً به این دلیل که کد را با تصاویری مانند نمودارها و در مورد Esri’s Python API، نقشههای دوبعدی و سه بعدی یکپارچه میکنند. آنها برای سازماندهی و آزمایش کد در تکه های کوچک عالی هستند و نتایج را فوراً، به معنای واقعی کلمه در همان صفحه ای که کد را می نویسید، برمی گردانند. این کار با یک IDE امکان پذیر نیست، که کد بازگردانده شده به یک پوسته تبدیل می شود و نمی توان آن را حذف کرد مگر اینکه IDE را مجددا راه اندازی کنید. (که می شود گفت،
- GIS پایتون 3 را پذیرفته است
یکی از تفاوتهای اصلی بین arcpy برای ArcMap و arcpy برای ArcGIS Pro، نسخه Python است که در پسزمینه استفاده میشود. بیشتر بحثها در مورد تفاوتهای این دو، این واقعیت را نادیده میگیرند که پایتون 3 واقعاً طراحی مجدد بخشهای خاصی از زبان است، به همین دلیل است که شماره نسخه متفاوتی دارد و بهعنوان یک ارتقاء بزرگ در نظر گرفته میشود. این توضیح میدهد که چرا یک بسته سایت بهعنوان arcpy برای ArcMap (که از Python 2.7 استفاده میکند) دارای چنین دستورات و ابزارهای خاصی است، در حالی که API جدید Python برای ArcGIS ساختار یافته است و بیشتر شبیه Python خالص خوانده میشود و آن را برای توسعهدهندگان Python که تازه وارد GIS شدهاند در دسترستر است. استفاده کنید و یاد بگیرید این ممکن است به Esri کمک کند تا توسعه دهندگان غیر GIS بیشتری را برای استفاده از پلتفرم و ابزار خود جذب کند.
- GIS آناکوندا را در آغوش گرفته است
بیایید با آن روبرو شویم، کنترل نسخه و مدیریت بسته با پایتون یک چالش است. داشتن برنامهای که این کار را برای شما انجام میدهد، زندگی شما را آسانتر میکند – و این کاری است که Anaconda انجام میدهد. همچنین اپلیکیشن Jupyter Notebook را که قبلا ذکر شد در اختیار شما قرار می دهد. در حالی که در ابتدا به مفید بودن آن مشکوک بودم، اما اکنون آناکوندا را به استفاده از virtualenv هنگام استفاده از پایتون 3 ترجیح می دهم. همچنین اگر پایتون 2.7 را نصب کرده باشید، که با ArcMap همراه است (ترفند این است که آناکوندا را به PythonPath اضافه نکنید، خوب کار می کند. برای مخلوط کردن هر دو محیط در یک ماشین). Esri همچنین متوجه شد که ارائه Arcpy از طریق Anaconda به جای ارسال مستقیم آن با ArcMap یا Pro راحتتر است. در نسخه های نرم افزاری آتی به این موضوع توجه خواهد شد.
- GIS پشته SciPy را پذیرفته است
Esri اکنون پشته SciPy را با هر نصب ArcMap و Pro ارسال میکند تا نیازی به نصب بستهها نداشته باشید. اگرچه بستههای منفرد این پشته برای جامعه علمی طراحی شدهاند، تحلیلگران و نقشهنگاران GIS میتوانند از آنها به نفع خود استفاده کنند، برای مثال با گنجاندن نمودارهای ساده از کتابخانه matplotlib. اگر از پانداها و Numpy با هم استفاده می کنید، چیزی شبیه به آنچه که زبان R ارائه می دهد دارید. باز هم، نوت بوک های Jupyter محیطی عالی برای نوشتن تمام کدها، نظرات، نتایج و نمودارهای شما هستند.
از نظر بازاریابی، جالب است بدانید که Esri شعار «علم کجا» را برای تأکید بر ریشههای علمی آن اتخاذ کرده است. مشارکت با Continuum Analytics (شرکت پشت Anaconda)، ارسال پشته SciPy با ArcGIS و ایجاد پل ArcGIS برای کاربران R، همگی ابتکارات اخیر برای گرد هم آوردن جوامع مختلف از طریق فناوری هستند.
- GeoPython یک رویداد جدید و هیجان انگیز برای توسعه دهندگان پایتون زمین فضایی است
GeoPython یک کنفرانس پایتون اروپایی برای جامعه جغرافیایی است. در اینجا، پروژه های جدید از جامعه منبع باز، و همچنین فروشندگان اختصاصی، به اشتراک گذاشته می شوند. اگر از این رویداد بازدید نکردید، ممکن است به مخزن Github علاقه مند شوید که تمام پروژه هایی را که در آخرین نسخه ارائه شده بود، در اوایل سال جاری در ماه می نشان می دهد.
- منبع باز GIS اختصاصی را گسترش می دهد و بالعکس
این عمدتاً تکرار دو نکته آخر است، اما موارد بیشتری نیز وجود دارد: ابزارهای منبع باز بسیاری وجود دارند که GIS تجاری را گسترش می دهند. بسیاری از این موارد از طریق فهرست بسته PyPI Python توزیع می شوند، اگرچه Github به آرامی جای خود را می گیرد. هنگام جستجوی «GIS»، «Geo» یا «esri» از تعداد نتایج جستجو شگفت زده خواهید شد. یک بسته منبع باز به نام ArcREST مجموعه ای از ابزارهای پایتون را برای کمک به کار با ArcGIS REST API برای سرور ArcGIS (AGS)، ArcGIS Online (AGOL) و ArcGIS WebMap JSON ارائه می دهد. علاوه بر این، اگر از Anaconda به عنوان مدیر بسته استفاده میکنید، میتوانید با استفاده از Anaconda cloud به جستجوی بستهها بپردازید یا بیش از 1000 بسته پیشفرض را که با نصب آن ارائه میشود، مرور کنید.
- پایتون وب GIS را فعال می کند
اگرچه GIS دسکتاپ به این زودی ناپدید نخواهد شد، وب GIS موج آینده است. پایتون یک ابزار عالی برای ایجاد گردش کار با استفاده از Web GIS است که دلیل دیگری برای شروع یادگیری آن است. به جای تکیه بر برنامه های دسکتاپ، می توانید بسیاری از عملکردهای آن را خارج از چنین برنامه ای بازتولید کنید، برای مثال با استفاده از یک نوت بوک Jupyter و با استفاده از API های وب، عملکرد، داده ها و ابزارهای مورد نیاز خود را دریافت کنید، گردش کار خود را ایجاد کنید و آنها را با دیگران به اشتراک بگذارید. . پایتون می تواند به عنوان زبانی استفاده شود که همه اینها را به هم پیوند می دهد و امکانات بی پایان است.
بیشتر بدانید …
8 نظرات