【GEE学习】在 Google Earth Engine 上定义研究区域

1、前言

Google Earth Engine (GEE) 是一个强大的云计算平台,能够处理和分析大规模的地理空间数据,用于土地类型分类等多种应用。根据我们的适用场景,选取不同的数据集或者选择不同的波段组合,可以直接在GEE上实现分类结果

2、定义研究区域的方法

在 Google Earth Engine (GEE) 中,定义研究区域是进行地理空间分析的第一步。研究区域的选取可以通过几种方式来定义:

a. 通过坐标定义多边形

可以使用 ee.Geometry.Polygon 来定义任意形状的多边形。例如:

var geometry = ee.Geometry.Polygon([
  [[-122.45, 37.74], [-122.45, 37.80], [-122.35, 37.80], [-122.35, 37.74]]
]);

b. 使用内置形状

GEE 还提供了一些内置的地理形状,比如点、线和矩形。我们可以在代码编辑器页面看见,在下图红色圈中的内容。 

使用上述工具可以直接得到选取区域的矢量数据。在使用工具进行选取时,GEE会对该选取的区域进行自动命名并创建和定义该区域。

 

 

 c. 导入已有的矢量数据

如果你有现成的矢量数据,可以通过上传文件(如 Shapefile 或 GeoJSON)来定义研究区域。

// 假设你已上传并命名为 'myFeatureCollection'
var features = ee.FeatureCollection('users/your_username/myFeatureCollection');

//如我导入我上传的矢量数据
var table = ee.FeatureCollection("projects/ee-shih99422/assets/hangzhou");

希望以上方法对你有所帮助!

以下是使用Google Earth Engine获取逐日NDVI的代码示例: ```javascript // 设置ROI var roi = ee.Geometry.Rectangle([xmin, ymin, xmax, ymax]); // 设置起始和结束日期 var startDate = ee.Date('2019-01-01'); var endDate = ee.Date('2019-12-31'); // 加载MODIS数据 var modis = ee.ImageCollection('MODIS/006/MOD13A1') .filterBounds(roi) .filterDate(startDate, endDate) .select('NDVI'); // 定义函数计算每个图像的年份和日数 var addDate = function(image) { var doy = image.date().getRelative('day', 'year'); return image.addBands(doy).addBands(image.date().get('year')); }; // 对图像集应用函数 var modisWithDate = modis.map(addDate); // 定义函数计算每个年份和日数的平均NDVI值 var reduceDaily = function(imageCollection, year, doy) { var filtered = imageCollection.filter(ee.Filter.calendarRange(year, year, 'year')) .filter(ee.Filter.calendarRange(doy, doy, 'day_of_year')); return filtered.mean().set('year', year).set('doy', doy); }; // 创建一个二维数组,其中第一维表示年份,第二维表示一年中的日数 var years = ee.List.sequence(startDate.get('year'), endDate.get('year')); var days = ee.List.sequence(1, 365); // 对所有年份和日数应用reduceDaily函数 var dailyNDVI = ee.ImageCollection.fromImages(years.map(function(y){ return days.map(function(d){ return reduceDaily(modisWithDate, y, d); }); }).flatten()); // 打印输出结果 print(dailyNDVI); ``` 在上述代码中,首先定义了一个感兴趣区域(ROI),然后加载了2000年至今的MODIS NDVI数据,并对其进行了筛选。接着定义了两个函数,一个函数用于向每个图像添加年份和日数作为带宽,另一个函数用于计算每个年份和日数的平均NDVI值。最后,将所有年份和日数应用到reduceDaily函数中,生成逐日的NDVI值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值