Google Earth Engine(GEE)—geemap图像元数据和属性获取

图像信息和元数据

在 Python 中探索图像波段和属性,print()图像与getInfo()函数。也可以通过编程方式访问此信息。例如,以下演示了如何访问有关波段、投影和其他元数据的信息:

导入库

创建交互式地图

在地图上显示数据

import ee
import geemap

Map = geemap.Map()
Map

获取图像元数据

以列表形式获取有关乐队的信息。

# Load an image.
image = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_044034_20140318')
vis_params = {'bands': ['B5', 'B4', 'B3'], 'min': 0.0, 'max': 3000, 'opacity': 1.0, 'gamma': 1.2}

# Center the map and display the image.
Map.centerObject(image, zoom=8)
Map.addLayer(image, vis_params, 'Landsat')

从波段 1 获取投影信息。https://epsg.io/32610

bandNames = image.bandNames()
print('Band names: ', bandNames.getInfo())

从波段 1 获取比例(以米为单位)信息。

b1proj = image.select('B1').projection()
#这里projection()就是代表获取波段1的坐标信息
print('Band 1 projection: ', b1proj.getInfo())

请注意,不同的波段可以有不同的投影和比例。

b10scale = image.select('B10').projection().nominalScale()
print('Band 10 scale: ', b10scale.getInfo())

获取所有元数据属性的列表。

properties = image.propertyNames()
print('Metadata properties: ', properties.getInfo())

获取特定的元数据属性。

cloudiness = image.get('CLOUD_COVER')
print('CLOUD_COVER: ', cloudiness.getInfo())

获取时间戳并将其转换为日期。

#获取系统时间
date = ee.Date(image.get('system:time_start'))
print('Timestamp: ', date.getInfo())
#以以下的时间格式来获取时间信息
date2 = date.format('YYYY-MM-dd')
print('Timestamp: ', date2.getInfo())

使用geemap获取图片元数据

#这就相当于获取了所有的属性信息
image = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_044034_20140318')
image_props = geemap.image_props(image)
image_props.getInfo()

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用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
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值