You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Google Earth Engine导出全球地图?

Google Earth Engine全球地图导出解决方案

单列数据问题原因

出现单列数据,基本是导出参数设置错误导致:

  • 直接传递[-180, -90, 180, 90]作为region参数,GEE无法正确解析为矩形区域,必须用ee.Geometry.Rectangle()包装成标准几何对象。
  • 未指定crs(坐标系)或scale参数不合理,会导致影像被错误拉伸/压缩成单列。

低分辨率(5km)全球数据直接导出

5km分辨率的全球影像数据量相对可控,可直接用以下代码导出:

// 示例:加载MODIS NDVI影像,替换为你需要的数据集
var targetImage = ee.Image('MODIS/006/MOD13A1')
                  .select('NDVI')
                  .first();

// 定义全球边界几何
var globalBounds = ee.Geometry.Rectangle([-180, -90, 180, 90], null, false);

// 导出到Google Drive
Export.image.toDrive({
  image: targetImage,
  description: 'Global_5km_Output',
  folder: 'GEE_Exports',
  region: globalBounds,
  scale: 5000, // 5km分辨率,单位米
  crs: 'EPSG:4326', // WGS84坐标系
  maxPixels: 1e13, // 提升像素上限,避免数据量过大报错
  fileFormat: 'GeoTIFF'
});

高分辨率(1km)全球数据的替代方案

1km分辨率的全球影像单波段就有约9亿像素,远超GEE单导出任务的内存限制,必须分块导出后拼接,推荐两种方法:

方法1:经纬度网格分块导出

将全球划分为固定大小的矩形块,循环导出每个块:

// 按10°×10°划分网格,可根据需求调整步长
var lonStep = 10;
var latStep = 10;
var targetImage = ee.Image('MODIS/006/MOD13A1').select('NDVI').first();

// 循环生成分块并提交导出任务
for (var lon = -180; lon < 180; lon += lonStep) {
  for (var lat = -90; lat < 90; lat += latStep) {
    var blockRegion = ee.Geometry.Rectangle([lon, lat, lon+lonStep, lat+latStep]);
    Export.image.toDrive({
      image: targetImage,
      description: 'Global_1km_Block_' + lon + '_' + lat,
      folder: 'GEE_1km_Exports',
      region: blockRegion,
      scale: 1000,
      crs: 'EPSG:4326',
      maxPixels: 1e13,
      fileFormat: 'GeoTIFF'
    });
  }
}

导出完成后,用QGIS、GDAL等工具执行拼接(GDAL命令示例:gdal_merge.py -o global_1km.tif *.tif)。

方法2:Python API批量分块导出

如果熟悉Python,用GEE Python API能更灵活地控制分块逻辑:

import ee
ee.Initialize()

# 加载目标影像
target_image = ee.Image('MODIS/006/MOD13A1').select('NDVI').first()
lon_step = 10
lat_step = 10

# 批量提交分块导出任务
for lon in range(-180, 180, lon_step):
    for lat in range(-90, 90, lat_step):
        block_region = ee.Geometry.Rectangle([lon, lat, lon+lon_step, lat+lat_step])
        task = ee.batch.Export.image.toDrive(
            image=target_image,
            description=f'Global_1km_Block_{lon}_{lat}',
            folder='GEE_1km_Exports',
            region=block_region,
            scale=1000,
            crs='EPSG:4326',
            maxPixels=1e13,
            fileFormat='GeoTIFF'
        )
        task.start()

注意事项

  • 导出前务必在GEE地图面板预览影像,确认区域、分辨率设置正确。
  • 若数据量超出Google Drive存储上限,可改用Export.image.toCloudStorage导出到云存储。
  • 分块时可设置微小重叠(比如0.1°),避免拼接后出现缝隙。

内容的提问来源于stack exchange,提问作者Rekha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:54:10