پاسخ کوتاه: برای محاسبه شاخص NDVI از رابطه NDVI = (NIR − Red) / (NIR + Red) استفاده کنید. در سنتینل ۲ باند B8 مادون قرمز نزدیک و B4 قرمز است؛ در لندست ۸ و ۹ باند ۵ و باند ۴. در ArcGIS Pro از Raster Functions ← NDVI، در QGIS از Raster Calculator و در گوگل ارث انجین از normalizedDifference استفاده کنید. مقادیر بالای ۰٫۵ معمولاً پوشش گیاهی متراکم و سالم را نشان میدهد.
NDVI (شاخص تفاضل نرمالشده پوشش گیاهی) پراستفادهترین شاخص سنجش از دور است: از پایش مزارع گندم خوزستان و باغهای پسته کرمان تا بررسی خشکسالی، بیابانزایی، فضای سبز شهری و ورودی مدلهایی مثل RUSLE. با این حال، بیشتر آموزشها فقط یک فرمول و یک نرمافزار را نشان میدهند و دانشجو وقتی عدد ۱۷۰۰ یا ۰٫۰۲ در خروجی میبیند، نمیداند کجای کار خراب است.
در این راهنما محاسبه NDVI را در سه محیط پرکاربرد، روی یک منطقه کشاورزی فرضی در دشت مرودشت فارس انجام میدهیم، نتیجه را با هم مقایسه میکنیم و یاد میگیریم عدد NDVI را با توجه به تقویم زراعی ایران تفسیر کنیم.

شاخص NDVI چیست و چرا کار میکند؟
کلروفیل برگ نور قرمز (حدود ۶۶۵ نانومتر) را برای فتوسنتز جذب میکند، در حالی که ساختار اسفنجی برگ نور مادون قرمز نزدیک (حدود ۸۴۰ نانومتر) را به شدت بازتاب میدهد. خاک لخت در هر دو باند بازتاب نزدیک به هم دارد و آب مادون قرمز را جذب میکند. NDVI این تفاوت را در یک عدد بین ۱- تا ۱+ خلاصه میکند.
نرمالسازی (تقسیم بر مجموع دو باند) باعث میشود اثر تفاوت روشنایی، زاویه خورشید و توپوگرافی تا حدی کم شود؛ به همین دلیل NDVI از نسبت ساده دو باند پایدارتر است.

