単に、膨大かつ広範囲な分析が可能となるだけではなく、
今までの常識では考えられなかった手法も出始めている。
そうした手法の一つがGEEによって実装されているSimple Compositeである。
リモートセンシングにおいて最も頭を悩ませる問題の一つは「雲」である。
特に、年間を通して雲が多い地域では分析する上で大きな障害となる。
この問題に対するアプローチの一つがSimple Compositeという手法である。
この手法はLandsatに特化した手法の一つであり、
複数のシーンについて雲量(Cloud Score)を評価した後に、
同じ地点のピクセルの平均値をとって合成する。
とりあえず、試してみる。
まずは、Landsat 8 のImage Collection を検索してインポートし、
その変数名を「landsat8」としておく。
また、可視化パラメータを以下のように準備する。
// トゥルーカラーパレットを定義する。
var trueColorParam = {
bands: ['B4', 'B3', 'B2'],
gamma: 1,
max: 0.3,
min: 0.0
};
// フォールスカラーパレットを定義する。
var falseColorParam = {
bands: ['B5', 'B4', 'B3'],
gamma: 1,
max: 0.3,
min: 0.0
}
// ナチュラルカラーパレットを定義する。
var naturalColorParam = {
bands: ['B4', 'B5', 'B3'],
gamma: 1,
max: 0.3,
min: 0.0
}
var trueColorParam = {
bands: ['B4', 'B3', 'B2'],
gamma: 1,
max: 0.3,
min: 0.0
};
// フォールスカラーパレットを定義する。
var falseColorParam = {
bands: ['B5', 'B4', 'B3'],
gamma: 1,
max: 0.3,
min: 0.0
}
// ナチュラルカラーパレットを定義する。
var naturalColorParam = {
bands: ['B4', 'B5', 'B3'],
gamma: 1,
max: 0.3,
min: 0.0
}
ここで、最小値〜最大値の範囲が「0.0〜0.3」となっているのは、
大気上端反射率(TOA Reflectance)に対応させるため。
詳しく、いずれ説明する。
次に、インポートしたImageCollectionを時期と場所でフィルタリングする。
Landsat 8のメタ情報を使ってパスとロウから範囲をフィルタリングする。
// 時間とWRS-2でフィルタリングし、近畿圏の画像を取得する。
var l8filtered = landsat8
.filterDate('2016-01-01', '2016-12-31')
.filterMetadata('WRS_PATH', 'equals', 110)
.filterMetadata('WRS_ROW', 'equals', 36);
Simple Composite の画像を生成する方法は以下の通り。二通りを試してみる。
ひとつ目は、既定のパラメータを使って合成する方法。
ふたつ目は、CloudScoreの結果を使って合成する方法。
// 既定のパラメータを使って雲の無い合成画像を取得する。
var defaultComposite = ee.Algorithms.Landsat.simpleComposite({
collection: l8filtered,
asFloat: true
});
// クラウドスコアを用いて雲の無い合成画像を取得する。
// クラウドスコアを用いて雲の無い合成画像を取得する。
var defaultComposite = ee.Algorithms.Landsat.simpleComposite({
collection: l8filtered,
percentile: 10,
cloudScoreRange:0,
percentile: 10,
cloudScoreRange:0,
asFloat: true
});
そして最後に表示させる。
// 近畿圏の画像範囲へ移動し、表示します。
Map.centerObject(l8filtered, 10);
Map.addLayer(
defaultComposite,
trueColorParam,
'Default Composite'
);
Map.addLayer(
customComposite,
trueColorParam,
'Custom Composite'
);
Map.addLayer(
defaultComposite,
trueColorParam,
'Default Composite'
);
Map.addLayer(
customComposite,
trueColorParam,
'Custom Composite'
);
試しに、既定のパラメータを用いたもの(左)と、
Cloud Scoreを使った方法(右)を並べて表示してみる。
上手くパラメータを設定すると精度の高い雲なし衛星画像を生成できる。
ちなみに、並べて比較するにはMapLinkerを使う。
この方法を用いると、一年中、どこかに雲が出ている地域であっても、
雲のない衛星画像を生成することができる。
東南アジアなどを調査地域にしている研究者にはかなり貴重な情報源になる。
とはいうものの、問題が無いわけではない。
例えば、日本のように四季を通じて植生が大きく異なる地域の場合、
結果として出力される衛星画像の各々のピクセルは平均されているため、
Simple Compositeを使って得られた画像の使い方や解釈の仕方には注意が必要である。
いずれにせよ、こういった発想は非常に面白い。
一般的な手法として受け入れられるには時間がかかるかもしれないが、
ビッグデータ時代の手法の一つとして期待したい。
This work is licensed under a Creative Commons Attribution 4.0 International License.
0 件のコメント:
コメントを投稿