其他
GEE(谷歌地球引擎)已经开始收录Landsat 9数据
Google Earth Engine (GEE)已经开始收录Landsat 9数据,目前总共收录了1773张影像,离USGS之前开放下载的57,000张影像还有一定距离。影像收录还在持续进行中。相信在接下来几天(或者几周)一定会全部收录。大家拭目以待。
目前GEE数据库里已有的Landsat 9数据主要覆盖北美和南美,具体覆盖区域见下面这个图。Landsat 9在GEE的ID如下:
ee.ImageCollection('LANDSAT/LC09/C02/T1_L2')
上面这个图由如下代码生成。
https://code.earthengine.google.com/393726e99992467b1afde026e45f99ad
var collection = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2')
.sort('CLOUD_COVER');
print(collection.size());
var c = collection.median();
// Applies scaling factors.
function applyScaleFactors(image) {
var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
return image.addBands(opticalBands, null, true)
.addBands(thermalBands, null, true);
}
var dataset = applyScaleFactors(c);
var visualization = {
bands: ['SR_B4', 'SR_B3', 'SR_B2'],
min: 0.0,
max: 0.3,
};
Map.addLayer(dataset, visualization, 'True Color (432)');
Map.centerObject(c);
下面这两张图是Landsat 9数据以及主成分分析的结果。(Credits to Gena)
https://code.earthengine.google.com/cbabe960ef629ce679e4327a77b5dc44
var utils = require('users/gena/packages:utils')
var imagesL8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2").filterBounds(Map.getCenter())
.filter(ee.Filter.lt('CLOUD_COVER', 5))
var imagesL9 = ee.ImageCollection("LANDSAT/LC09/C02/T1_L2").filterBounds(Map.getCenter())
.filter(ee.Filter.lt('CLOUD_COVER', 5))
var imageL9 = imagesL9.first().unmask().resample('bicubic').multiply(0.0000275).add(-0.2)
Map.addLayer(imageL9, { bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0.0, max: 0.2, gamma: 1.4 }, 'L9')
var imageL8 = imagesL8.first().unmask().resample('bicubic').multiply(0.0000275).add(-0.2)
Map.addLayer(imageL8, { bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0.0, max: 0.2, gamma: 1.4 }, 'L8', false)
var bounds = Map.getBounds(true)
var scale = Map.getScale()
var imageL9PCA = utils.PCA(imageL9, bounds, scale)
Map.addLayer(imageL9PCA.select([1,2,0]).add(imageL9PCA.select([3,4,5])), { min: -2.5, max: 2.5 }, 'PCA L9')
var imageL8PCA = utils.PCA(imageL8, bounds, scale)
Map.addLayer(imageL8PCA.select([1,2,0]).add(imageL8PCA.select([3,4,5])), { min: -2.5, max: 2.5 }, 'PCA L8', false)