在GEE平台下载Sentunel-1影像数据
·
以下代码下载了所需时间段的全部影像,12天一个周期,需要手动每一个任务,很麻烦 数据太量大的建议另辟蹊径,我不会
// 加载外部的ROI,这里需要提前导入你的研究区域范围包含.shp文件等,在ASSETS那里点击NEW
//选择shapefile导入你的文件压缩包
var roi = ee.FeatureCollection('//这里写你导入了的文件路径,鼠标放在你左侧导入的文件那里会出现
向左箭头,点一下就知道你了路径啦');
Map.addLayer(roi, {color: 'red'}, 'ROI:JISHISHAN');//这里我可视化了下自己的范围,就是好奇看看
// 加载 Sentinel-1 数据集并进行筛选
var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD')
.filterBounds(roi)
.filter(ee.Filter.or(ee.Filter.eq('orbitProperties_pass', 'ASCENDING'),ee.Filter.eq('orbitProperties_pass', 'DESCENDING')))
//这里我筛选了升轨和降轨的数据,只需要一个的话把ee.Filter.or(和你不需要的那句删掉,
//记得看清楚括号 .filter(ee.Filter.or(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'),
ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')))
//这里我筛选了VV和VH极化数据,按需求自行改动,道理同上
.filter(ee.Filter.eq('instrumentMode', 'IW'))//干涉宽幅
.filterDate('开始时间', '结束时间')//筛选时间段
.sort('system:time_start');//按时间顺序
// 选择 VV 和 VH 波段
var vv_vh = sentinel1.select(['VV', 'VH']);
print('Number of images:', sentinel1.size());//检查数据数量
// 创建导出函数
var exportEachImage = function(image) {
var date = ee.Date(image.get('system:time_start')).format('YYYYMMdd').getInfo(); // 获取影像日期(客户端)
var id = ee.String(image.id()).replace(':', '_').replace('/', '_').replace(' ', '_').getInfo(); // 获取影像ID并替换不允许的字符,确保只有下划线、字母、数字,不需要的不写
var orbitPass = image.get('orbitProperties_pass').getInfo(); // 获取是升轨还是降轨
// 将日期和ID拼接为任务名称
var taskName = 'Sentinel1VVVH_' + orbitPass + '_' + date + '_' + id;
//这部分运行之后可能会出现TaskName违规的现象 是因为名称超过了长度限制,按需要删除一定数量这部分代码中的_就可以
// 裁剪影像到研究区域
var clippedImage = image.clip(roi);
// 导出影像到Google Drive
Export.image.toDrive({
image: clippedImage,
description: taskName,
scale: 10, // 分辨率为10米
region: roi.geometry(),
maxPixels: 1e9, // 允许的最大像素数根据需要更改 默认1e8 自己百度下公式算下需不需要改动
fileFormat: 'GeoTIFF',
folder: 'Sentinel1_Exports' // Google Drive中的文件夹名称
});
return clippedImage;
};
// 逐一导出影像(手动触发导出任务)
var listOfImages = vv_vh.toList(vv_vh.size());
for (var i = 0; i < listOfImages.size().getInfo(); i++) {
var image = ee.Image(listOfImages.get(i));
exportEachImage(image);
}
代码运行后需要在右侧TASK栏点击RUN启动任务,导出后在Google Drive下载到本地
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)