آموزش مقدماتی پایتون برای تعامل با گوگل ارث انجین

2,173 بازدید

اخبار ، مقالات و تحقیقات گروهی را دنبال کنید.

آموزش رایگان نرم افزار ENVI

در ENVI حرفه ای شو 🦾

0 تا 100 مفاهیم سنجش از دور

کاملا رایگان شروع کن 🧩

آموزش رایگان ArcGIS pro

واقعاااااا رایگاااااانه 🤗

آموزش گوگل ارث انجین

شدیدا توصیه شده 🌏

دانلود لندیوز 10 متری ایران و …

به کمک گوگل ارث انجین 🚀

کتاب موتور پردازش مجازی

اولین کتاب آموزش گوگل ارث انجین 📗

طبقه بندی تصاویر ماهواره ای

آشنایی با انواع روش ها 😲

پیش پردازش تصاویر ماهواره ای

هندسی – رادیومتریکی – اتمسفری 🀄

دانلود داده های آلتیمتری

ترازسنجی برای دریاچه ها 🧿

پوشش اراضی 10 متری

تولید شده توسط ESRI 🧐

نمایش سه بعدی در ArcGIS

مدل رقومی ارتفاع 🗻

مطالب پربازدید

آموزش مقدماتی پایتون برای تعامل با گوگل ارث انجین
در این محصول آموزشی به مبانی استفاده از زبان برنامه نویسی پایتون در پردازش تصاویر سنجش از دور پرداخته می­ شود. از این رو، محیط برنامه نویسی Colab انتخاب شده است و در تعاملی با گوگل ارث انجین قرار می­ گیرد. در نتیجه، داده ها و تصاویر از سامانه گوگل ارث انجین فراخوانی و پردازش می­ شوند. پایتون یک زبان…

در این محصول آموزشی به مبانی استفاده از زبان برنامه نویسی پایتون در پردازش تصاویر سنجش از دور پرداخته می­ شود. از این رو، محیط برنامه نویسی Colab انتخاب شده است و در تعاملی با گوگل ارث انجین قرار می­ گیرد. در نتیجه، داده ها و تصاویر از سامانه گوگل ارث انجین فراخوانی و پردازش می­ شوند.

پایتون یک زبان برنامه نویسی با کاربردهای متنوع است که از سال ۱۹۹۱ وجود دارد و می تواند برای نرم افزارها، برنامه ها، توسعه وب، هوش مصنوعی، یادگیری ماشین و موارد دیگر مورد استفاده قرار گیرد. پایتون یک زبان سطح بالا و قابل تفسیر است و این عوامل از جمله دلایل اصلی موفقیت این زبان در به دست آوردن توسعه هستند. یعنی زبان پایتون از نظر انسان قابل خواندن است و دارای فاصله زیادی از کد ماشین سخت افزاری دارد.

در واقع، کل فلسفه طراحی پایتون بر پایه ایجاد یک زبان برنامه نویسی با خوانایی مطلوب انسانی بود. بدین ترتیب، در مقایسه با زبان های دیگر، کد پایتون تأکید بیشتری بر استفاده از فضاهایی خالی و تورفتگی دارد. علاوه بر این، علائم نگارشی مزاحم (مانند نقطه ویرگول ها) را از بین می برد و در عوض دستورالعمل ها را با خط پایان می دهد که در مجموع باعث می شود برنامه نویس های انسانی به راحتی آن را بخوانند و درک کنند. همچنین، برای برنامه نویسی شی گرا نیز می توانید از پایتون استفاده کنید.

سامانه گوگل ارث انجین (Google Earth Engine, GEE) موجب شتاب پیشرفت ها در مطالعات سنجش از دور شده است. این سامانه در اواخر سال ۲۰۱۰ راه اندازی شده است، و امکان دسترسی به ماهواره و سایر محصولات جانبی، محاسبات ابری و الگوریتم های پردازشی متنوعی را فراهم کرده است. گوگل ارث انجین یک بستر مبتنی بر اینترنت است که تصاویر ماهواره ای و داده های برداری ماهواره ای سری زمانی، محاسبات مبتنی بر ابر و دسترسی به نرم افزار و الگوریتم های پردازش چنین داده هایی را ارائه می دهد.

مجموعه داده ها در برگیرنده­ بیش از ۴۰ سال تصاویر ماهواره ای برای کل جهان است. رابط برنامه نویسی به کاربران امکان ایجاد و اجرای الگوریتم ها را می دهد و تجزیه و تحلیل به صورت موازی بر روی سرورهای گوگل انجام می شود. بنابراین روند اجرایی بطور قابل توجهی سریع است. این امر باعث می شود که محاسبات در مقیاس جهانی با سهولت قابل توجهی نسبت به محاسبات بر روی رایانه شخصی انجام شود.

