专栏首页疯狂学习GISGoogle Earth Engine谷歌地球引擎ee.Image格式栅格数据基本处理

Google Earth Engine谷歌地球引擎ee.Image格式栅格数据基本处理

  本文主要对GEE中的ee.Image格式数据图层基本处理操作加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第十篇,更多GEE文章请参考专栏:GEE学习与应用(https://blog.csdn.net/zhebushibiaoshifu/category_11081040.html)。

  首先,导入Google Earth Engine谷歌地球引擎JavaScript代码基础规则与语句中提及的遥感影像:

var landsat_5=ee.Image("LANDSAT/LT05/C01/T1_TOA/LT05_123032_20100605");

  这里需要注意:在Google Earth Engine谷歌地球引擎JavaScript代码基础规则与语句中也提到了,通过上述代码导入的这一景遥感影像是成像时间为2010年06月05日、PathRow号分别为123032(覆盖北京市)的Landsat 5 Collection 1 Tier 1的大气表观反射率TOA Reflectance产品;其成像时间是一个确定的值,因此是一景图像,此即ee.Image格式的数据。而若是导入很多景图像——例如将上述代码括号中的内容改为"LANDSAT/LT05/C01/T1_TOA",那么所导入的遥感影像就成了不限制成像时间的、全球的Landsat 5 Collection 1 Tier 1大气表观反射率TOA Reflectance产品,即从Landsat 5卫星从升空成像一直到退役这个时间范围内的影像全部包括在内;因此在全球任意一个空间范围内,所导入的遥感影像都是很多时相所对应的很多景图像,相当于是好几景图像重叠、叠合在一起,此即ee.ImageCollection格式的数据。关于ee.ImageCollection格式数据的基本处理操作,我们将会在后期的博客中进行介绍。

  在Google Earth Engine谷歌地球引擎栅格数据可视化代码嵌入中,我们介绍了在Map.addLayer()函数中对图层可视化参数进行配置的方法:

Map.setCenter(116.36863, 39.961029,10);
Map.addLayer(landsat_5,{bands:["B4","B3","B2"]},"LANDSAT5");

  而上述代码有一个问题——我们必须按照一定顺序填写Map.addLayer()函数的参数,不能跳过。例如,如果在Map.addLayer()函数中,我们不想配置{bands:["B4","B3","B2"]}这个可视化参数,但还需要配置"LANDSAT5"这个地图中所显示图层名称的参数,那么就需要将可视化参数部分用{}留空。即以上代码就需要改为:

Map.addLayer(landsat_5,{},"LANDSAT5");

  针对这种情况,我们可以引入参数名称,将Map.addLayer()函数的参数修改为字典的形式,这样就可以消除函数参数顺序的问题。不过这里要注意:不要忘记字典前后需要有大括号{}包围哦。

Map.addLayer({visParams:{bands:["B4","B3","B2"]},eeObject:landsat_5,name:"LANDSAT5_New"});

  其中,visParamseeObjectname就是Map.addLayer()函数的参数名称。函数的参数名称可以在编辑栏编写代码时,按下GEE快捷键Ctrl+Space实现获取(有点类似于代码提示的功能);而在Windows系统中,由于这一对快捷键同时是Windows输入法中切换中英文输入的快捷键,因此由于快捷键冲突导致GEE中无快捷键Ctrl+Space实现获取参数名称。针对这一问题,我个人比较习惯直接搜索对应的函数,在GEE官方文档中查看相关函数的详细解释,如下图所示。

  执行代码,可以看到这种基于字典形式的参数输入方式与Google Earth Engine谷歌地球引擎栅格数据可视化代码嵌入中采用的参数输入方式效果是一致的。

  此外,Google Earth Engine谷歌地球引擎栅格数据可视化代码嵌入中还介绍了将全部可视化参数首先存储于一个独立的参数中,随后在Map.addLayer()函数中调用这一独立参数的方法;这一点本文就不再赘述。

  在Google Earth Engine谷歌地球引擎JavaScript代码基础规则与语句中,我们通过Map.setCenter()函数,将交互式地图的显示位置自动定位到北京师范大学附近的位置;与此同时,Landsat 5遥感影像的覆盖范围非常广泛,而上述自动定位的范围则比较小,因此可以通过ROI对遥感影像显示区域加以限制。

Map.setCenter(116.36863, 39.961029,13);
//Map.addLayer(landsat_5,{bands:["B4","B3","B2"]},"LANDSAT5");
var roi=ee.Geometry.Point([116.36863, 39.961029]).buffer(2000);
Map.addLayer(roi);
Map.addLayer({visParams:{bands:["B4","B3","B2"]},eeObject:landsat_5.clip(roi),name:"LANDSAT5_New"});

  其中,首先基于ee.Geometry.Point()函数,通过一个给定的经、纬度,确定一个点类型的矢量要素,随后通过.buffer()函数构建缓冲区,作为ROI;并将ROI与经过.clip()函数裁剪后的遥感影像分别在地图中显示。其中,.buffer()函数的详细介绍请参考Google Earth Engine谷歌地球引擎直方图与时间序列图绘制.clip()函数的详细介绍请参考Google Earth Engine谷歌地球引擎矢量数据裁剪栅格数据

欢迎关注公众号:疯狂学习GIS

本文分享自微信公众号 - 疯狂学习GIS(gh_c5ddfeeae7b4),作者:疯狂学习GIS

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谷歌地球引擎(Google Earth Engine)之数据初探(栅格和矢量)

    谷歌地球引擎的厉害之处,在于它是一个云平台,集合了目前许多的遥感数据。我们可以不用再去各种平台搜集遥感数据,直接利用GEE就可以处理我们想要的数据。除了大量的卫...

    一个有趣的灵魂W
  • Google Earth Engine谷歌地球引擎JavaScript代码基础规则与语句

      本文主要对GEE中的JavaScript代码基础规则与语句、函数等加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章...

    疯狂学习GIS
  • Google Earth Engine使用

    谷歌的地理引擎,通过一些简单的API我们就可以在几十PB大小的数据内进行弹性运算,以获得我们需要的结果。我们每个人都有权利平等的来享受这个美好的世界。

    云深无际
  • Google Earth Engine谷歌地球引擎矢量数据裁剪栅格数据

      本文主要对GEE中依据矢量数据裁剪栅格数据的操作加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第三篇,更多GE...

    疯狂学习GIS
  • Google Earth Engine谷歌地球引擎外部数据导入管理及数据与代码共享

      本文主要对GEE中的各类外部数据导入、下载与管理以及数据与代码分享等操作加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教...

    疯狂学习GIS
  • Google Earth Engine谷歌地球引擎直方图与时间序列图绘制

      本文主要对GEE中的依据栅格图像绘制直方图与时间序列图并调整图像可视化参数操作加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)...

    疯狂学习GIS
  • Google Earth Engine的介绍与入门

    Google Earth Engine是Google提供的对大量全球尺度地球科学资料(尤其是卫星数据)进行在线可视化计算和分析处理的云平台。该平台能够存取卫星图...

    郭好奇同学
  • Google Earth Engine谷歌地球引擎栅格数据可视化代码嵌入

      本文主要对GEE中的数据图层可视化代码嵌入操作加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第四篇,更多GEE...

    疯狂学习GIS
  • 谷歌地球引擎python文档(GEE_python_API)

    经过前面两个对谷歌地球引擎(GEE)介绍和简单入门的文章之后(下附文章链接)。终于想起来该更新一些内容了。这期就白嫖一份稍微靠谱一些的GEE_python的函数...

    一个有趣的灵魂W
  • Google Earth Engine(GEE)-谷歌地球引擎的大致Python入门

    谷歌地球引擎,在RSE(Remote Sensing of Environment)的热门版上有一篇文章有大致的介绍。

    一个有趣的灵魂W
  • 基于Google Earth Engine的Landsat单窗算法地表温度(LST)反演

      基于遥感数据的地表温度(LST)反演目前得到了广泛的应用,尤其是面向大尺度、长时间范围的温度数据需求,遥感方法更是可以凸显其优势。目前,基于各类遥感数据源的...

    疯狂学习GIS
  • Python-gdal离线文档下载

    Gdal的官网一搜就有了:www.gdal.org。里面对gdal各种函数的描绘,一应俱全,有时候即使不用python的gdal包。通过安装gdal后,也能使用...

    一个有趣的灵魂W
  • 基于Google Earth Engine Explorer实现不用代码的遥感影像地物监督分类

      本文主要对GEE的网页界面式应用程序接口Google Earth Engine Explorer加以详细介绍与地物监督分类这一具体应用。本文是谷歌地球引擎(...

    疯狂学习GIS
  • Google Earth Engine谷歌地球引擎数据导入与筛选显示

      本文主要对GEE自带各类遥感、高程等数据加以导入,并进行时间范围筛选、求取平均与可视化显示。本文是谷歌地球引擎(Google Earth Engine,GE...

    疯狂学习GIS
  • 【GPU陷入价格战】谷歌云可抢占GPU降价40%,P100每小时不到3块钱

    新智元
  • 数据共享 | 全球柯本气候类型空间分布数据集(1901-2000年)

    全球柯本气候类型空间分布数据集(1901-2000年),根据1901-1995,1961-1990或1951-2000年的气温和降水资料整编而成,原始数据为栅格...

    郭好奇同学
  • 8 个 WebAssembly 应用案例直击 /转

    除了瀏覽器業者、遊戲業者大力支援WebAssembly外,許多需要加速效能表現的大型網頁應用或線上工具,也都能得利於WebAssembly的超快執行速度。目前W...

    Jean
  • DevOps工具介绍连载(20)——Google App Engine

    2008年4月7号,Google在Campfire One上介绍了一种简化创建、运行和构建伸缩性Web应用的工具——Google App Engine。简而言之...

    小老鼠
  • WebAssembly的初步了解

    2017年2月28日,四大浏览器,IE,FF,Chrome,Safari宣布达成共识,即 WebAssembly 的 MVP (最小化可行产品)已经完成。大约一...

    javascript.shop

扫码关注云+社区

领取腾讯云代金券