コンテンツへスキップ
QGIS
ガイド

NDVIとは?意味・値の見方・計算式をQGISで解説

公開日

NDVI(正規化植生指数、Normalized Difference Vegetation Index)とは、衛星画像の1ピクセルに健全な緑の植生がどれだけ含まれているかを、−1から+1の数値で表す指標です。地表が反射する2種類の光、目に見えない近赤外光と赤色光を比べて求めます。NDVI = (NIR − Red) / (NIR + Red)。密な作物や森林はおよそ0.6〜0.9、裸地は0.1前後、水域は0未満になります。

2本の川が合流するインド・パンジャーブ州ハリケ湿地周辺の農地のSentinel-2画像と、同じ範囲のNDVIマップ。畑は濃い緑、集落と砂地は淡いオレンジ、川と貯水池は赤で表示されている。 (after)
2本の川が合流するインド・パンジャーブ州ハリケ湿地周辺の農地のSentinel-2画像と、同じ範囲のNDVIマップ。畑は濃い緑、集落と砂地は淡いオレンジ、川と貯水池は赤で表示されている。 (before)
編集前編集後
ドラッグして比較
パンジャーブ州ハリケ、2026年9月8日。衛星画像と、そのNDVI。緑は密な作物、赤は水域です。

NDVIが最もよく使われる植生指数なのは、ほぼすべての衛星と多くのドローンカメラがこの2種類の光を記録していて、ピクセルごとの1つの数値なら地図にしやすく、時間を追った比較も簡単だからです。農家は畑の生育が弱い場所を見つけるために、林業の担当者は干ばつの推移を追うために、都市計画の担当者は街の緑の量を測るために使います。QGISなら数分で無料で計算できます(手順は下記)。私たちが開発しているQGISプラグインAI Agentに、1文で頼むこともできます。

NDVIの仕組み

植物は赤色光を使い、近赤外光を跳ね返します。健全な葉は成長のために赤色光の大半を吸収し、近赤外光の大半を反射します。NASA Earthdataによると、植物が干ばつや病気で弱ると、赤色光の反射が増えて近赤外光の反射が減り、両者の差が縮まります。

4種類の地表について、赤色光と近赤外光の反射率を示した棒グラフ。健全な作物は赤4%、近赤外40%でNDVI 0.82。ストレスのある作物は赤8%、近赤外30%でNDVI 0.58。裸地は赤20%、近赤外28%でNDVI 0.17。水域は赤5%、近赤外2%でNDVIはマイナス0.43。
健全な葉は赤色光を吸収し、近赤外光を跳ね返します。差が大きいほどNDVIは高くなります。

NDVIは、この差を1つの数値にします。

NDVI = (NIR − Red) / (NIR + Red)

近赤外光を40%、赤色光を4%反射する健全な小麦畑なら、(0.40 − 0.04) / (0.40 + 0.04) = 0.82です。裸地が28%と20%を反射する場合は、(0.28 − 0.20) / (0.28 + 0.20) = 0.17になります。和で割ることで指数が「正規化」されるため、日陰の畑と日なたの同じ畑でも近い値になります。

研究者がこの指数を衛星画像に初めて使ったのは1974年で、最初のLandsat衛星からアメリカのグレートプレーンズの作物を観測するためでした。

NDVIの値の見方

米国地質調査所(USGS)が示す範囲が、多くの資料で使われています。目安として捉えてください。

NDVI主な対象
0未満水域、雲、雪
0〜0.1露岩、砂地、裸地、市街地
0.2〜0.5まばらな植生:草地、低木、若い作物や成熟期の作物
0.6〜0.9密な植生:森林、生育のピークにある作物

USGSの表現では、不毛地は「0.1以下」、まばらな植生は「およそ0.2〜0.5」、密な植生は「およそ0.6〜0.9」です。同じ畑が1年のうちにこの3段階をすべて通ることを、次の節で示します。

1年間のNDVIの変化を実測する

NDVIの値は、日付とセットで見て初めて意味を持ちます。それを示すため、インド・パンジャーブ州の農地1枚を、1年分のSentinel-2衛星画像で追跡しました。同じ畑が6月上旬は0.06、9月上旬は0.92でした。同じ場所が、裸地から密な作物へ変わったことになります。

