فیلم مستر کلاس محاسبه شاخص خشکسالی SPI با استفاده از داده های بارش در گوگل ارث انجین منتشر شد.
در این مستر کلاس تکنیک ها و روش های کار با داده های بارش برای محاسبه شاخص SPI در مقیاس های زمانی روزانه، هفتگی و ماهیانه در بازه های زمانی بلند مدت تدریس شده است که در مطالعات خشکسالی بصورت گسترده استفاده می شود.
قسمتی از ویدئوی آموزش
توضیحات
این آموزش از سه بخش اصلی تشکیل شده است:
- بخش اول: آشنایی با داده های بارش در گوگل ارث انجین
- بخش دوم: روش فراخوانی و کار با داده های بارش برای محاسبه شاخص SPI
- بخش سوم: پرسش و پاسخ. روش محاسبه شاخص SPI در مقیاس های زمانی روزانه، هفتگی و ماهیانه از جمله نکاتی است که در کلاس ها و دوره های قبلی بصورت یک جا به آن پرداخته نشده است. تبدیل داده ها به مقیاس های چندزمانه از جمله سوالاتي است که بسیاری از کاربران در انجام آن مشکل دارند که در این وبینار بصورت تخصصی پاسخ داده شد.
- بخش چهارم: تکنیک ها و روش های طبقه بندی شاخص SPI بصورت زمانی و مکانی از دیگر سوالات مهمی است که در این دوره پاسخ داده شده است.
عناوين آموزشی
- معرفی پرکاربردترین داده های بارش
- روش کار با داده های بارش در ارث انجین
- تبدیل داده های بارش به مقیاس روزانه، هفتگی و ماهیانه
- محاسبه شاخص SPI برای مقیاس های زمانی مختلف
- طبقه بندی زمانی و مکانی شاخص SPI
مدرس کیست؟
- امیرحسین احراری
- کارشناس سنجش از دور تحلیل داده های ماهواره ای
- نویسنده اولین و پرفروش ترین کتاب آموزش گوگل ارث انجین در ایران
پیش نیاز:
- آشنایی با سامانه گوگل ارث انجین
- اکانت گوگل ارث انجین
سیدامیرحسین عقیلی –
سلام وقتتان بخیر
منطور شما از شاخص SPI چیست؟
اگر منظورتان فرمول
SPI = (P-P*) / σp
یا همان(بارش-میانگین تقسیم بر انحراف معیار هست)
این شاخصSPI اصلی نیست.
شاخص SPI در بحث خشکسالی یک شاخص آماری هست که توابع آماری همچون گاما را بر داده ها فیت می کنند که GEEفکر نمی کنم همچی قابلیتی داشته باشه، مگر اینکه خروجی را وارد زبان های برنامه نویسی همچون پایتون یا Rنمایید.
امیرحسین احراری –
با سلام و احترام
بله درست هست اما به عنوان یک برآورد کننده نسبی قابل استناد هست. در لینک زیر نیز اشاره شده
https://www.un-spider.org/advisory-support/recommended-practices/recommended-practice-drought-monitoring-spi/step-by-step
موفق باشید
Tara –
سلام جناب احراری وقت بخیر من یه سوال کردم فک کنم پاک شده دوباره مینویسم ممنون میشم راهنمایی کنین ، هنه محصولات آموزشی که از ارث انجین تهیه کردم رو گشتم متاسفانه جوابم توشون نبود، در اکثر محصولات در بازه زمانی که در محاسبه یه شاخص تعیین میشه بازه یک ساله بفرض در نظر گرفته میشه و یک فیلتر میانین یا میانه زده میشه و تصویر خروجی یک تصویر از کل سال است، من اگر بخواهم تصاویر کل سال رو به تعداد هر چقد تصویر که در یک سال هست رو بهم بده باید از چه کدی استفاده کنم
ممنون میشم عین کد رو برام بنویسید بی زحمت چون منابع مختلف رو گشتم پیدا نکردم
با تشکر
امیرحسین احراری –
با سلام و احترام
در کتاب گوگل ارث انجین و آموزش جامع ارث انجین این موضوع بصورت کامل تدریس شده. احتمالا آموزش های خیلی قدیمی سایت رو مشاهده کردید. به لینک زیر مراجعه کنید یک نمونه براتون قرار دادم:
https://code.earthengine.google.com/0987d6aa778482cb57651de12df9f6b9
موفق باشید
jalalzaei.mohsen@gmail.com –
در این مورد امکان توضیح بیشتر وجود دارد؟
رسول –
عرض سلام و احترام
چرا هیچ پکیج کاملی در رابطه با رشته ها ارایه نمیدهید به طور مثال من میخام اموزشهای مربوط به زمین شناسی را تهیه کنم ولی باید از envi وgis و… اموزشهای متفاوت را بگیرم ولی معلوم نیست به اهدافم برسم و هزینه هم بالا میره ولی اگر پکیجی مختص رشته و اهداف پروژه ای ارایه بدهید که جامع بوده و همه ی موضوعات مربوط به رشته را در بر میگرفت ارزش خریدو استفاده را قطعا بالا میبرد
امیرحسین احراری –
با سلام و احترام
رشته تحصیلی من سنجش از دور هست و بدلیل ماهیت بین رشته ای آن هرگز امکان مطالعه عميق در یک گرایش خاص وجود ندارد چون باید روی روش ها و تکنیک های پردازش داده های ماهواره ای تمرکز کنیم. در همین رابطه پروژه هایی که کار میکنیم در طیف وسیعی از کاربردها هست. به همین دلیل ما در مقالات علمی بصورت تیمی با گرایش ها و رشته های مختلف همکاری داریم و کمتر پیش می آید که یک کارشناس سنجش از دور به تنهایی یک مقاله معتبر در زمینه های علوم زمین منتشر کند.
با این اوصافبرای تولید آموزش های مدنظر شما باید مثلا یک زمین شناس با سنجش از دور آشنا باشه و بتونه آموزش جامعی در این زمینه تولید کند.
موفق باشید
Tara –
جناب احراری سلام وقت بخیر
من یه سوالی داشتم که متاسفانع تو تمامی محصولاتی که از شما گرفتم پیدا نکردم جوابش رو ، میخاستم بپرسم که شاخصی رو من اعمال کردم و بازه زمانی مثلا دو ساله براش تعیین میکنم ، ولی برخلاف اموزش های شما که میاین یه میانه یا میانگین مینویسین و میانگین این دو سال رو تو یه تصویر میده ، من میخام تو دو سال هر چنتا تصویر هست شاخص افمال کنه و خروجی همشو بهم بده هر چنتا که هست ، ممنون میشم راهنمایی بفرمایید که از چه دستوری استفاده کنم و چیکار کنم، لطف میکنین اگه عین دستورو بنویسین
امیرحسین احراری –
با سلام و احترام
در کتاب گوگل ارث انجین و آموزش جامع ارث انجین این موضوع بصورت کامل تدریس شده. احتمالا آموزش های خیلی قدیمی سایت رو مشاهده کردید. به لینک زیر مراجعه کنید یک نمونه براتون قرار دادم:
https://code.earthengine.google.com/0987d6aa778482cb57651de12df9f6b9
تعداد سوالات مطرح شده زیاد هست به همین دلیل تنها خطاهای موجود در آموزش ها رو میرسم بررسی کنم.
موفق باشید
سید مجید –
با سلام خدمت استاد احراری عزیز.
استاد من مستر کلاس آموزش جامع گوگل ارث انجین ۲۰۲۲ رو شرکت کرده بودم که در اونجا نحوه محاسبه شاخص SPI رو هم آموزش داده بودین. آیا در این مستر کلاس مطلبی افزون بر اون آموزش داره ؟
با سپاس.
امیرحسین احراری –
با سلام و احترام
خیر اگر در آن مستر کلاس بودید نیاز به شرکت در این مستر کلاس ندارید.
موفق باشید
حامد –
سلام. چجوری میتونیم کدی بنویسیم که میانگین ماهانه یا میانگین سه ماه یا شش ماهه یک شاخصی رو در گوگل ارث انجین بدست بیاریم؟
امیرحسین احراری –
با سلام و احترام
با استفاده از تابع temporal collection که در لینک زیر تدریس شده است می توانید داده ها رو به فرمت های زمانی مختلف تبدیل کنید.
https://girs.ir/gee-multi-temporal-function/
موفق باشید
minayb1997@gmail.com –
سلام استاد خسته نباشید. کد spi برای منطقه مورد مطالعم ارور میده. لطف میکنید راهنماییم کنید.
کد رو همینجا بزارم؟
امیرحسین احراری –
با سلام و احترام
لینک کدتون رو با استفاده از گزینه getlink در اینجا بزارید تا بتونم بررسی کنم.
موفق باشید
minayb1997@gmail.com –
ممنون استاد. برای خروجی اکسل یا شیپ فایلی که بخوام ببرم داخل ارک و پهنه بزنم انتهای کد رو درست نوشتم؟
// Load a feature collection
var fc = ee.FeatureCollection(“geometry”);
// Filter the feature collection
var filtered = fc.filter(ee.Filter.eq(‘SPI’, ‘0’));
// Export the filtered feature collection as an Excel file to Google Drive
Export.table.toDrive({
collection: filtered,
description: ‘my_excel_file’,
fileFormat: ‘SHP’
});
لینک کد
https://code.earthengine.google.com/ab1d49cb5308fa71ef1205fd9ede6661
امیرحسین احراری –
با سلام و احترام
چون تعداد سوالات و کدهای ارسالی زیاد هست اگر کد بدون خطا اجرا می شود و خروجی در نرم افزار بدرستی نمایش داده شده پس کد درست است و نیاز به چک کردن ندارد.
موفق باشید
1669893283 –
سلام ممنون.
کد بدون خطا اجرا میشه اما برای سیو مشکل دارن و از قسمت TASKS ران نمیشه. این بخاطر مشکل کدهستش؟؟
امیرحسین احراری –
با سلام و احترام
اگر عبارت خطایی برای شما نشان داده شده آن را ارسال کنید.
موفق باشید
1669893283 –
سلام استاد خسته نباشید. برای خروجی TIFF این ارور رو میده موقع سیو کردن
A mapped function’s arguments cannot be used in client-side operations
امیرحسین احراری –
با سلام و احترام
لینک کدتون رو با استفاده از گزینه getlink در ارث انجین کپی کرده و در اینجا به همراه توضیح مشکل کد برای بنده بزارید تا بررسی کنم.
موفق باشید
1669893283 –
https://code.earthengine.google.com/569b7a0ae67eca05c8096614a9886700
خیلی ممنون
امیرحسین احراری –
برای خروجی گرفتن از کالکشن ها باید حتما tobands استفاده شود.
https://code.earthengine.google.com/9f1ada0af5788df29b9d487364af07e1
موفق باشید
MINA –
سلام استاد خسته نباشین. درمورد کد spi دو تا سوال دارم
1. با بازه زمانیم این ارور رو میده
Image.multiply: If one image has no bands, the other must also have no bands. Got 0 and 1.
2. بعد از اینکه خروجی میگیرم و میبرم داخل ارک مپ و شیپ فایل استان رو وارد میکنم مختصات تصاویر ارث اینجین اشتباست و خارج از محدوده استانم قرار میگیره.
لطفا راهنماییم میکنید
لینک کد
https://code.earthengine.google.com/2d8f3c12462502c99dedc71bdb0455b5
امیرحسین احراری –
با سلام و احترام
فیلتر تعداد باند رو برای متغیرها در نظر نگرفتید. برای مشکل مختصات باید آرگومان crs به بخش export اضافه شود. کد اصلاح شده ضمیمه شده است.
https://code.earthengine.google.com/1d70d58b24cb17da26a4749a34295158
موفق باشید
حسن داودی –
سلام استاد خسته نباشید من مستر کلاس را حضوری شرکت نکردم کلاس افلاینش را خریداری کردم در قسمت کلاس بندی شاخص های SPI فقط نمودار چارت MILD drought_area در اومد. moderate و severe و اکستریم چارت خطیش در نیومد دلیلش میتونه به کوچکی منطقه انتخاب شده من باشه یا بعضی داده های ماهواره ای در تاریخ خاصی اعمال نشده؟
سوال دوم تصویر منطقه روی لایه شیپ فایل که وارد کردم روی spi mode و spi max فقط به رنگ سیاه و سفید قرار گرفته مشکل از کجاست
لینک کد رو میدم خدمت تون چک بفرمایید لازم به اصلاحیه بود اشتباه بنده رو اصلاحش بفرمایید . ممنون و سپاس گذار از اموزش های جامع و کاربردی تون
https://code.earthengine.google.com/595f1bbdade46856c7da2d67f71e48a7
امیرحسین احراری –
با سلام و احترام
احتمالا منطقه مورد مطالعه خیلی کوچک هست. بهتر هست بر روی مناطق مختلف با وسعت بیشتر ران بگیرید تا دلیل خطا مشخص شود.
در صورتی که کانتراست تصویر خروجی مناسب نیست از تکنیک های stretching استفاده کنید.
موفق باشید
حسن داودی –
با سلام مجدد خدمت استاد و مهندس احراری
استاد منطقه کوچیک هم نیست برای پایان نامه . ارزیابی خشک سالی هستش نمیشه تغییرش داد امکامش هست یه چک بفرمایید مشکلش رو در صورت امکان اصلاح یا ببفرمایی بگید اصلاح کنم
یسوال دیگه هم هست نمودار کلاس بندی خشک سالی خفیق در اعدد سق نمودتر در اکثر ماهها یه عدد مشخص هست برای همه امکانش هست عدد یکسان باشه برای اکثر ماه های سال ؟؟
فرصت شد کد لینک بالا دادم خدمت تون چک بفرماییپ ممنون میشم🙏🙏
امیرحسین احراری –
با سلام و احترام مجدد
همه کدهای آموزش ضمیمه محصول شده است. با کد بنده برای منطقه تون یک بار تست کنید که آیا مشکل برطرف می شود یا خیر.
در این آموزش از تابع گاما برای شاخص SPI استفاده نشده. شاید عدم استفاده از این تابع باعث ایجاد چنین مشکلی شده است. راهکار دیگر استفاده از نرم افزارهای محاسبه این شاخص هست. به عنوان مثال داده های بارشی را از ارث انجین بصورت فایل csv دانلود کرده و سپس در نرم افزارهایی که برای محاسبه این شاخص است وارد نمایید.
موفق باشید
موفق باشید
سعیدی –
با سلام و عرض و ادب بنده اموزش رو تهیه کردم هدفم از تهیه این اموزش گرفتن خروجی یک نقشه رستری برای یک بازه زمانی مشخص هست ممنون میشم کد export نقشه رستری شاخص spi v رو ارسال کنید.
با سپاس از حسن توجه شما
امیرحسین احراری –
با سلام واحترام
نمونه کد خروجی گرفتن ضمیمه شده است.
https://code.earthengine.google.com/e960f985eb760016d66e4398e4769ec9
موفق باشید
سعیدی –
با سلام و عرض وقت بخیر بنده آموزش شماره 168 از سری اموزش های شما رو خریداری کردم اما بدنبال گرفتن خروجی رستری از spi برای بازه زمانی مورد مطالعه بودم اما متاسفانه نتونستم خروجی مطلوب رو بگیرم ممنون میشم کد بنده را اصلاح فرمایید. بنده برای بازه زمانی مورد نظر یک نقشه spi تک بانده میخواستم یعنی برای فرضا ده سال یک نقشه میانگین spi میخواستم خودم که میانگین میگرفتم اعداد بسیار کوچک میشد اما در کد نویسی مرجع در سایت انجین بازه بین منفی 2 الی مثبت 2 میشد.
ممنون میشم راهنمایی فرمایید
https://code.earthengine.google.com/c0e3de05f0e7ec57cb876cde6606be20
امیرحسین احراری –
با سلام و احترام
نمونه کد خروجی گرفتن ضمیمه شده است.
https://code.earthengine.google.com/e960f985eb760016d66e4398e4769ec9
موفق باشید
سعیدی –
سلام من چند بار از طرق مختلف چه از طریق کامنت و چه از طریق ایمیل درخواست راهنمایی داشتم چرا اینقدر پاسخگویی ضعیف هست به هرحال ما هم هزینه کردیم اموزش را تهیه کردیم سایر سایت ها با پشتیبانی بهتری این اموزش ها قابل تهیه هست
امیرحسین احراری –
با سلام واحترام
عذرخواهی میکنم که پاسخ گویی با تاخیر هست. بنده مشغله های کاری بسیار زیادی پیدا کردم و متاسفانه باعث شده بسیاری از مواقع نرسم به موقع سوالات رو پاسخ بدم.
موفق باشید
سعیدی –
با سلام و تشکر از پاسخگوییتون متاسفانه مشکلی که وجود داره دامنه اعداد نقشه خروجی پایین میشه و پراکنش را به خوبی نشان نمیده در سایتی که مرجع این کد قرار گرفته یک ضریب به صورت زیر اعمال شده
//Get Max and Min values from imports-section with one decimal
var getMonthlyVisMax = Math.round(SPImonthlyVis.max*10)/10;
var getMonthlyVisMin = Math.round(SPImonthlyVis.min*10)/10;
var vizMonthly = {min: getMonthlyVisMin, max:getMonthlyVisMax, palette:SPImonthlyVis.palette};
به نظرتون میشه با عمال ضریب خاصی دامنه اعداد رو در نقشه اصلاح کرد؟
امیرحسین احراری –
با سلام و احترام
اعمال ضریب برای اصلاح دامنه مقادیر امکان پذیر هست اما بنده با این مورد آشنایی ندارم متاسفانه. در سایت زیر می توانید راهنمایی بگیرید.
https://gis.stackexchange.com/
موفق باشید