如何用GEE下载选择的小区域范围Landsat影像

发布于:2025-04-18 ⋅ 阅读:(16) ⋅ 点赞:(0)

https://code.earthengine.google.com/如何用GEE下载小区域影像?

很多人都是加载矢量文件然后进行影像提取的,但是对于小区域的影像从其他地方勾选矢量边界,然后再导入到GEE中未免太麻烦。相信有部分人和我一样知道这里有工具但是不会使用,遇到这种问题怎么解决?我们这里以Landsat7为例,选择的时间为'1999-06-01'至'2000-03-01,云量<=10%

(一)关于知道区域位置,只需要确定研究区域坐标就行,根据区域坐标建立缓冲区。下面是详细代码:

var point = ee.Geometry.Point([94.95, 30.22]);
var region = point.buffer(10000); // 缓冲30公里区域

var dataset = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2')
    .filterDate('1999-06-01', '2000-03-01')
    .filterBounds(region)
    .filter(ee.Filter.lte('CLOUD_COVER', 10)); // 云量 <= 10%

// 应用缩放因子 + 裁剪区域
function applyScaleFactors(image) {
  var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
  var thermalBand = image.select('ST_B6').multiply(0.00341802).add(149.0);
  return image.addBands(opticalBands, null, true)
              .addBands(thermalBand, null, true)
              .clip(region);
}

var scaled = dataset.map(applyScaleFactors);

// 选择要导出的第一张影像
var imageToExport = scaled.first();

// 可视化设置
var visualization = {
  bands: ['SR_B3', 'SR_B2', 'SR_B1'],
  min: 0.0,
  max: 0.3,
};

Map.setCenter(94.95, 30.22, 8);
Map.addLayer(imageToExport, visualization, 'True Color (321)');

//导出
Export.image.toDrive({
  image: imageToExport.select(['SR_B3', 'SR_B2', 'SR_B1']),
  description: 'Landsat7_TCC_UpRes',
  folder: 'EarthEngineImages',
  fileNamePrefix: 'landsat7_truecolor_15m',
  region: region,
  scale: 15, // 尝试更高分辨率(注意:是插值,不是实际分辨率提升)
  crs: 'EPSG:4326',
  maxPixels: 1e13
});

(二)关于知道区域位置,可以绘制矩形或任意形状,下面是详细代码:

// ✅ 自定义区域(矩形)
var geometry = ee.Geometry.Polygon(
  [[[95.17218231690704, 30.254447386317832],
    [95.17218231690704, 30.193930328000473],
    [95.26487946046173, 30.193930328000473],
    [95.26487946046173, 30.254447386317832]]], null, false);

// ✅ 筛选影像集合:时间、区域、云量 <= 10%
var dataset = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2')
    .filterDate('1999-06-01', '2000-03-01')
    .filterBounds(geometry)
    .filter(ee.Filter.lte('CLOUD_COVER', 10));

// ✅ 缩放函数 + 区域裁剪
function applyScaleFactors(image) {
  var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
  var thermalBand = image.select('ST_B6').multiply(0.00341802).add(149.0);
  return image.addBands(opticalBands, null, true)
              .addBands(thermalBand, null, true)
              .clip(geometry);
}

// ✅ 应用处理
var scaled = dataset.map(applyScaleFactors);

// ✅ 可视化设置
var visualization = {
  bands: ['SR_B3', 'SR_B2', 'SR_B1'],
  min: 0.0,
  max: 0.3,
};

// ✅ 地图显示
Map.centerObject(geometry, 10);
Map.addLayer(scaled.first(), visualization, 'True Color (321)');

// ✅ 导出为 GeoTIFF
Export.image.toDrive({
  image: scaled.first().select(['SR_B3', 'SR_B2', 'SR_B1']), // 你也可以选择更多波段
  description: 'Landsat7_Export_Geometry',
  folder: 'EarthEngineImages',
  fileNamePrefix: 'landsat7_rectangle_clip',
  region: geometry,
  scale: 30,  // 也可以试 scale: 15 来插值提高分辨率
  crs: 'EPSG:4326',
  maxPixels: 1e13
});


网站公告

今日签到

点亮在社区的每一天
去签到