آشنایی با کتابخانه های پایتون در GIS

5/5

امروزه زبان برنامه نویسی پایتون مورد استقبال ویژه ای قرار گرفته است. دلایل مختلفی وجود دارد که این زبان نسبت به سایر زبان های برنامه نویسی مورد توجه قرار گیرد.

چرا زبان برنامه نویسی پایتون؟

چرا پایتون بیشتر مورد توجه قرار گرفته؟

به دلایل زیر توجه کنید:

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

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

در پایتون پکیج های آماده زیادی وجود دارند که برای ذخیره سازی، دستکاری، تحلیل و آنالیز، نمایش داده های مکانی و انتشار داده های مکانی (در پلتفرم های مختلف نظیر دسکتاپ GIS، وب GIS، موبایل GIS) مورد استفاده قرار می گیرند.

علاوه بر کتابخانه های مذکور، در GIS نرم افزار های مختلفی برای کار با نقشه ها و داده های مکانی وجود دارند. از جمله نرم افزار ArcGIS و نرم افزار QGIS در حوزه Desktop که برای استفاده حرفه ای تر از این نرم افزار های GIS، می توان از کتابخانه های حرفه ای تر پایتون نظیر ArcPy و یا PyQGIS بهرمند شد.

معرفی کتابخانه های پایتون در GIS

در ادامه به معرفی کتابخانه های پایتون در GIS خواهیم پرداخت و شما را با آن ها آشنا می کنیم. برخی از این کتابخانه های برای نرم افزارهای GIS دسکتاپ و برخی دیگر در GIS تحت وب، مورد استفاده قرار می گیرند.

معرفی Arcpy

Arcpy یک پکیج پایتون برای تحلیل داده های مکانی، تبدیل فرمت و مدیریت داده های مکانی می باشد. این کتابخانه پس از نصب نرم افزار ArcGIS شرکت ESRI در دسترس شما خواهد بود. با استفاده از Arcpy می توانید به تمام توابعی که در نرم افزار ArcGIS قابل استفاده هستند، دسترسی داشته باشید. همان طور که می دانید، نرم افزار ArcGIS از جمله اولین نرم افزارهای جی ای اس می باشد که مورد استفاده کاربران زیادی در دنیا قرار گرفته است. لذا کاربرانی که می خواهند در نرم افزار ArcGIS دستکاری کرده و قابلیت های مورد نظر خودشان را به آن اضافه نمایند می توانند از ArcPy استفاده کنند.

معرفی PyQGIS

نرم افزار QGIS یک نرم افزار GIS دسکتاپ قدرتمند برای پردازش و تجزیه و تحلیل داده های مکانی است. این نرم افزار دارای ابزاری برای برنامه نویسان پایتون است که می توان به کمک آن به تمام توابعی که داخل این نرم افزار استفاده شده است دسترسی داشت. این ابزار PyQGIS نام دارد. برتری این ایزار نسبت به ابزار Arcpy این است که برنامه نویس حتی می تواند توابع را دستکاری کند و الگوریتم آن ها را بهبود دهد. چرا که QGIS یک نرم افزار GIS متن باز است ولی ArcGIS یک نرم افزار تجاری و منبع بسته است.

معرفی GDAL/OGR

این کتابخانه پایتون در GIS یکی از پایه ای ترین ابزارها برای کار با فرمت های رستری و برداری می باشد که توسط بنیاد OSGeo  حمایت و معرفی می شود. سه ماژول مهم در این کتابخانه GDAL،OGR و OSR هستند که به ترتیب برای کار با داده های رستری، برداری و سیستم های مختصات مورد استفاده قرار می گیرند. این کتابخانه به عنوان هسته بسیاری از نرم افزار های GIS استفاده می شود و به عنوان یکی از اساسی ترین کتابخانه های پایتون در GIS شناخته می شود. در زبان پایتون می توان به کتابخانه GDAL دسترسی داشت و از توابع آن استفاده نمود. سایت رسمی GDAL به آدرس https://gdal.org می باشد که شامل مستندات این کتابخانه ارزشمند می شود. ما در آموزش پایتون مکانی برای برنامه نویسی Web GIS، نحوه استفاده از این کتابخانه را آموزش داده ایم.

