محاسبه روند تغییرات بارش از داده های TRMM

امیرحسین احراری

0

  • مدرس : امیرحسین احراری (کارشناس سنجش از دور و پردازش تصاویر ماهواره ای)
  • موضوع : سنجش از دور هواشناسی
  • مخاطب : علاقمندان به سنجش از دور هواشناسی و اقلیم شناسی
  • نرم افزار : سامانه پردازشی Google Earth Engine

289,000 تومان

0 افرادی که اکنون این محصول را تماشا می کنند!
 بالاترین کیفیت
عدم محدودیت زمانی
 مناسبترین قیمت
 خرید و دانلود آنی
خرید با کارت عضو شتاب
  • آموزش روش استخراج اطلاعات بارش سنجنده TRMM در Google Earth Engine  منتشر شد!
  • محصولی کاربردی برای کسانی که علاقمند به سنجش از دور هواشناسی هستند.
  • آیا میدانید استخراج روند بارش ماهیانه برای یک بازه زمانی 17 ساله تنها در چند دقیقه قابل انجام است؟
  • پاسخ سوال مذکور در این محصول آموزشی ارائه شده است.

 


عناوین آموزشی
  • روش فراخوانی تصاویر ماهیانه سنجنده TRMM در Google Earth Engine
  • روش استخراج اطلاعات بارشی سنجنده TRMM در Google Earth Engine
  • روش استخراج روند تغییرات بارشی 17 سال برای هر منطقه مورد مطالعه در Google Earth Engine
  • روش استخراج تصویر رستری بارش ماهیانه سنجنده TRMM برای هر منطقه مورد مطالعه در Google Earth Engine

استخراج تغییرات روند بارش 17 ساله

 


لینک های مفید

