从Google Earth Engine导出数据集以在Google Earth中使用

时间:2018-12-20 18:10:11

标签: google-earth google-earth-engine

因此,我有一个尝试从GEE导出以用于Google Earth的MODIS温度图像的日期范围。到目前为止,代码是这样的:

var dataset = ee.ImageCollection('MODIS/006/MYD11A2')
                  .filter(ee.Filter.date('2018-05-01', '2018-06-01'));
var landSurfaceTemperature = dataset.select('LST_Day_1km');
var landSurfaceTemperatureVis = {
  min: 14000.0,
  max: 16000.0,
  palette: [
    '040274', '040281', '0502a3', '0502b8', '0502ce', '0502e6',
    '0602ff', '235cb1', '307ef3', '269db1', '30c8e2', '32d3ef',
    '3be285', '3ff38f', '86e26f', '3ae237', 'b5e22e', 'd6e21f',
    'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08', 'ff500d',
    'ff0000', 'de0101', 'c21301', 'a71001', '911003'
  ],
};
Map.setCenter(-85.60371794450282,44.73590436363271, 8);
Map.addLayer(
    landSurfaceTemperature, landSurfaceTemperatureVis,
    'Land Surface Temperature');

// Create a geometry representing an export region.
var features = ee.Geometry.Rectangle([-85.1417893413635, 45.31413490213395, -86.125065708551, 44.65070625463291]);

我遇到麻烦的地方是对导出功能进行编码,该功能可以将叠加层放置到Google Earth中。这就是我现在拥有的:

// Export the image, specifying scale and region.
Export.image.toDrive({
  image: dataset.filter('LST_Day_1km'),
  description: 'Overlay',
  scale: 30,
  region: features
});

那么我需要在代码中添加些什么,以方便将颜色编码的数据集导出到.kmz,GeoTIFF或可以覆盖在Google Earth中的某种文件中?导出之前是否需要对图像集进行.sum()?

这是供个人使用的,因此我不需要将其嵌入网站中,因此我认为不需要使用Earth Engine提供的API。...还是这样做?

1 个答案:

答案 0 :(得分:0)

Export.image已经以GeoTIFF格式导出,这是fileFormat参数的默认设置。您真正的问题是您的代码无法以这种形式工作。 dataset是具有多个波段的集合,而导出的类型为Image。您需要例如选择特定的频段和图像。后者可以是例如集合中的第一项或某种汇总-由您决定。

这是一个例子:

Export.image.toDrive({
  image: dataset.select('LST_Day_1km').first(),
  description: 'Overlay',
  scale: 30,
  region: features,
  fileFormat: 'GeoTIFF'
});