2025年9月から2026年9月までの、パンジャーブ州ハリケ近郊の農地1枚のNDVIの折れ線グラフ。10月の稲刈りで値が下がり、冬に小麦が育つにつれて約0.91まで上がり、4月の小麦の収穫後に下がって、5月と6月の裸地の時期には約0.06になり、7月から9月に稲が育って再び約0.92まで上がる。ハリケの町を示す灰色の線は、1年を通して0.05から0.17の間にとどまる。
1枚の畑、雲のない60日分。年2作なので山が2つあり、隣の町は平らなままです。

曲線は農作業の暦をなぞります。小麦は冬に育って2月ごろにピークを迎え、4月の収穫後に畑は裸地になり、稲は6月下旬に植えられて8〜9月にピークを迎えます。近くの町は、1年を通して0.05〜0.17にとどまります。つまり「0.2」は、月によって若い作物にも、収穫後の畑にも、集落にもなります。

測定方法。 2025年9月26日から2026年9月26日までの、この地域のSentinel-2画像87枚をすべて使い、サンプル地点は値を見る前に決めました。各地点は10mのピクセル3×3個の平均で、雲や影がかかっていない日付だけを数えています。この畑では60日分です。

パンジャーブ州ハリケ周辺のSentinel-2トゥルーカラー画像。サンプル地点を示す黄色い点が5つあり、農地A、農地B、ハリケの町、堰の池、川沿いの氾濫原の砂地を表している。
NDVIの値を見る前に選んだ5つのサンプル地点。上のグラフは農地Aを追っています。

衛星ごとのバンドの選び方

式は変わりませんが、衛星ごとにバンド(記録する光の色)の番号が違います。取り違えるのは、最初によくあるミスです。

データ赤のバンド近赤外のバンドピクセルサイズ観測頻度
Sentinel-2(ESA)B4、665nmB8、842nm10m5日以内
Landsat 8・9(USGS)バンド4バンド530m2機合わせて8日
Landsat 4〜7バンド3バンド430m1982年までさかのぼるアーカイブ
MODIS(NASA)NDVIプロダクトが提供済み、MOD13Q1250m16日コンポジット
マルチスペクトルのドローンカメラ赤のバンドNIRバンド数cm飛ばしたとき

畑や農場にはSentinel-2が標準です。無料で、ピクセルは10m、数日ごとに新しい画像が届きます。2015年より前にさかのぼるならLandsat、国全体を2週間ごとに見るならMODISを使います。通常のドローンカメラは近赤外を記録しないため、NDVIを計算できません。シーンの探し方とストリーミングはQGISでSentinel-2をダウンロードする方法を参照してください。

NDVIを黙って下げるSentinel-2のオフセット

2022年1月25日以降のSentinel-2ファイルは、すべての値に1,000が加算されています。ESAのデータ品質レポートは、これを引くように指示しています。反射率(反射された光の割合)=(値 − 1000)/ 10000です。生の値にそのまま (B8 − B4) / (B8 + B4) を当てはめる定番チュートリアルの式はこの手順を飛ばしており、結果が低く出ます。

誤差は、最も重要な健全な作物で最大になります。

対象正しいNDVI1,000を忘れた場合のNDVI誤差
密な作物0.820.56−0.26
裸地0.170.12−0.05

健全な作物が「密」の区分から「まばら」の区分に落ちてしまいます。ハリケの画像では、0.6を超える面積の割合が、オフセットを忘れると73%から14%に下がります。確認したQGISのNDVIチュートリアル9本のどれにも、この点の記載はありませんでした。

ソースによっては、すでにオフセットを取り除いてあります。引く前に確認してください。「地物情報を表示」ツールでピクセルをクリックし、数千の値なら生の値、0から約1の値なら反射率です。

NDVIの限界

