Hành vi của getThumbURL
Trên Google Earth Engine, tôi đang cố tải xuống một số hình ảnh hiển thị bằng phương pháp này image.getThumbURL. Hình ảnh hiển thị tốt Map.addLayer, nhưng khi tôi đi qua nó, getThumbURLtôi chỉ nhận được một hình ảnh trống. Dưới đây là một ví dụ về hành vi này:
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
Tôi đang làm gì sai?
Trả lời
Bạn đã không chỉ định tỷ lệ và cung cấp một vùng có hệ tọa độ là độ. Do đó, bạn có một hình ảnh rất nhỏ (2 × 1 pixel).
Nếu bạn chỉ định thang điểm, bạn sẽ nhận được hình ảnh:
print(outImg.getThumbURL({region: pngArea, scale: 200, format: 'png'}));
Bạn cũng có thể chỉ định kích thước rõ ràng, nhưng điều đó có thể khiến bạn có hình ảnh bị méo nếu kích thước không khớp với tỷ lệ co của khu vực:
print(outImg.getThumbURL({
region: pngArea,
dimensions: '150x150',
format: 'png',
}))
Một tùy chọn khác mà bạn có thể quan tâm là crssử dụng phép chiếu của hình ảnh (hoặc bất kỳ phép chiếu nào) thay vì phép chiếu của vùng:
print(outImg.getThumbURL({
region: pngArea,
crs: s2coll.first().select('B4').projection(),
scale: 200,
format: 'png',
}))
Phiên bản này không có cạnh nghiêng bên phải vì hình chữ nhật hình ảnh được xuất đang sử dụng cùng một hệ tọa độ với (ít nhất một trong số) hình ảnh gốc.
Nói chung, bạn cũng nên sử dụng một phép chiếu dành cho việc lập bản đồ (cho dù đó là phép chiếu của hình ảnh hay một phép chiếu khác), thay vì kinh độ & vĩ độ bạn đang sử dụng cho khu vực của mình (là những gì Earth Engine mặc định khi không có ý tưởng tốt hơn), sẽ có các pixel bị méo khi bạn đến gần các cực hơn. Lưu ý rằng hình ảnh này gần với tỷ lệ co của hình chữ nhật ban đầu của bạn trên bản đồ, trong khi hình đầu tiên chỉ xác định tỷ lệ được kéo dài hơn so với tỷ lệ của nó.