ADD ANYTHING HERE OR JUST REMOVE IT…
عکس زمینه چپ
محاسبه مساحت پوشش گیاهی در گوگل ارث انجین

مقاله کاربردی روش محاسبه مساحت پوشش گیاهی در گوگل ارث انجین

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

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


گام اول: فراخوانی تصویر ماهواره ای

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

Map.centerObject(geometry)

سپس پروداکت NDVI سنجنده مادیس به عنوان داده اصلی محاسبه مساحت پوشش گیاهی به داخل کد اضافه می شود. شاخص NDVI که بیانگر میزان تراکم گیاه است امکان جداسازی آن از سایر کاربری ها و پوشش های سطح زمین را فراهم می کند. در کد زیر کالکشن تصاویر ۱۶ روزه NDVI سنجنده مادیس برای بازه ۲۰ ساله فراخوانی شده است. 

var modis_ndvi = ee.ImageCollection(“MODIS/۰۶۱/MOD۱۳Q۱”).filterDate(‘۲۰۰۱’,‘۲۰۲۱’)


گام دوم: آماده سازی داده ها

آماده سازی داده ها در گوگل ارث انجین معمولا شامل اعمال کد scale factor برای اصلاح دامنه مقادیر پروداکت استفاده می شود. برای همین منظور در اینجا عدد ۰/۰۰۰۱ باید بر روی تک تک تصاویر NDVI سنجنده مادیس اعمال شده تا دامنه مقادیر هر تصویر بین ۱- تا ۱+ تنظیم شود. دستور map امکان ایجاد یک حلقه برای اعمال محاسبه مشخص بر روی تک تک تصاویر موجود در کالکشن ها فراهم می کند. 

}var ndvi_prepare = modis_ndvi.map(function(img)
return img.select(‘NDVI’).multiply(۰.۰۰۰۱)
{( copyProperties(img, img.propertyNames()).


گام سوم: محاسبه مساحت هر پیکسل 

در گام سوم نوبت به شناسایی و جداسازی پیکسل هایی است که حاوی پوشش گیاهی هستند. برای این کار ابتدا از روش حدآستانه گذاری مقادیر بزرگتر از ۰.۳ را به عنوان پوشش گیاهی انتخاب کرده و سایر پیکسل ها حذف می شود. سپس مساحت پیکسل های انتخاب شده (باقی مانده) برای تک تک تصاویر داخل کالکشن برآورد می شود. 

}var ndvi_area = ndvi_prepare.map(function(img)
var thr = img.gte(۰.۳)
var mask = thr.updateMask(thr)
var area = mask.multiply(ee.Image.pixelArea().divide(۱e۶))
return area
{( copyProperties(img, img.propertyNames()).


گام چهارم: سری زمانی مساحت گیاهان

پس از محاسبه مساحت پیکسل های گیاهی در گام سوم، با استفاده از دستور chart و تابع reducer.sum امکان محاسبه مجموع مساحت پوشش گیاهی در هر تاریخ و ترسیم آن بر روی نمودار فراهم می شود.

)print
ui.Chart.image.series(ndvi_area, geometry, ee.Reducer.sum(), ۲۵۰, ‘system:time_start’)
setChartType(‘ColumnChart’).
})setOptions.
,title: ‘Vegetation Cover Area
( ({ vAxis: {title: ‘Area km۲’}


نمایش نتیجه

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

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

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

۰ تا ۱۰۰ مفاهیم سنجش از دور

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

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

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

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

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

دانلود لندیوز ۱۰ متری ایران و …

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

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

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

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

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

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

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

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

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

پوشش اراضی ۱۰ متری

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

کار با داده های رطوبت و شوری

ماهواره SMOS

مکان یابی به روش بولین

در یک ساعت

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

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

 پربــازدیـدترین مقالات

  نظراتـــــــــ

18 نظر در “مقاله کاربردی روش محاسبه مساحت پوشش گیاهی در گوگل ارث انجین

  1. مریم گفت:

    سلام و خسته نباشید
    استاد گرامی آیا مقاله‌ای را می توانید به من معرفی کنید که با استفاده از شاخص lai و همین تکنیک به کتر رفته شما مساحت پوشش رو محاسبه کنه؟برای رفرنس‌دهی در رساله ایراد میگیرن اگر رفرنس مشخصب نباشه

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

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

      موفق باشید

  2. طاهر فرهادی نژاد گفت:

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

    1. سلام
      چه آموزش هایی را نیاز دارید؟
      لطفا همینجا بنویسید که بررسی کنیم.

  3. شیوا گفت:

    چه طور میشه نقشه حد استانه رو خروجی گرفت فقط گراف میشه ازاش استخراج کرد؟

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

      با استفاده از دستور tobands لایه استک رو تولید کرده و سپس با استفاده از دستور export image to drive آن را ذخیره سازی کنید.

      موفق باشید

  4. مسعود گفت:

    سلام
    هرچی این کد را می نویسم ارور می ده.
    ممنونم میشوم اگر کد را بصورت لینک قرار دهید.
    با تشکر

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

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

      موفق باشید

  5. منصور گفت:

    با سلام
    من می خواستم این شاخص را به چند طبقه تقسیم کنم. چه دستورهایی باید بهش اضافه کنم.
    با تشکر

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

      با استفاده از تابع where قابل دسته بندی بر اساس حد آستانه های مختلف هست.

      موفق باشید

  6. مسعود گفت:

    با سلام و احترام
    کدی که اجرا نمیشه :
    https://code.earthengine.google.com/9796b4b1a16f11d18c0f1dd215a31a19
    با تشکر

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

      لینک کد اصلاح شده:
      https://code.earthengine.google.com/ae10e7259cfd810671e054e96ccbc425

      فقط چون بنده لینک داده شما رو نداشتم با استفاده از یک منطقه مورد مطالعه فرضی کد رو تست کردم.

      موفق باشید

  7. مسعود گفت:

    با سلام
    اگر امکانش هست خواسته دوست عزیز منصور را نیز بر روی کد بالا اعمال نمایید.
    با تشکر

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

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

      موفق باشید

  8. مسعود گفت:

    سلام جناب مهندس
    کدی که ارور میده:
    https://code.earthengine.google.com/dfec64f86041128b512b9169e703d8d5
    ممنون می شوم اصلاح فرمایید.
    با تشکر

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

      لینک کد اصلاح شده ضمیمه است.
      https://code.earthengine.google.com/58be4ea66068ee10685379e97fc3f886
      موفق باشید

  9. مسعود گفت:

    با عرض سلام و تشکر بابت پاسخگویی
    من شاخص NDVI را با استفاده از تابع WHERE به 5 طبقه تقسیم کردم و لی خروجی فقط یک عدد می دهد ولی مساحت هر طبقه را نشان نمی دهد. ممنون می شوم کد زیر را اصلاح فرمایید.
    https://code.earthengine.google.com/5bbd8979768eec564e4164ed815e5e64
    با تشکر

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

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

      موفق باشید

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

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

 آخرین مقالات

سبد خرید
فروشگاه
0 مورد سبد خرید
حساب من
خانه