ماژول Pyproj

این کتابخانه یک سکو برای کتابخانه proj در زبان پایتون است. PyProj شامل سیستم های تصویر و مختصات مختلفی است و برای تبدیل انواع این سیستم ها به یک دیگر مورد استفاده قرار می گیرد. Proj یک کتابخانه بسیار معروف در حوزه مکانی است که بی شک به عنوان جزو جدایی ناپذیر در بسیاری از نرم افزارهای GIS می باشد. در زبان پایتون با استفاده از ماژول Pyproj می توانید از تمامی قابلیت های Proj بهره مند شوید. اگر یک سامانه وب GIS توسعه می دهید و می خواهید در آن از سیستم های مختصات مختلف استفاده نمایید، حتما گذارتان به استفاده از این ماژول می افتد.

کتابخانه Geos

 کتابخانه Geos، برای انجام عملیات روی لایه های برداری دو بعدی است. Geos به عنوان یک درگاه برای کتابخانه JTS ( در زبان برنامه نویسی جاوا)، محسوب می شود. Geos به زبان C++ نوشته شده است اما در پایتون می توان به توابع و اشیای آن دسترسی داشت و از قابلیت های این کتابخانه محبوب پایتون در GIS استفاده نمود.

کتابخانه Geopandas

این کتابخانه برای کار ساده تر با داده های مکانی است. کتابخانه Geopandas، کار با داده های مکانی را راحت تر کرده و اشیای کتابخانه pandas که برای تحلیل داده مورد استفاده قرار می گیرد را توسعه داده است. قابلیت هایی نظیر عملیات های فضایی روی داده های مکانی فراهم می کند. برای دسترسی و خواندن داده های مکانی از Fiona استفاده می کند. همچنین از matplotlib و Descartes برای نمایش بهره مند می شود

معرفی Shapely

یک بسته Python برای تجزیه و تحلیل مجموعه ای و دستکاری عوارض مسطح با استفاده از توابع شناخته شده و موجود در کتابخانه GEOS است. فرض Shapely این است که برنامه نویسان Python بتوانند عملیات هندسی و توابع مکانی (همانند توابع مکانی PostGIS) را در خارج از پایگاه داده مکانی، انجام دهند و چنین توابعی را فراهم کرده است.

کتابخانه Rasterio

همان گونه که از نام آن پیداست، این کتابخانه برای کار با داده های مکانی از نوع Raster، استفاده می شود.
قبل از Rasterio کتابخانه های دیگری نظیر GDAL/OGR برای دسترسی به داده های رستری نظیر داده های سنجش از دور(تصاویر ماهواره ای) استفاده می شدند. کتابخانه GDAL با زبان c نوشته شده است و برای دسترسی به آن در پایتون از binding ها یا اتصال دهنده ها استفاده می شود. اما در کتابخانه Rasterio، همه چیز با پایتون نوشته شده است. این کتابخانه علاوه بر خواندن داده های رستری،  قابلیت نوشتن این فایل ها و همچنین زمین مرجع کردن (Georeference)، شاخص گذاری مکانی و قابلیت هایی نظیر این را هم دارد.
 

معرفی Fiona

Fiona برای نوشتن و خواندن داده های مکانی، مورد استفاده قرار می گیرد. تمرکز Fiona به استفاده از اشیای پایتونی نظیر دیکشنری و Iterator ها به جای اشیای OGR است. Fiona می تواند داده های مکانی را با استفاده از فرمت های GIS چند لایه و سیستم های فایل مجازی فشرده شده بخواند و بنویسد و به راحتی با سایر کتابخانه های پایتون در GIS مانند pyproj ، Rtree و Shapely ادغام کند.

معرفی Pysal

PySAL مخفف Python Spatial Analysis Library است. یک پروژه متن باز است که برای آنالیز داده های مکانی طراحی شده است. Pysal بیشتر بر داده های برداری تاکید دارد.

معرفی Geopy

