พฤติกรรมของ 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',
}))

เวอร์ชันนี้ไม่มีขอบด้านขวาที่เอียงเนื่องจากรูปสี่เหลี่ยมผืนผ้าที่ส่งออกใช้ระบบพิกัดเดียวกันกับรูปภาพต้นฉบับ (อย่างน้อยหนึ่งภาพ)

โดยทั่วไปแล้วเป็นความคิดที่ดีที่จะใช้การฉายภาพที่มีไว้สำหรับการทำแผนที่ (ไม่ว่าจะเป็นการฉายภาพหรือการฉายภาพอื่น) แทนที่จะใช้ลองจิจูดและละติจูดขององศาที่คุณใช้สำหรับภูมิภาคของคุณ (ซึ่งเป็นสิ่งที่ Earth Engine ผิดนัดโดยไม่มี ความคิดที่ดีกว่า) ซึ่งจะมีพิกเซลบิดเบี้ยวเมื่อคุณเข้าใกล้เสามากขึ้น โปรดสังเกตว่ารูปภาพนี้มีความใกล้เคียงกับอัตราส่วนกว้างยาวของสี่เหลี่ยมผืนผ้าดั้งเดิมของคุณบนแผนที่ในขณะที่ภาพแรกที่ระบุเฉพาะมาตราส่วนจะยืดออกไปกว้างกว่าที่ควร