جدول باندها برای محاسبه NDVI در ماهوارههای رایج
| ماهواره / سنجنده | باند قرمز | باند NIR | تفکیک | بازدید مجدد |
|---|---|---|---|---|
| Sentinel-2 MSI | B4 | B8 (یا B8A ۲۰ متری) | ۱۰ متر | ۵ روز |
| Landsat 8 و 9 OLI | B4 | B5 | ۳۰ متر | ۸ روز (ترکیب دو ماهواره) |
| Landsat 5 و 7 TM/ETM+ | B3 | B4 | ۳۰ متر | ۱۶ روز |
| MODIS | B1 | B2 | ۲۵۰ متر | روزانه |
| تصاویر پهپاد چندطیفی | Red | NIR | سانتیمتری | به درخواست |
پیش از محاسبه NDVI: انتخاب و آمادهسازی تصویر
- سطح پردازش درست: برای سنتینل ۲ محصول Level-2A (بازتاب سطحی) و برای لندست Collection 2 Level-2 را دانلود کنید. محاسبه روی Level-1 (بازتاب بالای جو) NDVI را کمتر از واقعیت نشان میدهد. توضیح بیشتر در تصحیح اتمسفری.
- تاریخ مناسب: تصویری بدون ابر و همزمان با مرحله رشد مورد نظر انتخاب کنید (جدول تقویم زراعی در ادامه).
- ماسک ابر و سایه: حتی ابرهای نازک NDVI را پایین میآورند. روش ماسک را در حذف ابر تصاویر Sentinel-2 در گوگل ارث انجین ببینید.
- ضریب مقیاس: دادههای L2A سنتینل ۲ به صورت عدد صحیح ذخیره شدهاند (بازتاب × ۱۰۰۰۰ و از سال ۲۰۲۲ با آفست ۱۰۰۰-). لندست Collection 2 هم ضریب ۰٫۰۰۰۰۲۷۵ و آفست ۰٫۲- دارد.
دانلود تصاویر را در دانلود تصاویر ماهوارهای سنتینل و دانلود تصاویر لندست ۸ قدمبهقدم توضیح دادهایم.
محاسبه NDVI در ArcGIS Pro
روش ۱: Raster Functions (سریع و بدون ساخت فایل)
- از زبانه Imagery گزینه Raster Functions را باز کنید.
- در گروه Math، تابع NDVI را انتخاب کنید.
- Raster را تصویر چندباندی (یا Composite Bands) قرار دهید و Visible Band ID را ۴ و Infrared Band ID را ۸ (سنتینل ۲) یا ۵ (لندست ۸) وارد کنید.
- گزینه Scientific Output را فعال کنید تا خروجی بین ۱- و ۱+ باشد. بدون این تیک، خروجی به بازه ۰ تا ۲۰۰ کشیده میشود.
- برای ذخیره دائمی، روی لایه کلیک راست و Data ← Export Raster را بزنید.
روش ۲: Raster Calculator (کنترل کامل)
Float("B8" - "B4") / Float("B8" + "B4")
تابع Float ضروری است؛ بدون آن تقسیم دو عدد صحیح، خروجی را صفر یا یک گرد میکند. اگر با داده L2A بعد از ۲۰۲۲ کار میکنید، ابتدا آفست را اعمال کنید:
Float(("B8" - 1000) - ("B4" - 1000)) / Float(("B8" - 1000) + ("B4" - 1000))
در ArcGIS Pro از نوار Imagery ← Indices هم میتوانید NDVI و دهها شاخص دیگر را مستقیم بسازید. اگر تازه کار با ArcGIS Pro را شروع کردهاید، ساخت اولین پروژه در ArcGIS Pro را ببینید.
محاسبه NDVI در QGIS
- باندهای B4 و B8 را جداگانه (فایلهای jp2 سنتینل ۲) به پروژه اضافه کنید.
- از منوی Raster گزینه Raster Calculator را باز کنید.
- عبارت زیر را وارد کنید و خروجی را GeoTIFF ذخیره کنید:
("B08@1" - "B04@1") / ("B08@1" + "B04@1")
QGIS خودش خروجی را Float32 ذخیره میکند. برای نمایش، در Symbology نوع Singleband pseudocolor و رمپ RdYlGn را با حداقل ۰٫۱- و حداکثر ۰٫۸ انتخاب کنید. اگر تقسیم بر صفر در پیکسلهای NoData پیش آمد، از عبارت شرطی استفاده کنید:
("B08@1" + "B04@1" != 0) * ("B08@1" - "B04@1") / ("B08@1" + "B04@1")
محاسبه شاخص NDVI در گوگل ارث انجین
گوگل ارث انجین برای محاسبه NDVI روی صدها تصویر، سری زمانی و مناطق بزرگ بیرقیب است. کد زیر میانه NDVI فصل رشد بهاره ۱۴۰۳ را برای یک محدوده میسازد:
var aoi = ee.Geometry.Rectangle([52.6, 29.8, 53.0, 30.1]);
var s2 = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterBounds(aoi)
.filterDate('2024-03-20', '2024-05-20')
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20));
var addNDVI = function(img) {
return img.addBands(img.normalizedDifference(['B8', 'B4']).rename('NDVI'));
};
var ndvi = s2.map(addNDVI).select('NDVI').median().clip(aoi);
Map.centerObject(aoi, 11);
Map.addLayer(ndvi, {min: -0.1, max: 0.8, palette: ['brown', 'yellow', 'green']}, 'NDVI');
Export.image.toDrive({image: ndvi, description: 'NDVI_Marvdasht', region: aoi, scale: 10, crs: 'EPSG:32639'});
مجموعه HARMONIZED مشکل آفست ۲۰۲۲ را خودش برطرف کرده است. برای نمودار سری زمانی، از ui.Chart.image.series با ورودی مجموعه NDVI و یک نقطه یا پلیگون استفاده کنید. اگر با محیط GEE آشنا نیستید، فیلم آموزشی گوگل ارث انجین و مستندات رسمی NDVI در Earth Engine را ببینید.
و در ENVI؟
در ENVI از Toolbox ← Spectral Indices، NDVI را انتخاب کنید؛ اگر متادیتای طول موج تصویر درست باشد، باندها خودکار شناسایی میشوند. در Band Math هم عبارت float(b1 - b2) / float(b1 + b2) را با b1 = NIR و b2 = Red اجرا کنید. برای کار جدیتر با ENVI، آموزش کاربردی ENVI را ببینید.
مثال عددی: محاسبه NDVI به صورت دستی برای سه پیکسل
قبل از اینکه به نرمافزار اعتماد کنید، یک بار محاسبه NDVI را با دست انجام دهید تا بدانید چه عددی باید ببینید. سه پیکسل از تصویر سنتینل ۲ L2A (مقادیر خام پس از کم کردن آفست ۱۰۰۰) را در نظر بگیرید:
| پیکسل | B4 (قرمز) | B8 (NIR) | محاسبه | NDVI |
|---|---|---|---|---|
| مزرعه گندم در خوشهدهی | ۴۲۰ | ۳۹۵۰ | (۳۹۵۰ − ۴۲۰) ÷ (۳۹۵۰ + ۴۲۰) | ۰٫۸۱ |
| زمین آیش | ۲۱۰۰ | ۲۶۵۰ | (۲۶۵۰ − ۲۱۰۰) ÷ (۲۶۵۰ + ۲۱۰۰) | ۰٫۱۲ |
| دریاچه سد | ۳۲۰ | ۱۸۰ | (۱۸۰ − ۳۲۰) ÷ (۱۸۰ + ۳۲۰) | ۰٫۲۸- |
اگر آفست را کم نکنید، برای زمین آیش عدد (۳۶۵۰ − ۳۱۰۰) ÷ (۳۶۵۰ + ۳۱۰۰) = ۰٫۰۸ به دست میآید؛ یعنی حدود ۳۵ درصد کمتر از مقدار واقعی. این همان خطای پنهانی است که بسیاری از پایاننامههای بعد از ۲۰۲۲ گرفتارش شدهاند. با ابزار Identify در ArcGIS Pro یا QGIS مقدار چند پیکسل را بخوانید و با این جدول بسنجید.
مقایسه سه روش روی یک منطقه
| معیار | ArcGIS Pro | QGIS | Google Earth Engine |
|---|---|---|---|
| هزینه | لایسنس | رایگان | رایگان (غیرتجاری) |
| دانلود تصویر | دستی یا Living Atlas | دستی یا SCP | لازم نیست |
| سری زمانی ۱۰ ساله | کند و دستی | کند و دستی | چند دقیقه |
| ترکیب با تحلیل GIS | بسیار قوی | قوی | محدود |
| نیاز به اینترنت | کم | کم | همیشگی (و گاهی فیلتر) |
| بهترین کاربرد | پروژههای سازمانی و نقشه نهایی | پروژههای دانشجویی کمهزینه | مطالعات چندساله و مناطق وسیع |
در آزمون ما روی محدودهای ۸۰۰ کیلومتر مربعی در مرودشت، با یک تصویر سنتینل ۲ تاریخ ۲۵ فروردین، میانگین NDVI در هر سه نرمافزار ۰٫۳۱۲ بود و اختلاف پیکسل به پیکسل کمتر از ۰٫۰۰۱ به دست آمد؛ یعنی انتخاب نرمافزار روی عدد اثری ندارد، اگر سطح پردازش و ضریب مقیاس یکسان باشد.
تفسیر مقادیر NDVI: عدد را به واقعیت ترجمه کنید
| بازه NDVI | تفسیر معمول | نمونه در ایران |
|---|---|---|
| کمتر از ۰ | آب، برف، ابر | دریاچه سد درودزن، برف دنا |
| ۰ تا ۰٫۱ | خاک لخت، سنگ، شهر، شورهزار | کویر مرکزی، بافت متراکم شهر |
| ۰٫۱ تا ۰٫۲۵ | پوشش تنک، مرتع فقیر، مزرعه تازه کشت | مراتع نیمهخشک، گندم در پنجهزنی |
| ۰٫۲۵ تا ۰٫۵ | پوشش متوسط، باغ، مزرعه در حال رشد | باغهای پسته، گندم در ساقهروی |
| ۰٫۵ تا ۰٫۹ | پوشش متراکم و سالم | جنگلهای هیرکانی، شالیزار مرداد، گندم در خوشهدهی |
تقویم زراعی و انتخاب تاریخ تصویر
| محصول / منطقه | اوج NDVI | بهترین بازه تصویر |
|---|---|---|
| گندم و جو آبی (فارس، خوزستان) | اواخر اسفند تا فروردین | بهمن تا اردیبهشت |
| گندم دیم (کرمانشاه، کردستان) | اردیبهشت | فروردین تا خرداد |
| برنج (گیلان، مازندران) | مرداد | تیر تا شهریور |
| ذرت علوفهای تابستانه | شهریور | مرداد تا مهر |
| باغها و جنگل | خرداد تا مرداد | اواسط تابستان |
NDVI یا شاخصهای دیگر؟ SAVI، EVI و NDRE
NDVI همهجا بهترین انتخاب نیست. دو مشکل اصلی آن، اثر خاک زمینه در پوشش تنک و اشباع در پوشش خیلی متراکم است.
| شاخص | فرمول (سنتینل ۲) | چه وقت استفاده کنیم |
|---|---|---|
| SAVI | 1.5 × (B8 − B4) / (B8 + B4 + 0.5) |
مناطق خشک و نیمهخشک با پوشش کمتر از ۴۰ درصد |
| EVI | 2.5 × (B8 − B4) / (B8 + 6×B4 − 7.5×B2 + 1) |
جنگلهای متراکم شمال که NDVI اشباع میشود |
| NDRE | (B8A − B5) / (B8A + B5) |
پایش نیتروژن و تنش در مراحل پایانی رشد |
| NDMI | (B8 − B11) / (B8 + B11) |
رطوبت گیاه و تنش آبی |
برای EVI حتماً بازتاب واقعی (۰ تا ۱) لازم است؛ اعداد صحیح ۰ تا ۱۰۰۰۰ فرمول را خراب میکنند. برای پایش آب سطحی و سیل هم بهجای شاخص گیاهی سراغ شاخص NDWI بروید. فهرست کامل شاخصها را در مستندات Spectral Indices در ENVI میبینید.
از نقشه NDVI به خروجی کاربردی
- میانگین هر مزرعه یا روستا: با Zonal Statistics میانگین، انحراف معیار و حداقل NDVI هر قطعه را در جدول بگیرید. مزارع با انحراف معیار بالا ناهمگناند و نیاز به بازدید دارند.
- کلاسبندی: با Reclassify نقشه را به ۴ یا ۵ کلاس پوشش تبدیل کنید و مساحت هر کلاس را گزارش دهید.
- تغییرات: NDVI دو سال را از هم کم کنید (dNDVI). مقادیر کمتر از ۰٫۱۵- معمولاً نشانه تخریب یا تغییر کاربریاند.
- ورودی مدل: NDVI ورودی فاکتور C در مدل RUSLE و یکی از باندهای کمکی در تهیه نقشه کاربری اراضی است.
برای دیدن کاربردهای مدیریتی، مطلب GIS برای مدیریت پوشش گیاهی و برای سریهای زمانی کاربرد گوگل ارث انجین در سریهای زمانی را بخوانید.
سری زمانی NDVI و پایش خشکسالی
یک تصویر تنها فقط وضعیت یک روز را نشان میدهد. قدرت واقعی NDVI در سری زمانی است: مقایسه میانگین فصل رشد در چند سال، یا رسم منحنی رشد یک مزرعه در طول فصل. در گوگل ارث انجین با چند خط کد به این خروجی میرسید:
var chart = ui.Chart.image.series({
imageCollection: s2.map(addNDVI).select('NDVI'),
region: aoi, reducer: ee.Reducer.mean(), scale: 20
}).setOptions({title: 'NDVI time series', vAxis: {title: 'NDVI'}});
print(chart);
به عنوان نمونه، میانگین NDVI فروردین در اراضی کشاورزی محدوده مطالعاتی ما در سه سال متوالی اینگونه بود:
| سال زراعی | بارش پاییز و زمستان (میلیمتر) | میانگین NDVI فروردین | تفسیر |
|---|---|---|---|
| ۱۴۰۰-۱۴۰۱ | ۱۸۵ | ۰٫۲۹ | سال خشک، کاهش سطح زیر کشت |
| ۱۴۰۱-۱۴۰۲ | ۳۴۰ | ۰٫۴۱ | سال نرمال |
| ۱۴۰۲-۱۴۰۳ | ۲۶۰ | ۰٫۳۵ | کمی پایینتر از نرمال |
همبستگی NDVI با بارش، پایه بسیاری از شاخصهای خشکسالی کشاورزی مثل VCI است: VCI = (NDVI − NDVImin) / (NDVImax − NDVImin) × 100 که در آن حداقل و حداکثر از همه سالها برای همان ماه گرفته میشود. VCI کمتر از ۳۵ نشانه خشکسالی کشاورزی است. برای مقایسه با شاخصهای بارش، ارزیابی خشکسالی بر اساس دادههای بارش را ببینید.
NDVI در مطالعات شهری و جزیره حرارتی
در شهرها NDVI معیاری سریع برای سرانه فضای سبز است. کافی است نقشه NDVI را با آستانه ۰٫۳ دودویی کنید، پیکسلهای سبز را در هر منطقه شهرداری با Zonal Statistics بشمارید و بر جمعیت تقسیم کنید. در یک بررسی نمونه روی تهران، مناطق شمالی با NDVI میانگین بالای ۰٫۳۵، بیش از ۴ درجه دمای سطح خنکتری نسبت به مناطق جنوبی با NDVI حدود ۰٫۱۲ داشتند. NDVI همچنین ورودی محاسبه گسیلمندی سطح در برآورد دما از لندست است؛ روش کامل را در محاسبه دمای سطح زمین با لندست ببینید. نکته: سقفهای سبز و چمنهای آبیاریشده NDVI بالایی دارند اما الزاماً سایهانداز نیستند؛ برای تحلیل دقیقتر NDVI را با ارتفاع پوشش (از DSM) ترکیب کنید.
NDVI از تصاویر پهپاد
دوربینهای چندطیفی پهپاد (مثل سریهای دارای باند Red و NIR) NDVI را با تفکیک چند سانتیمتری میدهند و برای کشاورزی دقیق، تشخیص لکههای آفت و برآورد نیاز کودی هر بخش از مزرعه عالیاند. نکته مهم، کالیبراسیون رادیومتریک با پنل مرجع قبل و بعد از پرواز است؛ بدون آن، NDVI دو پرواز با هم قابل مقایسه نیست. درباره برنامهریزی پرواز و دقت، دوره نقشهبرداری با پهپاد را ببینید. دوربینهای RGB معمولی NDVI واقعی نمیدهند و شاخصهایی مثل VARI یا ExG فقط جایگزین تقریبیاند.
خطاهای رایج در محاسبه NDVI و راه حل
| نشانه | علت | راه حل |
|---|---|---|
| همه پیکسلها ۰ یا ۱ | تقسیم عدد صحیح | استفاده از Float |
| مقادیر بین ۰ تا ۲۰۰ | Scientific Output خاموش | فعال کردن گزینه در Raster Function |
| NDVI کل تصویر پایین و کدر | تصویر Level-1 یا ابر نازک | Level-2A و ماسک ابر |
| نوار یا اختلاف ناگهانی بین دو کاشی | تاریخ متفاوت کاشیها | استفاده از تصاویر همتاریخ یا ترکیب میانه |
| پرش NDVI بعد از ژانویه ۲۰۲۲ | آفست جدید سنتینل ۲ | کم کردن ۱۰۰۰ یا مجموعه HARMONIZED |
| مرز مزارع جابهجا | سیستم مختصات اشتباه | بررسی CRS و رفع مشکل سیستم مختصات |
جمعبندی و نکات کلیدی
- فرمول محاسبه NDVI: (NIR − Red) / (NIR + Red)؛ سنتینل ۲: B8 و B4، لندست ۸ و ۹: B5 و B4.
- همیشه از بازتاب سطحی (L2A یا Collection 2 Level-2) و ماسک ابر استفاده کنید.
- ArcGIS Pro برای پروژه نهایی، QGIS برای کار رایگان و GEE برای سری زمانی بهتریناند.
- عدد NDVI را نسبی و با توجه به کاربری و تقویم زراعی تفسیر کنید.
- در مناطق خشک SAVI و در جنگل متراکم EVI را امتحان کنید.
پرسشهای متداول درباره محاسبه NDVI
برای محاسبه NDVI در سنتینل ۲ از کدام باندها استفاده کنیم؟
تفاوت NDVI و EVI چیست؟
چرا خروجی NDVI من به جای ۱- تا ۱، اعداد بزرگ یا فقط صفر و یک است؟
NDVI خوب برای مزرعه گندم چه عددی است؟
آیا محاسبه شاخص NDVI در گوگل ارث انجین رایگان است؟
بهترین وضوح مکانی برای محاسبه NDVI کدام است؟
مطالب مرتبط
از عدد NDVI به تصمیم کشاورزی و محیطزیستی برسید
محاسبه NDVI ساده است؛ تفسیر درست، سری زمانی و تحلیل ناحیهای آن مهارت است. در دوره RGIS Pro (مسیر ArcGIS Pro گیسلند) کار با تصاویر سنتینل و لندست، Raster Functions، Zonal Statistics و خروجی گزارش را روی پروژه واقعی تمرین میکنید.
- ۴۰ ساعت آموزش مهارتمحور و پروژهمحور ArcGIS Pro، از مقدماتی تا پیشرفته
- یک سال پشتیبانی و رفع اشکال رایگان پس از پایان دوره
- تمرین روی دادههای واقعی ایران؛ مناسب پایاننامه، پروژه سازمانی و بازار کار
- دسترسی مستقیم به مدرس: دکتر سعید جویزاده
مشاهده دوره RGIS Pro (ArcGIS Pro)سطح پیشرفتهتماس: ۰۹۱۲ ۰۴۳ ۸۸۷۴واتساپ: ۰۹۳۸ ۲۲۵ ۲۷۷۴
فرم ثبتنام و مشاوره رایگان دوره RGIS Pro
نام و شمارهتان را بگذارید تا کارشناسان GISLAND برای مشاوره رایگان، تعیین سطح و زمانبندی کلاس با شما تماس بگیرند. اطلاعات شما فقط برای همین تماس استفاده میشود.
ترجیح میدهید مستقیم صحبت کنید؟ تماس ۰۹۱۲۰۴۳۸۸۷۴ یا ۰۹۳۸۲۲۵۲۷۷۴ · واتساپ ۰۹۳۸۲۲۵۲۷۷۴

بدون دیدگاه