NDVIが測るのは緑の濃さであって、緑の濃さは健康状態と同じではありません。実際のプロジェクトでは、次の4つの限界に当たります。

  • 頭打ちになる。 非常に密な植生ではNDVIが0.85〜0.9前後にとどまり、緑豊かな畑と非常に緑豊かな畑を区別できません。
  • 土壌の色が混ざる。 植物がまばらな場所では、暗い土と明るい土で、同じ植物でも値が変わります。
  • 雲で値が偽装される。 薄い雲でもNDVIが下がるため、平均する前に雲のかかったピクセルを除いてください。
  • 衛星ごとに少し違う。 Sentinel-2とLandsatは、同じ畑で近い値を出しますが、完全には一致しません。

こうした限界が効いてくる場面では、別の指数のほうが向いています。

指数使う場面
EVI熱帯林のように植生が非常に密で、NDVIが上がらなくなる場合
SAVI若い作物や乾燥地のように植物がまばらで、土壌が多く見える場合
NDREシーズン後半に作物の窒素を追う場合(レッドエッジバンドが必要で、Sentinel-2にはある)
NDWI植物ではなく水域を地図にしたい場合

QGISでNDVIを計算する方法

赤と近赤外のバンドを読み込む

Sentinel-2では、バンド B04(赤)と B08(近赤外)を読み込みます。入手とストリーミングはSentinel-2のガイドの手順に従ってください。「地物情報を表示」ツールでピクセルをクリックし、数千の値なら生の値、0〜1の値なら補正済みです。

ラスタ計算機を開く

「ラスタ」→「ラスタ計算機」を開きます。レイヤ名を使って式を入力します。反射率の場合は ("B08@1" - "B04@1") / ("B08@1" + "B04@1") です。2022年以降の生の値では、先に各バンドから1,000を引きます。(("B08@1" - 1000) - ("B04@1" - 1000)) / (("B08@1" - 1000) + ("B04@1" - 1000))。範囲はタイル全体ではなく、対象のエリアに設定します。

結果にスタイルを付ける

レイヤのプロパティの「シンボロジ」を開き、描画タイプを「単バンド疑似カラー」にして、−0.2から0.9までの赤・黄・緑のカラーランプを選びます。水域は赤茶色、畑は緑になります。

畑ごとに集計する

プロセシングツールボックスの「ゾーン統計量」に畑のポリゴンを指定して実行すると、畑ごとのNDVI平均が属性として得られます。

次の画面は、各バンドから先に1,000を引く、生のSentinel-2の値向けの式を入れたラスタ計算機です。

QGISのラスタ計算機。左にバンドB04_redとB08_nirが並んでいる。式は(B08_nirから1000を引いたものからB04_redから1000を引いたものを引く)を(B08_nirから1000を引いたものにB04_redから1000を引いたものを足す)で割る形で、Expression validと表示され、出力はGeoTIFF。
Sentinel-2のオフセットを取り除いた、ラスタ計算機のNDVIの式。

そして、赤から緑にスタイルを付けた結果です。凡例はレイヤパネルに表示されています。

ハリケ周辺のNDVIレイヤを赤から緑にスタイル付けしたQGISの画面。レイヤパネルの凡例は、水域と裸の砂地を表す−0.2から、密な作物を表す0.9まで。畑は緑、川と貯水池は赤、集落と砂地は淡いオレンジ。
赤から緑にスタイル付けしたNDVI。畑は緑、水域は赤で表示されます。

1つのメッセージで

私たちはAI Agentを開発しているので、ここは自社のプラグインの話です。上の手順は、慣れれば10分ほどです。プラグインなら、作業を文章で入力するだけです。新しいプロジェクトを既定の設定で開き、次のように送りました。「パンジャーブ州ハリケ周辺の畑について、雲のない最新のSentinel-2画像からNDVIを計算し、赤から緑にスタイルを付けて、0.6を超えるエリアの割合を教えてください。」

プラグインは9月の画像5枚を確認し、雲のある2枚を除外して9月8日の画像を使い、オフセットを取り除いて、約3分30秒で答えました。17km²のエリアの75%が0.6を超えていました。NDVIは、私が手作業で出したものとピクセル単位で一致しました。

右にAI Agentパネル、左にハリケ近郊の畑のNDVIマップを表示したQGIS。マップはほぼ緑で、川がオレンジ。エージェントは、2026年9月8日のハリケのNDVIが10mで赤から緑に表示されていること、9月8日がエリア上に雲も影もない最新のシーンだったこと、NDVIが0.6を超えるのは17.04km²のエリアのうち12.86km²、75.47%であることを伝えている。
1文を入力すると、スタイル付きのNDVIレイヤと答えが返ってきます。

