日本も複数の地球観測衛星を打ち上げていて、
国内外の研究で活用されている。
ということで…
今回は国産の人工衛星である「だいち(ALOS)」のデータを使ってみる。
この人工衛星にはPRISM、AVNIR-2、PALSARの三つの観測機器が搭載されていて、
今回はAVNIR-2(高性能可視近赤外放射計2型)に焦点を当ててみる。
AVNIR-2センサは1996年に打ち上げられた「みどり」に搭載されたセンサー、
AVNIRの改良型であり、RGBの可視光に加えて近赤外の波長帯を観測する。
AVNIR-2の基本スペックは以下の通り…。
- 観測波長帯:
- Band 1 : 0.42 〜 0.50μm(青色光)
- Band 2 : 0.52 〜 0.60μm(緑色光)
- Band 3 : 0.61 〜 0.69μm(赤色光)
- Band 4 : 0.76 〜 0.89μm(近赤外光)
- 地上分解能:
- 10m
- 観測幅:
- 70km
Landsat 8 と比較すると波長帯の数が少ないが、
地上分解能が高いため、解像度の高い画像を得ることができ、
土地被覆分類図や土地利用分類図などへの利用が想定されている。
GEEでこのセンサーで取得されたデータを使用するためには、
Code Editor の検索バーで「ALOS/AVNIR-2 ORI」と検索する。
すると、RASTERS の項目に候補が現れる。
現れた候補をクリックすると、このデータセットの説明を見ることができる。
説明をみてみると、各バンドの値は1〜255に正規化されていることが解る。
内容を確認できたら「Import」ボタンを押して、インポートする。
インポート名はそのままでも良いが、変数は解りやすい方が良い。
ということで、今回は規定の「imageCollection」という変数を
「avnir2」という変数名に変更しておくことにする。
Landsat の場合には「Cloud Score」のメタ情報を上手く使って、
雲量が少ない順にデータを並べ替えることができたが、
ALOSにはそうした情報がメタデータに含まれていない…。
そのため、必要なデータに関しては何らかの方法で検索する必要がある。
今回はJAXAのALOSのデータセット検索ツールを使用する。
とりあえず、以下のページに移動してみる…。
「ALOS オルソ補正画像プロダクト(ALOS-ORI)」と書かれた直下に
Google Maps が表示されていて、その地図上に観測範囲と
その中心にピンが配置されているハズ。
そして、必要な範囲に相当する場所のピンをクリックすると、
その範囲を撮影した範囲のリストがポップアップで表示されるので、
最上段の「View all」をクリックしてリストを開く。
リストを開くと、サムネイル付きで衛星画像の詳細を確認できるので、
このリストを確認しながら雲量の少ない画像を探す。
そして、使えそうな画像を発見したら「SCENE ID」を控えておく。
とりあえず、近畿地方の三つの画像をピックアップしてみた…。
- ALAV2A172272900
- ALAV2A122822900
- ALAV2A127052900
本来であれば近い時期のものを選ぶ必要があるが、
雲が出やすい地域では、少々、厄介である。
ということで、今回は練習なので気にしないことにする。
再び、Code Editor に戻って、次のように変数を作成する。
var kinki_1 = ee.Image(avnir2
.filterMetadata('SCENE_ID', 'equals', 'ALAV2A172272900')
.first()
);
var kinki_2 = ee.Image(avnir2
.filterMetadata('SCENE_ID', 'equals', 'ALAV2A122822900')
.first()
);
var kinki_3 = ee.Image(avnir2
.filterMetadata('SCENE_ID', 'equals', 'ALAV2A127052900')
.first()
);
.filterMetadata('SCENE_ID', 'equals', 'ALAV2A172272900')
.first()
);
var kinki_2 = ee.Image(avnir2
.filterMetadata('SCENE_ID', 'equals', 'ALAV2A122822900')
.first()
);
var kinki_3 = ee.Image(avnir2
.filterMetadata('SCENE_ID', 'equals', 'ALAV2A127052900')
.first()
);
ここでポイントとなるのは .filterMetadata 関数の部分である。
メタデータの「SCENE_ID」が一致(equals)となるように、
フィルタリングを行って必要なImageCollectionを抽出する。
ただし、この処理によって検索されるハズの画像は一枚だけなので、
最後に .first() 関数を使ってImageCollection からImageに変換している。
少し、ややこしいかもしれない。
これで必要な画像を表示することができるが、分析するには不便である。
そのため、三つの Image を新しい ImageCollection として統合し、
そこからモザイク画像を作成してみる。
// Create a ImageCollection by using extracted three images.
var kinki = ee.ImageCollection([kinki_1,kinki_2,kinki_3]);
// Create a mosaic from the ImageCollection.
var kinki_mosaic = kinki.mosaic();
// Add the result to the map layer.
Map.addLayer(
kinki_mosaic,
{
bands: ['B4', 'B3', 'B2'],
max: 255,
min: 1
}
);
var kinki = ee.ImageCollection([kinki_1,kinki_2,kinki_3]);
// Create a mosaic from the ImageCollection.
var kinki_mosaic = kinki.mosaic();
// Add the result to the map layer.
Map.addLayer(
kinki_mosaic,
{
bands: ['B4', 'B3', 'B2'],
max: 255,
min: 1
}
);
これを実行すると以下のようになる。
This work is licensed under a Creative Commons Attribution 4.0 International License.
0 件のコメント:
コメントを投稿