getThumbURLの動作

Oct 14 2020

Google Earthエンジンで、メソッドを使用していくつかの表示画像をダウンロードしようとしていますimage.getThumbURL。画像はでよく表示されますがMap.addLayer、通過getThumbURLすると空白の画像しか表示されません。この動作の例を次に示します。

var point = ee.Geometry.Point([11.300422012780208, 44.50570009326473])
var pngArea =
    ee.Geometry.Polygon(
        [[[10.966712295983333, 44.65340259358304],
          [10.966712295983333, 44.24754759759594],
          [11.738501846764583, 44.24754759759594],
          [11.738501846764583, 44.65340259358304]]], null, false)

var s2coll = ee.ImageCollection("COPERNICUS/S2")
s2coll = s2coll.filterBounds(point)
        .filterDate('2018-07-15', '2018-07-30')
print(s2coll)
var img = s2coll.mosaic()
print(img)
var visualization = {
  min: 0.0,
  max: 2000,
  bands: ['B4', 'B3', 'B2'],
}
var outImg = img.visualize(visualization)
Map.addLayer(outImg)

print(outImg.getThumbURL({region: pngArea, format: 'png'}))

https://code.earthengine.google.com/89afe6e672f63d2245ef438288f78f55

私は何が間違っているのですか?

回答

6 KevinReid Oct 13 2020 at 22:59

スケールを指定せず、座標系が度単位の領域を指定しました。したがって、非常に小さな画像(2×1ピクセル)が得られます。

スケールを指定すると、画像が表示されます。

print(outImg.getThumbURL({region: pngArea, scale: 200, format: 'png'}));

明示的な寸法を指定することもできますが、寸法が領域のアスペクト比と一致しない場合、画像が歪む可能性があります。

print(outImg.getThumbURL({
  region: pngArea,
  dimensions: '150x150',
  format: 'png',
}))

興味があるかもしれない別のオプションcrsは、領域の投影の代わりに画像の投影(または任意の投影)を使用することです。

print(outImg.getThumbURL({
  region: pngArea,
  crs: s2coll.first().select('B4').projection(),
  scale: 200,
  format: 'png',
}))

このバージョンでは、エクスポートされた画像の長方形が元の画像(の少なくとも1つ)と同じ座標系を使用しているため、右端が傾斜していません。

また、一般的には、地域で使用している経度と緯度(Earth Engineがデフォルトでより良いアイデア)、極に近づくにつれてピクセルが歪むでしょう。この画像は、マップ上の元の長方形のアスペクト比に近いのに対し、縮尺のみを指定する最初の画像は、本来よりも広く引き伸ばされていることに注意してください。