Sentinel-2

センチネル2

Sentinel-2

Sentinel-2とは、ESA(欧州宇宙機関)が主導するCopernicus計画の地球観測衛星であり、可視光から短波赤外域にわたる13バンドの多スペクトル画像を10〜60mの解像度で取得し、5日程度の再訪周期で陸域を継続的に観測する。農地・植生モニタリング、土地被覆分類、災害前後比較などに広く活用され、データはフルオープン・無償で公開されている。

Sentinel-2とは、ESA(欧州宇宙機関)の Copernicus 地球観測プログラムのもとで運用される光学衛星である。Sentinel-2A と Sentinel-2B の2機がペアで稼働し、赤道付近の陸域を5日程度の頻度で継続的に撮影している。データはフルオープン・無償で提供されており、研究用途から商用プロダクトへの組み込みまで幅広く利用できる。

観測スペックと13バンドの構成

可視光(青・緑・赤)から近赤外(NIR)・短波赤外(SWIR)まで13バンドを網羅し、解像度は10m・20m・60mの3段階。B02〜B04・B08の4バンドが10m解像度で取得でき、詳細な地表解析に適している。SCL(シーン分類レイヤー)やCLD(雲確率)もセットで提供されるため、雲マスク処理も比較的容易に行える。

代表的な指数として NDVI(正規化植生指数) がある。計算式は (B08 − B04) / (B08 + B04) で、値が高いほど植生が活発であることを示す。農地の生育状況モニタリングや森林変化の検出に広く活用されている。

プロダクトレベルの選び方

データは2種のレベルで提供されている。

  • Level-1C: 大気補正前のTOA(大気上端)反射率。特別な理由がなければ地表解析には使わない。
  • Level-2A: 大気補正済みの地表面反射率。ほぼすべての解析シナリオで標準となるプロダクトで、Copernicus Data SpaceのAPIでは sentinel-2-l2a として提供される。

迷ったら L2A を選べばよい。

データの取得方法と料金

最も手軽なのは Copernicus Browser を使う方法だ。ブラウザ上でエリアと日付・雲量フィルタを設定し、GeoTIFF形式でダウンロードできる。コード処理を前提にする場合は、Copernicus Data Space Ecosystem の API か Google Cloud Public Dataset を経由して自動取得するパイプラインを組む形が一般的だ。

データ自体は無償だが、大量のタイルをクラウドで処理する場合は計算・ストレージ・転送コストが別途発生する点には注意が必要だ。

Pythonでの基本的な処理フロー

rasterio を使えば、ダウンロードした L2A タイル(.jp2 形式)をそのまま読み込める。B04 と B08 を numpy 配列として取得して NDVI を計算し、GeoTIFF に保存するワークフローはコード 30 行程度で完結する。さらに scikit-learn の KMeans を組み合わせると、林地・水域・都市域といった土地被覆の簡易クラスタリングも試せる(クラスタの意味づけは別途解釈が必要)。