LoginSignup
1
2

More than 5 years have passed since last update.

Google Earth Engine におけるSentinelのOverlap問題

Posted at

初めに

Landsatよりも解像度の細かいSentinelデータはGoogle Earth Engine(以下、GEE)上でも自由に使うことができる。その際の注意点として、全く同じ時間に撮られた画像でもoverlapが発生していることがあげられる(後述)。Sentinelデータは一つの画像を複数のパーツに分けて格納しており(一つのデータあたりのサイズを減らしたいから?)、場合によっては面積的に無視できないレベルでのoverlapが生じているのでその辺をどう対処するかをまとめる。下記コードの順序に沿ってまとめる。

参照コード:https://code.earthengine.google.com/34c06b4d1816099384b4c0f06ddd6232

地域ごとのshapefile

特に必要のないステップだが、GEEのデータカタログに落ちているLarge-Scale International Boundary (LSIB)のデータを用い、プロパティを指定して日本の領域を取り出す練習。画像データだけでなくshapefileもいろいろ検索できるのはありがたい。

どんな感じでデータが入っているのか?

Sentinelの各画像はLandsatと同様passに沿って並んでおり、緯度経度に対して傾いている。プロダクト化のステップでこれらはMGRS(Military Grid Reference System)という緯度経度に直交する長方形(タイル)群に切り分けられる。参照コードではMGRSグリッドのshapefileを用いて検証を行っている(参照元:某GEEヘルプフォーラムの一話題)。各タイルは、{経度:1~60までの数字}+{緯度:C~Xまでの英字}+{さらに細部:英字2文字}のidで区分されており、SentinelデータのプロパティではMGRS_TILEからタイル情報を抽出することができる。関東近郊だとMGRS_TILE = 54SUE なので、今回はそれを用いる。

Sentinelデータを抽出する

領域指定では、MGRSシェープファイルから54SUEのタイルを選択し、その領域にかかる画像を抽出した。説明の都合上、画像データからそれが含まれるポリゴンデータを抽出した(ImageCollectionではなくFeatureCollectionを用いれば、図化したとき一つのレイヤーだけで重複を確認することができる)。同時に、各画像のMGRS_TILEからタイルのidも取得しておく。

overlapの確認

さて、タイル54SUEにかかる画像データを図示すると下記の通り。FeatureCollectionのはじめ9つのみ図化しているが、他のFeatureもこれらのいずれかに重なるはずである。9つのうちのどこに位置するかはMGRS_TILEのタイル情報と整合する。

gee1.PNG

真ん中の正方形が54SUE。全体として見える傾いた四角形がもともとのSentinel画像1枚分であり、それがタイル状に切り分けられているのが分かる。しかしながら、そもそもMGRSが重複を生じるように定義されているために、重複が生じている。これを透過度を上げた画像レイヤー2枚を重ねて見てみるとこんな感じ。

gee2.PNG

やはり上下の衛星画像に重複が生じ、その部分が濃くなっている。

overlapが嫌な時の対処法

先に示したヘルプフォーラムの中で、重複がちょうど9800mであることが説明されている。そのため、負の方向に4900mだけ画像の辺からbufferをかけてあげると、overlapが解消される。

gee3.PNG

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2