دیدگاهها

  1. Hadi Emami

    با سلام خدمت مهندس احراری
    ببخشید در مورد این engine چند سوال داشتم.
    اول اینکه این سایت یعنی بخش کدنویسی چرا بهش نمیشه وارد شد؟ مشکل چند نفر از همکلاسی هام هست این مشکل و البته من
    دوم اینکه درصورت کار با این سایت، خروجی در قالب اطلاعات آماری که بشه در spss یا minitab بر روشون کارهایی رو انجام داد وجود داره؟یا صرفا فقط در این سایت نمایش به صورت نمودار هست؟؟

  2. محمدامین

    سلام مهندس احراری لطف میکنید رفرنس هم بدید؟
    ممنون

    • امیرحسین احراری

      با سلام و احترام خدمت شما.

      ببخشید برای چه موردی نیاز به رفرنس دارید؟ داده های TRMM که بصورت آماده و در دسترس است و داخل user manual آن صراحتا در ارتباط با کاربرد این داده ها برای برآورد بارش صحبت شده. تکنیک های کدنویسی ارائه شده هم بر اساس توصیه ها و راهکارهای خود ارث انجین است. چون تکنیک های آموزش داده شده مدل های علمی نیستند که در مقالات به آن ها اشاره شده باشد. عموما تکنیک های کدنویسی برای محاسبات ساده است. باز اگر در ارتباط با مورد خاصی نیاز به رفرنس داشتید بی زحمت کامنت بزارید بنده در اختیار شما خواهم گذاشت.

      موفق باشید

  3. یوسفی

    سلام ممنون از زحماتتون ببخشید برای داده ماهیانه بارش واحد میلیمتر بر ساعته که زیاد جالب نیست(چون این طوری تمام اعداد در رنج چندهم تا چندصدم میلیمترن) می خوام داده اش رو میلیمتر در ماه بکنم چه طوری انجامش بدم ضربش در ۲۴ و ۳۰ رو چه طور تو کد بزارم. . ممنون میشم راهنمایی کنید

    • امیرحسین احراری

      با سلام و احترام

      یک راه این هست که داخل یک تابع تک تک تصاویر فراخوانی و سپس در عدد مورد نظرتون ضرب بشه.

      موفق باشید

  4. یوسفی

    ممنونم ببخشید می تونید داخل کد برام بزارید که کجا این ضرب را باید بزارم. ممنون چون امتحان کردم نتونستم ببخشید.
    https://code.earthengine.google.com/7c310b0e3916e1f466455ed362b27b20

    • امیرحسین احراری

      با سلام و احترام

      لینک کد اصلاح شده ضمیمه شده است. بنده متغیر اول را اصلاح کردم. متناسب با آن سایر متغیرهای مورد نیاز را می توانید اصلاح کنید.
      https://code.earthengine.google.com/ef26b461675dbca32e505cf04f8d0630

      موفق باشید

      • یوسفی

        بسیار ممنونم

      • یوسفی

        از وقتی که گذاشتید سپاسگزارم اما اجرا می کنم خطاا می ده invalid JSON
        ممنون دیدم توی کد
        .map(function(img){
        return img.multiply(30.0)
        .copyProperties(img,[‘system:time_start’,’system:time_end’])
        });
        را اضافه کردید اما اجرا میکنم خطاا میده حذفش میکنم کد اجرا میشه البته بدون اعمال تغییر واحد. در هر صورت ممنونم

        • امیرحسین احراری

          مجددا لینک کد را برای بنده در این جا کامنت بزارید تا بررسی کنم. این خطا ارتباطی به این کد ندارد. لطفا لینک کد را ارسال کنید تا بررسی کنم.

          موفق باشید

  5. یوسفی

    سلام ممنون . لینکی که شما زحمت کشیده بودید
    https://code.earthengine.google.com/ef26b461675dbca32e505cf04f8d0630
    لینکی که من فرستادم:
    https://code.earthengine.google.com/7c310b0e3916e1f466455ed362b27b20

    • امیرحسین احراری

      با سلام واحترام

      الان کد رو ران گرفتم این خطا رو نداد. اگر این خطا رو داد مجددا ران بگیرید. از طرفی ضرب در عدد ۳۰ رو هم بنده در تصاویری استک شده براتون اعمال کردم.
      https://code.earthengine.google.com/5bd0f2b7434610e334c94e70faee59ff

      موفق باشید

  6. مرضیه

    با سلام.میخاستم تمام پروداکت های ماهانه ۳b43 بارش رو برای یک سال که میشه ۱۲ تصویر دانلود کنم.روشی که گفتید از همه تصاویر یا میانگین میگیره یا max رو میده.میخاستم ببینم امکانش هست؟و اینکه اگر شیپ فایل یک حوزه رو وارد کنیم براساس اون برش میده؟
    با تشکر

    • امیرحسین احراری

      با سلام و احترام

      میشه همه تصاویر ماهیانه رو استک کرد و دانلود نمود. با استفاده از گزینه get link لینک کدتون به همراه مشکلی که دارید رو کامنت کنید تا بنده بررسی کنم.

      موفق باشید

      • مرضیه

        • امیرحسین احراری

          با سلام و احترام

          لینک کد تصحیح شده ضمیمه شده است.
          https://code.earthengine.google.com/e4721cf3ba0ea0e56cb61bc0f0782008

          موفق باشید

          • مرضیه

            بسیار ممنون

          • مرضیه

            جناب احراری میخاستم بدونم مقیاسی که برای برای این کد دادید یعنی ۱۰۰۰ روی رزولوشن تاثیر میگذاره؟این مقیاس چه کاری میکنه؟

          • امیرحسین احراری

            با سلام و احترام

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

            موفق باشید

      • مرضیه

        میخاستم برای سال۲۰۱۹ تمام تصاویرماهیانه شو داشته باشم .در روش شما از مقادیرمیانگین میگیره ولی من مقادیراصلی شو میخام.ممنون میشم کمک کنید.

  7. فاطمه اميني

    با سلام و تشکر از آموزشهای مفیدتون
    یه سوال داشتم چرا خروجی فایل اکسل نمودار فقط به مقادیر بارش روز اول هر یک از ماههای بیست سال فقط اشاره میکند این مقدار بارش روز اول ماه است؟ و یا میانگین کل روزهای یک ماه را بنام روز اول ماه درج نموده است.
    نکته دیگر در مورد بارش در فایل اکسل است آیا همان میلیمتر در ساعت است؟ اگر اینطور است با ضرب کردن در عدد ۳۰ در اکسل میتوانیم به واحد میلی متر برای مقادیر بارش هر ماه برسیم؟
    پیشاپیش از پاسخگویی و احساس مسولیت شما سپاسگزارم.
    با تشکر
    امینی

    • امیرحسین احراری

      با سلام و احترام

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

      موفق باشید

  8. فاطمه

    ممنون از پاسختون

  9. shadmaher sey

    سلام جناب احراری میخواستم شاخص spei رو از داده های CHIRPS برای دوره ۱۵ ساله به کمک کدهای زیر به دست بیارم ولی موقع اجرا این ارور رو میده Error generating chart: No features contain non-null values of “system:time_start”.

    var lta = ee.ImageCollection(‘UCSB-CHG/CHIRPS/DAILY’)
    .filterBounds(table)
    .filterDate(‘2005-01-01′,’2020-02-01’);
    var ltamean = lta.select(‘precipitation’).mean();
    var ltastd = lta.reduce(ee.Reducer.stdDev());
    // same for this year
    var latest = ee.ImageCollection(‘UCSB-CHG/CHIRPS/DAILY’)
    .filterBounds(table)
    .filterDate(‘2005-01-01′,’2020-02-01’);
    var rainfall_now = latest.select(‘precipitation’).mean();
    var anomaly = rainfall_now.divide(ltamean).multiply(100);
    var spi = rainfall_now.subtract(ltamean).divide(ltastd);

    var chart = ui.Chart.image.series( spi,table,
    ee.Reducer.mean(),1000,’system:time_start’)
    .setChartType(‘ColumnChart’);
    print(chart);

    • امیرحسین احراری

      با سلام و احترام

      خطا system time start نشون میده که این پارامتر به درستی در داخل کد تعریف نشده و یا اینکه از لحاظ نوشتاری در بخشی از کد اشتباه نوشته شده است. لطفا برای بررسی کدها لینک کد را با استفاده از گزینه get link در گوگل ارث انجین کپی و. در اینجا پیست نمایید تا بهتر بتونیم کدها رو برسی کنیم.

      موفق باشید

        • امیرحسین احراری

          ایراد کد شما این هست که شاخص spi رو داخل حلقه نزاشتید و یک تصویر واحد هست. باید با استفاده از تابع map function برای تک تک تصاویر این محاسبه را انجام دهید.

          موفق باشید

          • shadmeher sey

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

          • امیرحسین احراری

            با سلام و احترام

            اگر نیاز به مشاوره اختصاصی دارید با شماره تلفن پشتیبانی تماس بگیرید و شرایط رو خدمتتون توضیح می دهند. ۰۹۱۹۵۱۵۲۹۵۸

            موفق باشید

  10. امیر علیخانی

    سلام جناب احراری
    چرا برای بارش ماهیانه از دستور ee.reducer.mean استفاده کردید؟ چون برای هر ماه 1 تصویر داره و دیگه نیازی به میانگین گیری نیست.

    • امیرحسین احراری

      با سلام و احنرام

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

      موفق باشید

  11. نگار

    با سلام
    جناب احراری در کد زیر مقیاس 1000 چه چیزی را نشان می دهد؟ و منظور از mean یعنی میانگین ماهانه را می دهد؟
    var chart = ui.Chart.image.series(trmmm, table,
    ee.Reducer.mean(), 1000, ‘system:time_start’)

    و سوال بعدی اینکه: چرا در نمودار سزی زمانی برای هر سال یک عدد می دهد مثلا نوشته 1 نوامبر 2000، 1 می 2001 و…… یعنی برای هر سال فقط بارش یکماه را می دهد؟؟

    • امیرحسین احراری

      با سلام و احترام

      عدد مقیاس نشان دهنده عدد توان تفکیک مکانی هست. یعنی اینکه میانگین را برای یک تصویر با پیکسل هایی به ابعاد 1000 در 1000 محاسبه کرده و نمایش میدهد.
      فایل اکسل نمودار را که دانلود کنید همه تاریخ ها را داخل خود دارد. در حالت بصری بصورت خلاصه تاریخ ها نمایش داده شده است.

      موفق باشید

      • نگار

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

        • امیرحسین احراری

          بله به جای آرگومان scale باید عدد توان تفکیک مکانی تصویر ماهواره ای مورد استفاده را قرار بدید.
          با استفاده از فیلتر calendar range در گوگل ارث انجین می توانید برای یک سری ماه های خاص داده های مورد نیاز خود را تهیه کنید.

          موفق باشید

  12. سارا

    سلام وقت بخیر ایا این محصول میتواند به من کمک کند تا نقشه های بارش برای 30 سال (1990 تا 2021) به این صورت که میانگین تغییرات را در 5 سال بگیرم مثلا 2015تا 2021 بشه یک نقشه و به همین ترتیب در استان گلستان رو بدست بیارم؟

    • امیرحسین احراری

      با سلام و احترام

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

      موفق باشید

  13. نسترن

    با سلام
    جناب احراری کد زیر که خدمتتون ارسال میکنم:
    ایا در اینجا تغییرات بارش بر حسی میلیمتر در ماه هست؟ درسته؟
    ایا تصویر خروجی میانگین بارش در طول دوره زمان 30 ساله هست؟
    چرا تصویر را که به فرمت tif داخل آرک باز میکنم رنج اعداد به صورت باند آبی، قرمز و سبز است؟ و رنج حداقل و حداکثر تعییرات بارش را در قسمت legend نمیاره؟

    ممنون میشم راهنمایی کنید

    • امیرحسین احراری

      با سلام و احترام

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

      موفق باشید

  14. نسترن

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

    میشه کد زیر را چک کنید که ضربدر 30 که من انجام دادم میلیمتر در ماه میشه یا در ساعت؟ اصلا لازم هست ضربدر 30 انجام بدم؟
    من تصاویر سری زمانی هست اما به صورت RGB میشه و داخل ارک که تعریف میکنم کل منطقه ام یک عدد میشه

    https://code.earthengine.google.com/9745762ec570963f4cf10aa9fdc173f6

  15. نسترن

    و اینکه شما میفرمایید داده ها به صورت ماهانه هستند و یکبار دیگه گفتین واحدش میلیمتر بر ساعت. خب مگه نباید واحدش میلیمتر در ماه باشه چون داده های این سنجنده ماهانه هستند؟؟

    • امیرحسین احراری

      البته بنده نمیگم در توضیحات داده در گوگل ارث انجین نوشته شده است. تناوب زمانی داده بصورت ماهیانه و واحد اندازه گیری میلی متر بر ساعت است.
      در این گونه موارد باید تبدیل واحد از میلی متر به ساعت به میلی متر به ماه انجام شود. اگر نیاز به تغییر واحد اندازه گیری دارید.
      https://developers.google.com/earth-engine/datasets/catalog/TRMM_3B43V7

      موفق باشید

  16. نگار

    جناب احراری من میخوام تصویر خروجی اندازه پیکسلش 30 متر باشه در این کد به جای 1000، میشه عدد 30 قرار بدم؟
    var chart = ui.Chart.image.series(trmmm, table,
    ee.Reducer.mean(), 1000, ‘system:time_start

    • امیرحسین احراری

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

      موفق باشید

  17. مصطفی

    سلام واسه اینکه نقشه میانگین بارش ۲۰ساله(از داده ماهانه) بدست بیارم
    در کد چه تغییراتی لازمه اعمال کنم؟
    ممنون میشم اصلاحات لازمو اعمال کنید
    https://code.earthengine.google.com/4bb1795c0336d0699ae22c263996d43d

    • امیرحسین احراری

      تصاویر ماهیانه را یک برای یک بازه زمانی فراخوانی کردید. با دستور mean میانگین آن را محاسبه کنید. لینک آن ضمیمه شده است.
      https://code.earthengine.google.com/bb6938162060bb97170c18c7f7fa0c4c

      موفق باشید

      • مصطفی

        سلام منظور من داشتن نقشه ای که میانگین بارش سال بریا مثلا یک دوره 5 ساله را نشان بدهد. یعنی یک نقشه که میانگین سال 2000-2005 که 5 سال است را نشان بدهد . بنظرم باید با دستوری ماهانه را به سالانه اول تبدیل کنم
        بعد میانگین گرفته بشه که نقشه ایجاد شده بگه نقطه a میانگین بارش 5 سالش شده 220میلمتر

        • امیرحسین احراری

          اگر بارش سالیانه برای یک دوره ۵ ساله میخواهید بله درست است. من فکر کردم منظور شما یک تصویر میانگین ۵ ساله هست.
          با استفاده از تابع temporal collection می توانید به ازای هر سال یک تصویر میانگین داشته باشید.
          در کتاب گوگل ارث انجین همه این تکنیک ها رو تدریس کردم. اگر علاقه مند به این سامانه هستید لطفا کتاب رو بصورت کامل مطالعه کنید. تمامی تکنیک های لازم در آن تدریس شده است.
          یه کد نمونه در ارتباط با سوالتون ضمیمه شده است لطفا ملاحظه کنید
          https://code.earthengine.google.com/67cd4f5ca039b20046cd795daaf1d49e

          موفق باشید

  18. مصطفی

    سلام و درود و خداقوت خدمت استاد بااخلاق
    استاد یک سوالی ذهن منو درگیر کرده در داده بارش وقتی از دستور mean استفاده می کنیم در چارت میاد تمام ماههارو نشان میده مثلا در یک دوره دو ساله ، ۲۴تا میله از نمودار داریم .
    نکته اینجاست وقتی همین دستور mean,استفاده میکنیم برای نقشه، چرا یک لایه نقشه داریم؟یعنی این نقشه میانگین تمام اون ۲۴ماه در قالب یک تصویر میده؟ولی در چارت به صورت ۲۴میله از چارت؟!

    • امیرحسین احراری

      با سلام و احترام

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

      موفق باشید

  19. مریم

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

  20. fatemeh.hakimi78@gmail.com

    سلام وقتتون بخیر باشه
    جناب مهندس من این آموزش رو دیدم و قصد دارم با استفاده ازش، شاخص PCI(precipitation condition index) رو محاسبه کنم. اما خروجی درستی بهم نمیده
    ممنون میشم اگر کد رو بررسی بفرمایید

    https://code.earthengine.google.com/7dc21834580dfb18d62930a751b14066

    • امیرحسین احراری

      با سلام و احترام

      تعداد کدهای ارسالی زیاد هست و ما فقط امکان بررسی خطاهای آموزش ها رو داریم. لطفا در لینک زیر مشکل خود ار مطرح کنید:
      https://gis.stackexchange.com

      موفق باشید

  21. M.MOLAEI

    سلام و قتتون بخیر
    جناب آقای احراری برای مقایسه بارش دو منطقه وقتی از داده های chirps/daily استفاده می کنم و تبدیل به ماهانه کردم برای سری زمانی 20 ساله ارور می دهد لینک دستور را خدمتتون ارسال می کنم می شود راهنمایی فرمایید.
    https://code.earthengine.google.com/bbb9ea7bde6c3ba523ef32b75f6d5802

    • امیرحسین احراری

      با سلام و احترام

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

      موفق باشید

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

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

 آموزش هــای رایــگان