2018/12/29

文系のための「GEEでのイメージの切り出し」

Google Earth Engine(GEE)における最大の魅力はその処理能力である。
全世界規模での解析を一瞬にして実現できてしまう。
これは従来のリモートセンシングとは大きく異なる点である。

とは言うものの…解析範囲は最低限で…ということもある。

GEEの処理速度は驚異的ではあるけれど、
無駄に広い範囲のデータを準備してしまうと、
さすがに、表示速度は遅くなってしまう

ということで、今回は必要な範囲を切り出す方法を整理する。
実際には色々と方法はあるけれど、Google Driveへの保存方法と同様に、
ジオメトリの範囲で切り出す方法を実験してみることにする。

ジオメトリはジオメトリツールも使えるけれど、今回は手入力で準備する。

var area = ee.Geometry.Polygon(
    [
      [135.12,34.76],
      [135.12,34.6],
      [135.4,34.6],
      [135.4,34.76],
      [135.4,34.76],
      [135.12,34.76]
    ]
);

次に画像を準備する。今回も神戸市周辺のLandsat 8の画像にしておく。
今回は、Landsat 8 (Collection 1 Tier 1 TOA Refectance) のデータをインポートし、
変数名を「landsat8」としておく。詳細は以前の記事を参照…

var ln8_2016 = ee.Image(
                landsat8
                .filterDate("2016-01-01""2016-12-31")
                .filterBounds(area)
                .sort("CLOUD_COVER")
                .first()
);

では、フィルタリングをかけて抽出した衛星画像をジオメトリで切り出す。

var ln8_2016_clip = ln8_2016.clip(area);

処理方法は非常に簡単である。Image オブジェクトclip() オペレーションを使用し、
パラメータにジオメトリを指定するだけである。
今回は、ポリゴンとして作成した幾何オブジェクト「area」を指定している。

最後にこの結果を表示してみる。

Map.centerObject(area);

Map.addLayer(area);
Map.addLayer(ln8_2016_clip,
  {
    bands:["B4", "B3", "B2"],
    min: 0.0,
    max: 0.2
  });

以下が表示結果。無事に作成したオブジェクトによって切り出されている。


https://code.earthengine.google.com/d5813f0c376bf5d6f468833d075db1f1


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

0 件のコメント:

コメントを投稿