如何在gee上使用Landsat/LC08/C02/T1_L2验证是否存在某地某时间段的卫星图像,并在地图上显示卫星图像,给出JavaScript
时间: 2024-10-06 10:00:46 浏览: 54
在Google Earth Engine (GEE) 上验证某个地区在特定时间范围内是否有可用的 Landsat / LC08 / C02 / T1_L2 卫星图像并显示,可以按照以下步骤编写JavaScript代码:
1. **导入所需的库**:
```javascript
// 导入GEE库和相关的遥感数据集
var ee = require('ee');
var landsat = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2");
```
2. **定义查询区域和日期范围**:
```javascript
// 定义地理位置(例如经纬度坐标)
var lat = 40.7128; // 纽约纬度
var lon = -74.0060; // 纽约经度
var region = [lon, lat, lon+0.01, lat+0.01]; // 宽0.01度的矩形
// 定义时间范围(例如最近一年)
var startDate = Date.now().subtract(1, 'year'); // 一年前的时间点
var endDate = Date.now();
```
3. **过滤和查找图像**:
```javascript
// 过滤图像集合,只获取指定时间内的图像
var filteredImages = landsat.filterDate(startDate, endDate).filterBounds(ee.Geometry.Rectangle.fromPolygon(region));
```
4. **检查是否有匹配的图像**:
```javascript
// 检查是否找到图像
var hasData = filteredImages.size().gt(0);
```
5. **如果存在,则加载和可视化**:
```javascript
if (hasData) {
var firstImage = filteredImages.first(); // 获取第一个图像
// 创建图层并在地图上展示
var visParams = {bands:['B4', 'B3', 'B2'], min:0, max:0.3}; // 可视化参数,这里假设RGB通道
var imageLayer = ee.Image(firstImage).visualize(visParams);
Map.addLayer(imageLayer, {opacity: 0.8}, 'Satellite Image');
} else {
console.log('No data available for the specified area and time period.');
}
```
最后别忘了运行`Map.centerObject(region);`来将地图中心设置到查询位置。
阅读全文