如何在不下载DEM的情况下,提取批量点的高程值(基于GEE):
// 读取 CSV 文件
var csvFile = ee.FeatureCollection('users/yourusername/data');
// 选择经纬度列
var lon = csvFile.select('longitude');
var lat = csvFile.select('latitude');
// 定义缩放级别(这里约定为90米/像素)
var scale = 90;
// 导入MERIT DEM数据
var dem = ee.Image('MERIT/DEM/v1_0_3').select('dem');
// 将经度和纬度列转换为点对象
var locations = lon.toList().zip(lat.toList()).map(function(point) {
var lon = ee.Number(point.get(0));
var lat = ee.Number(point.get(1));
return ee.Geometry.Point(lon, lat);
});
// 创建包含点对象的新 FeatureCollection
var points = ee.FeatureCollection(locations.map(function(point) {
return ee.Feature(point, {});
}));
// 将每个点几何对象与 DEM 数据相互匹配,并计算每个点的高程值
var elevations = dem.reduceRegions({
collection: points,
reducer: ee.Reducer.mean(),
scale: scale
});
// 输出结果到CSV文件
Export.table.toDrive({
collection: elevations,
description: 'elevations_csv',
fileFormat: 'CSV'
});