تصاویر را می توان از GEE در قالب GeoTIFF یا TFRecord ذخیره کرد. GEE اجازه می دهد تا تصاویر خام یا پردازش شده، موزاییک های نقشه، جدول­ ها و فیلم ها از Earth Engine به حساب Google Drive کاربر، به Google Cloud Storage یا Asset در GEE ذخیره شوند.


مشخصات محصول

  • مدرس: دکتر محمد کاکوئی
  • تخصص: برنامه نویسی، پردازش تصویر، هوش مصنوعی و سنجش از دور
  • موضوع:  آموزش مقدماتی پایتون در Colab برای تعامل با گوگل ارث انجین
  • نرم افزار: گوگل کولب (Colab) و سامانه گوگل ارث انجین (GEE)
  • فرمت آموزش: ویدئوهای آموزشی MP4
  • طول آموزش: حدودا ۱ ساعت و ۳۰ دقیقه
  • پیش نیاز: دارد- مبانی استفاده از گوگل ارث انجین (GEE)

خرید محصول

به منظور خرید این محصول آموزشی بر روی دکمه زیر کلیک کرده و پس از پرداخت، بلافاصله ویدئوی آموزشی را دانلود نمایید.


توضیحات محصول

در این ویدئوی آموزشی ابتدا نحوه فرخوانی تصاویر و مجموعه تصاویر بررسی می­شود. سپس در نقطه های دلخواه شهری و غیرشهری از ایران، مقدار سری زمانی دمای سطح زمین از ماهواره مادیس نمونه برداری می شوند. این نمونه ها در قالب کتابخانه pandas به محیط colab فراخوانی می ­شوند.

سپس رگرسیون سری زمانی آن ها محاسبه می­ شود. نمایش توزیع پراکندگی و تابع رگرسیون آن ها در شکل زیر نمایش داده شده است (نمونه های شهری به رنگ سیاه و نمونه های سبز به رنگ سبز نمایش داده شده اند)

سپس نحوه نمایش تصاویر گوگل ارث انجین در colab با استفاده از کتابخانه IPython بررسی می­ شود. در شکل زیر تصویر دمای سطح زمین نمایش داده شده است.

همچنین، تصویر DEM در شکل زیر نمایش داده شده است.

این تصاویر برای نمایش سریع مناسب هستند و به عنوان نمونه با فرمت PNG فراخوانی شده اند.

برای ذخیره تصاویر با فرمت GeoTIFF باید از دستور Export استفاده کرد.

همچنین، این امکان فراهم است که بدون Export تصویر به google drive، به صورت مستقیم لینک تصویر GeoTIFF برای دانلود مستقیم از گوگل ارث انجین را تولید کرد.

در نهایت از کتابخانه folium بهره میبریم تا یک نقشه تعاملی با ویژگی های بصری مشابه گوگل ارث انجین در محیط colab ایجاد کنیم.

 


عناوین آموزشی

مهم ترین عناوین آموزشی در این محصول عبارت اند از:

  • برنامه نویسی پایتون در محیط colab
  • ارتباط colab با گوگل ارث انجین
  • فراخوانی داده مادیس و DEM از گوگل ارث انجین
  • نمونه برداری داده ها در geometry مشخص
  • انتقال داده ها از گوگل ارث انجین به colab در قالب داده pandas
  • رگرسیون داده های دمای سطح زمین در محیط شهری و غیر شهری
  • نمایش پراکندگی داده سری زمانی و تابع رگرسیون
  • نمایش تصاویر در کتابخانه IPython با فراخوانی از محیط گوگل ارث انجین
  • تعریف task برای export تصاویر GeoTIFF از گوگل ارث انجین به drive
  • استخراج لینک برای دانلود مستقیم تصاویر GeoTIFF از گوگل ارث انجین
  • ایجاد نقشه تعاملی در محیط colab با استفاده از کتابخانه folium

سرویس ابری Colab

Google Colaboratory (با عنوان Colab) یک سرویس ابری است که بر پایه Jupyter Notebooks برای مقاصد آموزش و تحقیقات یادگیری ماشین بنا شده است. کولب یک بستر کاملاً پیکربندی شده برای یادگیری عمیق و دسترسی رایگان به GPU قوی را فراهم می کند. نتایج نشان می دهد که عملکردی که با استفاده از این سرویس ابری بدست می­آید با عملکرد مشابه در بسترهای آزمایش غیررایگان برابر است. بنابراین، این سرویس می­تواند به طور موثری برای الگوریتم های یادگیری ماشین (عمیق و غیر عمیق) مورد بهره برداری قرار گیرد.


