前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google colab(Python)来编写GEE代码

Google colab(Python)来编写GEE代码

作者头像
GIS与遥感开发平台
发布2022-04-29 08:43:40
2.2K0
发布2022-04-29 08:43:40
举报
文章被收录于专栏:GIS与遥感开发平台

本次我们讲一下如何利用Google的colab使用GEE。colab是Google推出的云端的jupyter notebook,使用Google的算力,甚至可以白嫖Google的GPU,简直美滋滋。

但是,我们这次主要还是说一下如何利用colab也就是python代码来使用GEE。总体来说,GEE在python和JavaScript中的使用差不了太多。只要掌握了js代码的编写,python应该也很快能上手。

我们这次就以展示Landsat-8数据为例,来简单介绍一下。

01

首先找到colab

我们首先打开谷歌云盘,然后右击,就可以找到colab啦!如果没找到colab的话,就点击关联更多应用,在搜索框搜一下Colaboratory,点击安装就可以啦。

02

编写正式代码之前的准备工作

我们要使用colab编写GEE的代码就要先授权。

第一步:

代码语言:javascript
复制
from google.colab import auth
auth.authenticate_user()

写了上述代码,就会出来一个链接还有一个框框,点击进去,然后选择你的账号,再点击允许,会出现一串代码,把这个代码粘贴到刚才出现的框框里面再按回车就可以。

第二步:

代码语言:javascript
复制
import ee
ee.Authenticate()
ee.Initialize()

和上个授权一样,也需要点击链接,然后粘贴代码回车。

03

正式的代码

首先,我们定义一个Landsat-8的去云函数,并选取数据。

代码语言:javascript
复制
def maskL8sr(image):
#这个与js中1<<3和1<<5(位运算)一样的效果,都是去除云及阴影。
#这两种都表示2的3次方和2的5次方
  cloudShadowBitMask = ee.Number(2).pow(3).int()
  cloudsBitMask = ee.Number(2).pow(5).int()
  qa = image.select('pixel_qa')
  mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0).And(
    qa.bitwiseAnd(cloudsBitMask).eq(0))
  return image.updateMask(mask).divide(10000)


L8SR = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
# 对影像集做平均
image = L8SR.filterDate('2018-06-01', '2018-10-31').map(maskL8sr).mean()

然后,我们导入folium库,对数据进行可视化。

代码语言:javascript
复制
import folium
# 设置可视化参数,以假彩色进行显示
mapid = image.getMapId({'bands': ['B5', 'B4', 'B3'], 'min': 0, 'max': 0.3})
map = folium.Map(location=[38., -122.5])


folium.TileLayer(
    tiles=mapid['tile_fetcher'].url_format,
    attr='Map Data &copy; <a href="https://earthengine.google.com/">Google Earth Engine</a>',
    overlay=True,
    name='median composite',
  ).add_to(map)
map.add_child(folium.LayerControl())
map

这样,我们就可以看到我们熟悉的Landsat-8的数据啦!

使用colab还有一点就是可以和Google AI paltform进行联动,训练自己需要的深度学习模型(Tensorflow),GEE自带的模型真的不太够。

我们可以把训练好的模型上传到AI platform,然后通过GEE调用模型。这个我们以后应该会讲。

本期的代码我已经保存为ipynb格式供大家学习参考。

https://pan.bnu.edu.cn/l/snpiDW

使用自己电脑的jupyter notebook查看这个代码时,要点击右上角的“信任”才能看到最后的地图哦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GIS与遥感开发平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档