Извлечение (вырезка) в Google Earth Engine

Я работаю с Google Earth Engine и пытаюсь извлечь / отфильтровать (вырезать) пиксели в полосе, используя другое изображение (полосу). Я вычислил NDVI и создал пороговое значение, которое визуализировало изображение с NDVI> 0,3, но я хотел извлечь соответствующие пиксели в видимых диапазонах NIR.
Вот фрагмент кода.

var s2 = ee.ImageCollection('COPERNICUS/S2');
var s2_filtered = s2.filterDate('2017-01-01', '2017-12-31')
                  .filterBounds(geometry) //custom Geometry

var calcNDVI = function(x){
  var ndvi4 = x.normalizedDifference(["B5", "B4"]).rename("ndvi")
  return x.addBands(ndvi)
}

var ndviCollection = s2_filtered.map(calcNDVI)
var maxNDVI = mosaic.select("ndvi");
var threshold = maxNDVI.gt(0.3)

Я нахожусь в точке, где я хотел обрезать соответствующие пиксели в полосах «B», «G», «R» и «NIR», используя пороговую переменную (изображение). Очевидно, я застрял здесь. Пожалуйста, дайте мне знать, есть ли способ фильтровать / вырезать пиксели одной полосы, используя другую полосу, с помощью GEE. Задача аналогична использованию Clipper в QGIS, и это варианты, которые у меня останутся, если это не сработает.

Спасибо за вашу помощь!


person Destaneon    schedule 15.03.2018    source источник
comment
Было бы лучше, если бы вы задали этот вопрос на gis.stackexchange.com   -  person Rodrigo E. Principe    schedule 16.03.2018


Ответы (1)


Переменная threshold - это маска, поэтому вам нужно замаскировать пиксели в мозаике с помощью пороговой маски, верно? В таком случае просто обновите маску изображения:

var masked = maxNDVI.updateMask(threshold)
person Rodrigo E. Principe    schedule 16.03.2018
comment
Спасибо! Мне это очень помогло. Я использовал эту переменную (с маской), чтобы замаскировать полосы на мозаичном изображении, как я хотел. - person Destaneon; 17.03.2018