gee下载逐年哨兵2号数据
时间: 2025-06-12 11:18:04 浏览: 17
### 使用GEE API下载逐年Sentinel-2卫星影像数据
Google Earth Engine (GEE) 提供了一个强大的云计算平台,用于存储、处理和分析地理空间数据。通过 GEE 的 Python 或 JavaScript API,可以方便地访问 Sentinel-2 数据并将其导出到本地文件系统。
以下是实现这一目标的具体方法:
#### 1. 导入必要的库
为了操作 GEE 平台上的数据,需先导入 `ee` 库以及 Google Cloud Storage (如果需要导出至云端)[^2]。
```python
import ee
```
#### 2. 初始化Earth Engine
在运行任何脚本之前,必须初始化 Earth Engine 客户端。
```python
ee.Initialize()
```
#### 3. 加载Sentinel-2数据集合
使用 `ee.ImageCollection('COPERNICUS/S2')` 来加载 Sentinel-2 影像集合。可以通过设置日期范围来筛选特定年份的数据[^1]。
```python
start_date = 'YYYY-01-01' # 替换为具体年份的开始日期
end_date = 'YYYY-12-31' # 替换为具体年份的结束日期
sentinel2_collection = ee.ImageCollection('COPERNICUS/S2').filterDate(start_date, end_date)
```
#### 4. 去除云层影响
利用质量控制波段(如 `QA60`),或者基于其他算法(如 SCL 波段)去除含云像素的影响。
```python
def mask_clouds(image):
qa = image.select('QA60')
cloudBitMask = 1 << 10
cirrusBitMask = 1 << 11
masked_image = image.updateMask(qa.bitwiseAnd(cloudBitMask).eq(0)).updateMask(qa.bitwiseAnd(cirrusBitMask).eq(0))
return masked_image.divide(10000)
filtered_sentinel2 = sentinel2_collection.map(mask_clouds)
```
#### 5. 设置感兴趣区域(AOI)
定义一个几何对象表示感兴趣的区域。
```python
aoi = ee.Geometry.Rectangle([min_lon, min_lat, max_lon, max_lat]) # 替换经纬度坐标
filtered_sentinel2_aoi = filtered_sentinel2.filterBounds(aoi)
```
#### 6. 合成年度最大值或平均值图像
对于逐年数据分析,通常会合成每年的最大值或平均值图像。
```python
annual_composite = filtered_sentinel2_aoi.mean() # 可替换为 median(), mosaic() 等函数
```
#### 7. 将结果导出到驱动器
最后一步是将生成的结果导出到 Google Drive 中保存为 GeoTIFF 文件格式。
```python
task_config = {
'image': annual_composite,
'description': 'Annual_Sentinel2_Composite',
'folder': 'GEE_Exports',
'region': aoi.coordinates().getInfo(),
'scale': 10, # Sentinel-2 分辨率单位米
'crs': 'EPSG:4326'
}
export_task = ee.batch.Export.image.toDrive(**task_config)
export_task.start()
```
以上流程涵盖了从加载数据到预处理再到最终导出的主要步骤。
阅读全文
相关推荐


















