帮我写一个gee下载山东1980-2020modis lst产品的代码
时间: 2023-02-28 21:31:58 浏览: 110
好的,这是用 `gee` 下载 1980 年到 2020 年山东地区 MODIS 日照温度 (LST) 产品的代码:
```
// 定义时间范围
var start = ee.Date('1980-01-01');
var end = ee.Date('2020-12-31');
// 定义山东省的范围
var shandong = ee.FeatureCollection('ft:1gWQ_N5_cO5iXUyyx5L-5jbK5LZWN5K5HwKQQ2nYKl')
.filter(ee.Filter.eq('NAME', 'Shandong'));
// 选择 MODIS LST 产品
var modisLST = ee.ImageCollection('MODIS/006/MOD11A1')
.filterBounds(shandong)
.filterDate(start, end)
.select('LST_Day_1km');
// 将图像数据下载到本地
Export.image.toDrive({
image: modisLST.mean(),
description: 'shandong_modis_lst_1980_2020',
scale: 1000,
region: shandong.geometry().bounds(),
maxPixels: 1e13
});
```
请确保您已经登录了 Google 账号并开启了 GEE API。
相关问题
帮我写一个js版本gee下载北京1990-1995年年平均温度的代码
很好!以下是用 JavaScript 编写的代码,用于从 GEE 下载 1990 年至 1995 年北京的年平均温度数据:
```
// Load the required libraries
var ee = require('@google/earthengine');
var fs = require('fs');
// Initialize the Earth Engine API
ee.initialize();
// Define the time range and location
var startYear = 1990;
var endYear = 1995;
var region = ee.Geometry.Rectangle([116.2, 39.5, 116.5, 39.9]);
// Load the temperature data from the MODIS dataset
var modis = ee.ImageCollection("MODIS/006/MOD11A1")
.filterDate(startYear + "-01-01", endYear + "-12-31")
.filterBounds(region);
// Compute the average temperature for each year
var avgTemp = modis.map(function(image) {
var date = ee.Date(image.get("system:time_start"));
var year = date.get("year");
var avg = image.select("LST_Day_1km").reduceRegions({
collection: region,
reducer: ee.Reducer.mean(),
}).first().get("LST_Day_1km");
return ee.Feature(null, {year: year, avgTemp: avg});
});
// Export the results as a CSV file
var csv = avgTemp.reduceColumns(ee.Reducer.toList(), ["year", "avgTemp"])
.get("list").map(function(list) {
return list.get(0).format("%d") + "," + list.get(1).format("%.2f");
}).join("\n");
fs.writeFileSync("avg_temp.csv", "year,avgTemp\n" + csv);
console.log("Results saved to avg_temp.csv");
```
这段代码需要使用 Node.js 环境运行。请确保已经安装了 `@google/earthengine` 和 `fs` 库。然后,将代码保存为一个 JavaScript 文件,并在命令行中使用 `node` 运行该文件。结果将被保存为一个名为 `avg_temp.csv` 的 CSV 文件,其中包含了 1990 年至 1995 年北京的年平均温度数据。
GEE modis 蒸散发代码
以下是使用 Google Earth Engine (GEE) 计算 MODIS 蒸散发的示例代码:
```javascript
var startDate = '2019-01-01';
var endDate = '2019-12-31';
var region = ee.Geometry.Polygon([[73.5, 18.5], [135, 18.5], [135, 54], [73.5, 54], [73.5, 18.5]]);
// 加载 MODIS 数据集
var modis = ee.ImageCollection('MODIS/006/MOD16A2')
.filterDate(startDate, endDate)
.filterBounds(region);
// 定义计算蒸散发的函数
var et = function(image) {
var lw = image.select('LW_incoming_1000m');
var sw = image.select('SW_incoming_1000m');
var et = image.select('ET');
var t = image.select('LST_Day_1km').multiply(0.02).subtract(273.15);
var esat = t.expression('0.6108 * exp(17.27 * b / (b + 237.3))', {'b': t});
var delta = t.expression('4098 * esat / pow(b + 237.3, 2)', {'b': t});
var ra = sw.expression('(solar_constant * 24 * 3600 / pi) * (d * sin(phi) * sin(delta) + cos(phi) * cos(delta) * sin(d))', {
'solar_constant': 1367,
'pi': 3.14159,
'phi': image.select('cos_phi'),
'delta': delta,
'd': lw.expression('acos(-1 * tan(phi) * tan(delta))', {'phi': image.select('cos_phi'), 'delta': delta})
});
var g = lw.subtract(ra).multiply(0.408);
var et_image = g.divide(g.add(delta.multiply(900 / t.add(273.15).add(17.27).pow(2)))).multiply(24 * 3600 / 1000);
return image.addBands(et_image.rename('ET'));
};
// 计算蒸散发
var etCollection = modis.map(et);
// 取出蒸散发数据
var etData = etCollection.select('ET');
// 显示蒸散发数据
Map.addLayer(etData, {min: 0, max: 10, palette: ['blue', 'green', 'yellow', 'red']}, 'ET');
```
注:此代码计算的是 MODIS 蒸散发数据集(MOD16A2)中的每日蒸散发数据,并在地图上显示。在代码中,我们首先加载了 MODIS 数据集,然后定义了一个计算蒸散发的函数 et,最后对 MODIS 数据集应用该函数并取出蒸散发数据。