سامانه Google Colaboratory

سامانه Google Colaboratory مبتنی بر فناوری Jupyter Notebooks معرفی شده است. Jupyter ابزاری منبع باز و مبتنی بر مرورگر است که زبانهای تفسیری، کتابخانه ها و ابزارهای تجسمی را با هم ادغام می کند. در نتیجه یک Notebook می تواند به صورت محلی یا روی ابر کار کند. هر Notebook از چندین سلول تشکیل شده است، که هر سلول شامل برنامه­نویسی یا کد علامت گذاری است و خروجی در سند تعبیه شده است. خروجی های معمول شامل متن، جدول، نمودار و تصویر است.


ویدئوی معرفی محصول


خرید محصول

به منظور خرید این محصول آموزشی بر روی دکمه زیر کلیک کرده و پس از پرداخت، بلافاصله ویدئوی آموزشی را دانلود نمایید.


لینک های مفید


نوشته های مرتبط :

آموزش های رایگان پیشنهادی :

37 دیدگاه. ارسال دیدگاه جدید

  • محمدمهدی معیری
    1400-02-25 12:26 ق.ظ

    بازم با جناب دکتر کاکویی کارگاه برگزار کنین لطفا، خیلی باسواده و حیفه ازش استفاده نکنیم

    پاسخ
  • جناب دکتر کاکویی عزیز
    سلام و خداقوت. آموزش بسیار کاربردی و باارزشی تهیه کرده اید.
    آیا برای مقالات منتشر شده خودتون هم از این همین ابزار گوگل کولب (متصل به گوگل انجین) استفاده کرده اید؟ (منظوم مقاله بروز رسانی لندکاور ایران هست. ) تشکر

    پاسخ
    • Mohammad Kakooei
      1400-03-25 12:03 ق.ظ

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

      پاسخ
  • سلام وقت بخیر
    من یکسری پیکسل در محیط انجین انتخاب کردم و پردازش هایی مثل NDVI و EVI انجام دادم و ازشون خروجی اکسل گرفتم ولی نحوه خروجی گرفتن از پیکسل ها که به صورت تصویر باشد را بلد نیستم، شما آموزش هایی در این زمینه دارید؟

    پاسخ
  • با عرض سلام خدمت اساتید محترم
    آیا آموزشی در رابطه با استفاده از GEE در محیط Jupiter Notebook دارید؟
    آیا خود شما تا به حال از محیط Jupiter Notebook برای GEE استفاده کردید؟

    پاسخ
    • Mohammad Kakooei
      1400-08-16 12:55 ق.ظ

      سلام
      در همین آموزش پایتون در colab آموزش داده شده است که خب colab دارای محیط Jupiter Notebook است. منظور شما چیست؟
      موفق باشید

      پاسخ
  • mohammad sadegh
    1400-08-26 6:34 ب.ظ

    سلام اگر بخواهیم از شیپ فایل نقطه ای استفاده کنیم در کولب به چه صورت است ؟

    پاسخ
    • Mohammad Kakooei
      1400-08-26 11:59 ب.ظ

      سلام
      تفاوت چندانی بین استفاده از شیپ فایل نقطه ای و پالیگون نیست. با geemap لود میکنید و برای نمونه برداری میتوانید استفاده کنید.
      هدفتان چه استفاده ای است؟

      پاسخ
      • mohammad sadegh
        1400-08-27 2:26 ب.ظ

        کولب باید تو گوگل درایو ذخیره بشه دیگه برای فراخوانی.
        من یک شیپ فایل نقطه ای دارم که حدود ۶۰۰۰۰ نقطه داره من میخلم از این شیپ فایل استفاده کنم برای این که در هر نقطه سری زمانی بارش رو به صورت جداگانه داشته باشم

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

    پاسخ
    • Mohammad Kakooei
      1401-02-08 3:30 ب.ظ

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

      پاسخ
  • سجاد زیباساز
    1401-03-04 8:01 ب.ظ

    سلام
    ممنون از آموزش خیلی خوبتون
    لطفا میشه راهنمایی کنید و بفرمایید که موقع خروجی گرفتن Excel در GEE چی کار کنم تا ستون های دیتا هر کدام جداگانه بشن؟ مثلا برای بارش خروجی اکسل می گیرم و بازه زمانی و مقدار بارش رو در یک ستون میاره در حالی که باید یه ستون بارش باشه و یه ستون زمان باشه. ولی این طور نیست
    ممنون میشم راهنمایی کنید

    پاسخ
    • Mohammad Kakooei
      1401-03-04 11:56 ب.ظ

      سلام
      فایل خروجی به شکل csv است که اگر تنظیمات اکسل درست باشد، در ستون های مجزا نشان میدهد. برای حل مشکل عبارت «رفع مشکل نمایش فایل csv در اکسل» را گوگل کنید.
      موفق باشید

      پاسخ
  • مطهره عابدینی
    1401-05-01 11:05 ق.ظ

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

    پاسخ
  • لیدا رحمانی
    1401-06-09 4:30 ب.ظ

    با سلام و احترام
    محیط coder گوگل ارث انجین قابلیت کدنویسی با پایتون بصورت مستقیم دارد؟

    پاسخ
    • Mohammad Kakooei
      1401-06-10 12:56 ق.ظ

      سلام
      خیر. در Editor خود GEE فقط میتوانید با جاوا اسکریپت بنویسید. اما میتوان در هر محیط برنامه نویسی پایتون به GEE متصل شد و همان برنامه را در پایتون اجرا کرد.

      پاسخ
  • لیدا رحمانی
    1401-06-13 10:58 ب.ظ

    با سلام
    در آموزش اشاره ای به این موضوع نشده که اگر محدوده مطالعه در گوگل ارث انجین بصورت پلیگونی انتخاب و به عنوان یک متغییر( متغییر ژئومتری) تعریف شده باشد چگونه باید برای دریافت لینک تصویر از همان محدوده، متغییر ژئومتری را دخیل کرد. در آموزش شما نقطه را بواسطه بافر زدن به پلیگون تبدیل کردید و در یک متغییر گذاشتید اما در زمان دریافت لینک تصویر در هیچ بخشی از کد ، متغییر را تعریف نکردید. بنده برای اعمال ژئومتری از دستور .sample() استفاده کردم که خطا میدهد imageCollection این دستور را ندارد.

    پاسخ
    • Mohammad Kakooei
      1401-06-15 11:01 ق.ظ

      سلام
      موضوعی که در رابطه با انواع مختلف geometry مطرح کردید ارتباطی به خطای عنوان شده ندارد. شما با دستور sample میتوانید از image نمونه برداری کنید، نه از imageCollection . برای این منظور، با دستور mosaic ، median یا اپراتور مد نظر، imageCollection را به image تبدیل کنید و با دستور sample از آن نمونه برداری کنید.

      پاسخ
      • لیدا رحمانی
        1401-06-16 7:47 ب.ظ

        سلام مجدد جناب دکتر
        حقیقا من دقیق متوجه فرمایشتون نشدم. از خطایی که دریافت کردم متوجه شدم که دستور sample برای imageCollection نیست اما راه حل را متوجه نشدم. من لازم دارم از محدوده ی مورد مطالعه ام حدود 10 تصویر داشته باشم که بدون فراخوانی کردن بتونم این مجموعه رو در یک متغییر قرار بدم تا تمامی کارهای بعدی روی این متغییر انجام بشه. از نظر محدوده ی زمانی که در اموزشتون فرمودید اما از نظر محدوده مطالعاتی چطور باید پلیگون مورد نظرم رو اعمال کنم؟ تاکید میکنم که سوال بنده در رابطه با زمانی هست که فراخوانی تصویر انجام نمیشود و صرفا لینک تصویر را داریم. در این حالت قطعا باید ژئومتری محدوده مطالعه به صورت یک آرگومان به تابع داده شود. راهنمایی میفرمایید لطفا

        پاسخ
        • Mohammad Kakooei
          1401-06-17 2:26 ب.ظ

          سلام
          اگر سوالتون فیلتر مکانی است، با filterBounds انجام دهید.

          این 10 تصویری که میخواهید روی آن کار کنید تصاویر سری زمانی است و میخواهید یک سری توابع را به همه تصاویر به صورت جداگانه اعمال کنید؟ یا این تصاویر برای پوشش مکانی منطقه است و میتوانید آنها را با median یا mosaic به یک تصویر تبدیل کنید؟
          اگر سری زمانی است، نیاز دارید تابع بنویسید و به مجموعه تصاویر map کنید. برای این کار به آموزش نیاز دارید، مثلا بخش «بررسی سری زمانی گسترش شهرها و محاسبات سری زمانی مساحت شهری» از آموزش https://girs.ir/gee-urban-mapping.
          اگر تصویر را میتوانید به یک تصویر تبدیل کنید، در کدام بخش مشکل داری؟

          اگر جواب سوالتان در موارد بالا نبود، بهتر است به صورت گام به گام کاری که انجام میدهید را توضیح دهید و مشخص کنید در کدام بخش مشکل دارید.

          پاسخ
  • سلام
    من از پلتفرم Google Earth Engine روی api پایتون میخاستم استفاده کنم اما متاسفانه داخل مرحله ی Initialize ارور میده که شما به ارث انجین متصل نیستید با اینکه api شم داخل گوگل کلود فعال کردم به نظرتون راه حلش چیه؟

    پاسخ
  • سلام. برای یک منطقه ی بزرگ مثلا یک استان چطور می تونم تمامی پیکسل هارو استخراج کنم به داخل یک دیتافریم؟
    دستور image.sample برای مناطق بزرگ کار نمی کنه.

    پاسخ
    • Mohammad Kakooei
      1401-10-10 5:14 ب.ظ

      سلام
      مشکل بزرگ بودن منطقه یا دستور image.sample نیست. استخراج تمامی پیکسل ها! کار سنگینی است که قابل انجام نیست. نکات زیر را در نظر بگیرید..
      1- تعداد پیکسل ها را کاهش دهید
      2- به جای نمونه برداری و استفاده مستقیم؛ نمونه ها را Eport کنید و سپس مورد استفاده قرار دهید.
      موفق باشید

      پاسخ
      • سلام آقای کاکوئی
        من می خوام محاسباتی رو روی تک تک پیکس ها انجام بدم. برای مثال برای هر کدام از پیکسل ها سری زمانی رو استخراج کنم و بعد از داخل سری زمانی اون پیکسل، حداکثر مقدار Ndvi رو با مقدار پیکسل در زمان برداشت محصول بر هم تقسیم کنم. مثلا یک همچین محاسباتی بر روی پیکسل ها نیاز به تمامی مقادیر پیکسل در طول سری زمانی داره که استخراج بشن. چطور می تونم به این مقادیر دسترسی داشته باشم. به غیر از استخراج پیکسل ها راهی به ذهنم نمی رسه که اونم بسیار سنگین هست.

        پاسخ
        • Mohammad Kakooei
          1401-10-16 6:07 ب.ظ

          سلام
          چرا میخواهید مقادیر پیکسل ها را استخراج کنید و با داده رستری کار نمیکنید؟

          پاسخ
          • منظور از رستر image collection هست؟ می شه از image collection هم مثل دیتافریم مقادیر حداقل و حداکثر و ایندکس های مورد نیاز رو برای انجام محاسبات استخراج کرد؟ چطور این کار انجام می شه؟

          • Mohammad Kakooei
            1401-10-17 2:05 ب.ظ

            بله، همه این موارد قابل انجام است.
            شما نیاز به آموزش استفاده از gee دارید تا بتوانید از قابلیت های آن استفاده کنید. مثلا آموزش زیر
            https://girs.ir/gee-master-class
            موفق باشید

  • سلام. چطور می شه روش هموارسازی سری زمانی SavatskyGolay رو در محیط کولب بر روی یک Image collection اجرا کرد؟

    پاسخ
    • Mohammad Kakooei
      1401-11-22 2:31 ق.ظ

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

      پاسخ
  • سلام آقای کاکوئی. من یک task مثل شما ایجاد کردم باری خروجی گرفتن. کد ران می شه و ارور نمی ده، اما خروجی در گوگل درایو ذخیره نمی شه. شما می دونید دلیلش چی هست؟

    پاسخ
    • Mohammad Kakooei
      1402-02-27 8:43 ب.ظ

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

      پاسخ
  • سلام
    من وقتی می خواستم با ارث انجین ارتباط بگیرم اون کدی که شما کپی کردین را نمی آره و مستقیما وارد ارث انجی میشه!!

    پاسخ
  • سلام و وقت بخیر، تا ۱ ماه قبل من در اتصال گوگل ارث انجین به پایتون مشکلی نداشتم اما الان بعد ار مرحله initialized با ارور ۴۰۳,accses denied رو به رو میشم هم با محیط کولب هم jupyter، از تحریم شکن انواع فیلترشکن هم استفاده کردم، میخواستم بدونم امکانش هست راهنمایی بغرمایید؟

    پاسخ
    • Mohammad Kakooei
      1402-10-07 3:16 ب.ظ

      سلام،
      من ایران نیستم و واقعا‌ نمیدونم مشکل چیه و امکان بررسی مشکل رو ندارم و طبیعتا راهی هم براش ندارم!
      موفق باشید

      پاسخ

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

keyboard_arrow_up