[英]How to subset an image collection in Google Earth Engine based on their position?
我是Google Earth Engine的新用戶。 我正在嘗試刪除圖像集合的某些圖像。 在下面的示例中是一個示例。 我的圖像收藏有更多圖像。
// Load Landsat 8 brightness temperature data for 1 year.
var test = ee.ImageCollection('LANDSAT/LC8_L1T_32DAY_TOA')
.filterDate('2012-12-25', '2016-12-25')
.select('B1');
print(test)
我的圖像收藏有45張圖像。 為了清楚起見,我將index1稱為第一張圖像,將index45稱為最后一張圖像,依此類推。如何將圖像從index10保留到索引15或將索引30從索引30刪除。
我嘗試了一個列表,但是它不能捕獲元素。
您可以使用以下功能按集合的元數據過濾集合。
.filterMetadata(name, operator,value)
如果要保留的圖像具有相同的值,則可以使用該值。 例如,要按WRS_ROW和WRS_PATH進行過濾,請執行以下操作。
var testFiltered = test.filterMetadata("WRS_ROW","equals",15)
.filterMetadata("WRS_PATH","equals",36)
只需選擇最適合您的元數據即可。 最好不要按數字選擇,否則它們將無法使用其他年份。
除了通過WRS-2路徑和行之類的元數據屬性進行過濾之外,您還可以為集合運行方法.filterBounds(geometry)
,這將導致僅包含與幾何相交的元素的新集合。 這是一個例子:
// Load Landsat 8 TOA data.
var timeFiltered = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
.filterDate('2013-01-01', '2014-01-01');
// define an ee.Geometry to filter by
// San Francisco Lon/Lat
var geom = ee.Geometry.Point([122.4194, 37.7749]);
// filter by a geometry
var spaceTimeFiltered = timeFiltered.filterBounds(geom);
print('Before spatial filtering: ',timeFiltered);
print('After spatial filtering: ',spaceTimeFiltered);
在這種情況下,僅按時間過濾的集合將不會打印,因為它具有5000多個元素,但是當您按空間和時間過濾時,它將返回2013年以來舊金山的15個場景。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.