geopy این امکان را برای توسعه دهندگان Python فراهم می کند که مختصات آدرس ها، شهرها، کشورها و نقاط دیدنی را در سراسر جهان با استفاده از geocoders های شخص ثالث و سایر منابع داده ها پیدا کنند. فرآیند تبدیل آدرس به محل جغرافیایی را ژئوکدینگ (Geocoding) می گویند. همچنین فرآیند تبدیل مختصات جغرافیایی به آدرس را ژئوکدینگ معکوس یا Reverse Geocoding می گویند.

معرفی GeoViews

این کتابخانه، برای نمایش داده های جغرافیایی، هواشناسی و اقیانوس شناسی به کار می رود. این داده ها  از طریق هواشناسی و یا سنجش از دور بدست می آیند. این کتابخانه از matplotlib و bokeh برای نمایش استفاده می کند.

معرفی NetworkX

مسیریابی یکی از مهمترین تحلیل های GIS است و امروزه یکی از ضروریات در ناوبری نیز به شمار می رود که در بیشتر اپلیکیشن های مکان محور، به چشم می خورد. در پایتون برای مسیریابی از کتابخانه ای به اسم NetworkX استفاده می شود. این کتابخانه شامل الگوریتم های مسیر یابی نظیر Dijkstras و A* نیز می باشد که برای پیدا کردن کوتاه ترین مسیر مورد استفاده قرار می گیرد.

بسته Cartopy

Cartopy یک بسته Python است که به منظور تهیه نقشه ها و دیگر تجزیه و تحلیل داده های مکانی مورد استفاده برای پردازش داده های جغرافیایی است. Cartopy از کتابخانه های قدرتمند PROJ.4 ، NumPy و Shapely استفاده می کند. یکی از ویژگی های اصلی این کتابخانه پایتون در GIS، تعریف شی گرا از سیستم های مختصات و تصویر و همچنین تبدیل سیستم مختضات در نقطه، خط و چندضلعی است.

ماژول Scipy.spatial

این ماژول بخشی از کتابخانه scipy است. scipy برای انجام محاسبات علمی استفاده می شود. الگوریتم هایی این کتابخانه در حوزه مکانی هم موجود هستند که در ماژول scipy.spatial قرار دارند. برخی از توابع مکانی شامل موارد زیر هستند:

کتابخانه Rtree

این کتابخانه برای شاخص گذاری مکانی (Spatial Indexing) بر روی داده های مکانی استفاده می شود.

شاخص گذاری یا Indexing

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

کتابخانه PDAL

این کتابخانه برای خواندن و نوشتن و پردازش روی ابرنقاط یا Point cloud است. فرقی ندارد این Point Cloud از چه طریقی ایجاد شده است. از طریق LIDAR، یا حتی از طریق نقشه برداری هوایی با پهپاد، PDAL قابلیت کار بر روی این داده ها را به برنامه نویسان پایتون می دهد. علاوه بر PDAL کتابخانه های دیگری نیز برای کار با Point Cloud  استفاده می شوند. نظیر libLAS، Cloud Compare، Fusion و OrpheoToolbox.
 

چقدر این مطلب مفید بود؟

میانگین امتیاز 3.7 / 5. تعداد آرا: 3

اولین نفری باشید که به این پست امتیاز می دهید.

4 thoughts on “آشنایی با کتابخانه های پایتون در GIS

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

نوشته مرتبط

آموزش پایتون مکانی

یه خبری هست!

نوشته های تخصصی تر

مشاوره برنامه نویسی GIS

اگر برای شروع یادگیری برنامه نویسی GIS جدی هستید و نیاز به راهنمایی دارید، درخواست مشاوره ثبت کنید. ما با شما تماس می گیریم و کمک تان خواهیم کرد.

مشاوره برنامه نویسی GIS
ورود | ثبت نام
شماره موبایل یا پست الکترونیک خود را وارد کنید
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
درخواست بازیابی رمز عبور
لطفاً پست الکترونیک یا موبایل خود را وارد نمایید
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
ایمیل بازیابی ارسال شد!
لطفاً به صندوق الکترونیکی خود مراجعه کرده و بر روی لینک ارسال شده کلیک نمایید.
تغییر رمز عبور
یک رمز عبور برای اکانت خود تنظیم کنید
تغییر رمز با موفقیت انجام شد

دانلود پادکست کسب درامد از GIS

دانلود فیلم چطور برنامه نویس GIS حرفه ای شویم؟