geemap学习笔记043:开始Earth Engine Python脚本

前言

前段时间是针对geemap中的Tutorialsgeemap book进行了系统学习,针对其中所涉及到的geemap例子进行了详细的记录和备注,虽然感觉已经是入门了不少,例如earth engine无非就是涉及到Image、ImageCollection、Geometry、Feature、FeatureCollection及其运算,但是对earth engine中涉及到的方法还了解较少,例如边缘检测等等。最近,发现了geemap已经将GEE中的大部分例子已经转为了Python代码,这其中含有丰富的知识,因此后面就会将结合官方文档中的案例进行记录和学习,案例的搜索可以参考geemap学习笔记020:如何搜索Earth Engine Python脚本

1 导入库并显示地图

import ee
import geemap

ee.Initialize()
Map = geemap.Map()
Map

2 开始Earth Engine Python脚本

Map = geemap.Map(center=[40, -100], zoom=4)

# 此函数从 Landsat 8 图像获取 NDVI。
def addNDVI(image):
    return image.addBands(image.normalizedDifference(['B5', 'B4']))

# 此函数掩膜云像素。
def cloudMask(image):
    #此函数是使用[0,100]范围内的数表示云的含量,返回含有'cloud'波段的image
    clouds = ee.Algorithms.Landsat.simpleCloudScore(image).select(['cloud'])
    #clouds<10的会返回1,否则返回0
    return image.updateMask(clouds.lt(10))

#加载Landsat集合,在其上循环NDVI和云掩膜函数。
collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA') \
    .filterBounds(ee.Geometry.Point([-122.262, 37.8719])) \
    .filterDate('2014-03-01', '2014-05-31') \
    .map(addNDVI) \
    .map(cloudMask)

#将集合减少到每个像素的平均值并显示。为什么不直接使用median,是为了方便后面的NDVI均值计算
meanImage = collection.reduce(ee.Reducer.mean())
vizParams = {'bands': ['B5_mean', 'B4_mean', 'B3_mean'], 'min': 0, 'max': 0.5}
Map.setCenter(-122.262, 37.8719, 10)
Map.addLayer(meanImage, vizParams, 'mean')

#加载一个区域来计算平均值并显示。
counties = ee.FeatureCollection('TIGER/2016/Counties')
santaClara = ee.Feature(counties.filter(
    ee.Filter.eq('NAME', 'Santa Clara')).first())
Map.addLayer(ee.Image().paint(santaClara, 0, 2), {
             'palette': 'yellow'}, 'Santa Clara')

# 获取该地区 NDVI 的平均值。
mean = meanImage.select(['nd_mean']).reduceRegion(**{
    'reducer': ee.Reducer.mean(),
    'geometry': santaClara.geometry(),
    'scale': 30
})

#打印该地区的平均 NDVI。
print('Santa Clara spring mean NDVI:', mean.get('nd_mean').getInfo())

#展示Map
Map

显示结果
image.png

后记

大家如果有地信遥感方面的问题需要请教或者有项目需要合作,可以在闲 鱼软件的用户中搜索:遥感GIS工作室,请认准头像,谢谢。

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值