getThumbURL의 동작

Oct 14 2020

Google Earth Engine에서 방법을 사용하여 일부 디스플레이 이미지를 다운로드하려고합니다 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',
}))

이 버전에는 내 보낸 이미지 직사각형이 원본 이미지와 동일한 좌표계 (최소 하나 이상)를 사용하기 때문에 오른쪽 가장자리가 기울어지지 않습니다.

또한 일반적으로 해당 지역에 사용중인 경도 및 위도 (어스 엔진이 기본적으로 설정 한 더 나은 아이디어), 극에 가까워 질수록 픽셀이 왜곡됩니다. 이 이미지는지도에서 원래 사각형의 종횡비에 더 가깝지만 배율 만 지정하는 첫 번째 이미지는 원래보다 넓게 늘어납니다.