作業用のレイヤもプロジェクトに残り、エリアを「4km×4km」と呼んでいましたが、実際は3.8×4.5kmです。細かな点ですが、引用する数値は確認してください。

QGISでAI Agentを無料で試す。カード不要

要点

NDVI = (NIR − Red) / (NIR + Red)で、値は−1から+1です。密な作物や森林はおよそ0.6〜0.9、裸地は約0.1、水域は0未満になります。

同じ畑が1年のうちに全範囲を通るため、NDVIの値は日付とセットでなければ意味を持ちません。パンジャーブ州の畑は、6月上旬に0.06、9月上旬に0.92でした。

Sentinel-2のNDVIには、10mのB8とB4を使います。2022年1月25日以降の生のレベル2Aの値には−1000のオフセットが付いていて、無視すると密な作物のNDVIが0.82から0.56に下がります。

NDVIは密な林冠で頭打ちになり、土壌と雲の影響を受けます。こうした場面では、EVI、SAVI、NDREのほうが向いています。

よくある質問

作物のNDVIは、どのくらいなら良い値ですか?

生育のピークにある健全な作物は、通常0.6〜0.9です。シーズン初めで植物が土壌をあまり覆っていない時期は、0.2〜0.4が普通です。固定のしきい値と比べるのではなく、同じ畑のシーズン内の推移や、同じ日付の同じ作物の隣の畑と比べてください。

NDVIがマイナスになるのは何を意味しますか?

ほぼ必ず、水域、雲、雪です。これらは近赤外光より赤色光を多く反射します。澄んだ開水面は通常0未満になりますが、濁った水や浅い水は0のすぐ上になることがあるため、NDVIだけで水域を検出するのは向いていません。

NDVIにはSentinel-2のどのバンドを使いますか?

B8(近赤外、842nm)とB4(赤、665nm)で、どちらも10mです。反射率に対して、NDVI = (B8 − B4) / (B8 + B4)とします。2022年1月25日以降に処理された生のレベル2Aの値では、先に各バンドから1,000のオフセットを引きます。

NDVIとNDREの違いは何ですか?

NDREは、赤のバンドの代わりにレッドエッジバンドを使います。NDVIが頭打ちになる密な林冠でも反応し続けるため、窒素やシーズン後半の作物の活力を見るのに向いています。Sentinel-2やマルチスペクトルのドローンカメラなど、レッドエッジバンドを持つセンサーが必要です。

普通のドローン写真からNDVIは計算できますか?

できません。NDVIには近赤外バンドが必要ですが、通常のRGBカメラが記録するのは赤・緑・青だけです。VARIのような可視光の指数もありますが、代替としては精度が劣ります。ドローンでNDVIを得るには、マルチスペクトルカメラが必要です。

QGISでNDVIを自動で計算できますか?

QGISにワンクリックのNDVIボタンはありませんが、上に示したとおり、ラスタ計算機で式を1つ入れれば計算できます。手順を省くには、AIエージェント系のプラグインを使うと、1文で画像を探し、NDVIを計算し、スタイルまで付けられます。当社のAI Agentは、パンジャーブ州の農業地帯でこれを約3分30秒で行いました。

NDVIのデータは、どこで無料で入手できますか?

Sentinel-2(10m)またはLandsat(30m)から自分で計算できます。どちらも無料です。NASAが提供済みのMODIS NDVI(MOD13Q1、250m、16日ごと)をダウンロードする方法もあります。QGISなら、ラスタ計算機で2つのバンドから1分ほどで計算できます。

画像の入手には、QGISでSentinel-2をダウンロードする方法が4つの方法を比較し、シーンの選択とストリーミングまで説明しています。マルチスペクトルとハイパースペクトルの違いは指数の元になるバンドを解説し、QGISでの樹冠マッピングは、植生を指数からポリゴンへ進めます。AI Agentは、QGISでNDVIの作業全体を1文で実行し、QGIS AIハブは、ほかのAIプラグインを用途別に一覧にしています。