[GEE入門]衛星画像の合成、モザイク化、切り抜き
概要
この記事では、同一の地域を撮影した衛星画像をバンド値の最大値や中央値に集約して一枚の画像に合成の方法と、複数の地域を撮影した衛星画像をつなぎ合わせて一枚の画像に合成するモザイク化、そして衛星画像を任意のポリゴン等で切り抜く方法を掲載します。
重複する画像を単一の画像に合成する
位置を示すジオメトリでフィルタリングしたイメージコレクションを集約関数(max, meddian)を使って一枚のイメージへ変換します。
・最大値で合成
1 2 3 4 5 6 7 8 9 10 11 |
var geometry = ee.Geometry.Point([139.75242390930623, 35.815842274316665]); Map.centerObject(geometry, 7); // 1年間のLandsat 8 TOAデータを取得する var ImageCollection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA') .filterDate('2016-01-01', '2016-12-31') .filterBounds(geometry) //同一の空間を撮影した衛星画像に絞り込む //各バンド値を最大値で集約し合成する var maxImage = ImageCollection.max(); Map.addLayer(maxImage, {bands: ['B4', 'B3', 'B2']}) |
・中央値で合成
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var geometry = ee.Geometry.Point([139.75242390930623, 35.815842274316665]); Map.centerObject(geometry, 7); // 1年間のLandsat 8 TOAデータを取得する var ImageCollection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA') .filterDate('2016-01-01', '2016-12-31') .filterBounds(geometry, 7) //同一の空間を撮影した衛星画像に絞り込む //各バンド値を中央値で集約し合成する var medianImage = ImageCollection.median(); Map.addLayer(medianImage, {bands: ['B4', 'B3', 'B2']}) |
上記のほかにも、min (最小値)や mean (平均値) などの集約関数があります。
複数の画像を合成し一枚の画像に合成する(モザイク化)
隣り合った2枚のイメージを一枚のイメージに変換します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
var geometry1 = ee.Geometry.Point([139.75242390930623, 35.815842274316665]), geometry2 = ee.Geometry.Point([138.30772176086873, 36.19356370099665]); // 地点1の衛星画像を取得 var Image1= ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA') .filterDate('2016-01-01', '2016-12-31') .filterBounds(geometry1) .first() //地点2の衛星画像を取得 var Image2 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA') .filterDate('2016-01-01', '2016-12-31') .filterBounds(geometry2) .first() Map.centerObject(geometry1, 7) //2枚の衛星画像をイメージコレクションに収める var ImageCollection= ee.ImageCollection([Image1, Image2]); //イメージコレクション内の画像を合成して一枚の画像に変換する var mosaic = ImageCollection.mosaic(); Map.addLayer(mosaic, {bands: ['B4', 'B3', 'B2'], max:0.4}) |
画像を切り抜く
ロードした衛星画像を任意のポリゴンで切り抜きます。
切り抜いた画像はGoogleドライブへエクスポートすることができます。
エクスポートの方法については後日掲載する「[GEE入門]衛星画像のエクスポート(画像/動画/タイル)」をお待ちください。
ここでは、先ほどモザイク化した画像を星型のポリゴンで切り抜いてみます。
(ポリゴンの作成はmap viewのジオメトリーツールを使うと簡単です)
・ジオメトリーツールでポリゴンを描く
・衛星画像をポリゴンで切り抜く
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
var polygon = ee.Geometry.Polygon([ [ [139.23372640653156, 36.628681283456665], [138.9013899807503, 36.3327552353749], [138.21199789090656, 36.3327552353749], [138.8244856838753, 35.94013885144697], [138.2641829495003, 35.47849135262751], [139.24471273465656, 35.79546514675987], [140.0055159573128, 35.310568930489744], [139.57979574246906, 36.05346701602968], [140.35433187528156, 36.29734530140465], [139.4342268948128, 36.34160520545565] ] ]); var cliped = mosaic.clip(polygon) Map.addLayer(cliped, {bands: ['B4', 'B3', 'B2'], max:0.4}); |
アドベントカレンダー
この記事は、Google Earth / Google Earth Engine Advent Calendar 2018への参加投稿です。