Google Earth Engine: определение правильных размеров изображения для получения максимального разрешения на спутниковых снимках

Я новичок в Google Earth Engine и пытался получить изображения Landsat для всей Демократической Республики Конго. Проект включает в себя компьютерное зрение и сегментацию изображений, поэтому мне нужно получить максимально возможное разрешение.

У меня есть код, который я разработал на основе Earth Engine, чтобы сделать композицию из изображений Landsat за 1 год, размещенных ниже.

var geometry = ee.Geometry.Polygon(
    [[[29.70703125, -3.3160183381615123],
      [24.609375, -3.4476246666468526],
      [24.8291015625, -7.732765062729807],
      [29.970703125, -7.645664723491028]]]);

// Composite 6 months of Landsat 8.

Map.setCenter(  26.362312, -4.643601, 5);
var boundingBox = geometry.bounds(1)
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1');
var composite = ee.Algorithms.Landsat.simpleComposite({
  collection: L8.filterDate('2015-1-1', '2015-7-1').filterBounds(geometry),
  asFloat: true});
var region = ee.Geometry(geometry.getInfo())
                        .toGeoJSONString()
var params ={
      crs: 'EPSG:4326',
      region:region
    }
Export.image(composite,'congo_test',params);

Проблема в том, что каждый раз, когда я запускаю скрипт, он запрашивает у меня значение scale. Поэтому я прошу максимальное разрешение, но запрос продолжает давать ошибки, потому что в нем говорится, что я превысил максимальный предел пикселей для экспорта изображения.

Итак, в основном мне нужно выяснить, как разделить конго на набор блоков, для которых Earth Engine позволяет мне получать составные изображения с максимальным разрешением. Кто-нибудь знает, как я могу рассчитать многоугольники правильного размера, чтобы они соответствовали требованиям?


person krishnab    schedule 04.10.2017    source источник
comment
Просто увеличьте параметр maxPixels до примерно 1e12. Это позволит вам экспортировать изображение Landsat с 30-метровым разрешением, также известным как максимальное разрешение.   -  person Val    schedule 05.10.2017
comment
О, круто. Поэтому я могу установить максимальное количество пикселей в переменной params. Спасибо.   -  person krishnab    schedule 05.10.2017


Ответы (2)


Как указал @Val, решение здесь заключалось в применении параметра maxPixels к переменной param в javascript. Последний приведенный ниже код javascript автоматически разбивает изображение на фрагменты в зависимости от параметра maxPixels.

var geometry = ee.Geometry.Polygon(
    [[[29.70703125, -3.3160183381615123],
      [24.609375, -3.4476246666468526],
      [24.8291015625, -7.732765062729807],
      [29.970703125, -7.645664723491028]]]);

// Composite 6 months of Landsat 8.

Map.setCenter(  26.362312, -4.643601, 5);
var boundingBox = geometry.bounds(1)
var L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1');
var composite = ee.Algorithms.Landsat.simpleComposite({
  collection: L8.filterDate('2015-1-1', '2015-7-1').filterBounds(geometry),
  asFloat: true});
var region = ee.Geometry(geometry.getInfo())
                        .toGeoJSONString()
var params ={
      crs: 'EPSG:4326',
      maxPixels: 1e12,
      region:region
    }
Export.image(composite,'congo_test',params);

Это сработало для меня. Спасибо @Val.

person krishnab    schedule 05.10.2017

Вы должны указать масштаб в параметрах экспорта. Композиты больше не имеют собственного масштаба, поэтому по умолчанию они равны 1 градусу на пиксель. Поскольку вы начали с Landsat, вам, вероятно, понадобится шкала 30.

person Noel Gorelick    schedule 05.12.2017