Google Earth Engine谷歌地球引擎GEE中ee.Image格式单张栅格图像数据基本处理操作

简介: Google Earth Engine谷歌地球引擎GEE中ee.Image格式单张栅格图像数据基本处理操作

  

  首先,导入第九篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/119545059)中提及的遥感影像:

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

  这里需要注意:在第九篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/119545059)中也提到了,通过上述代码导入的这一景遥感影像是成像时间为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格式数据的基本处理操作,我们将会在后期的博客中进行介绍。

  在第四篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/117573181)中,我们介绍了在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官方文档中查看相关函数的详细解释,如下图所示。

  执行代码,可以看到这种基于字典形式的参数输入方式与第四篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/117573181)中采用的参数输入方式效果是一致的。

  此外,第四篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/117573181)中还介绍了将全部可视化参数首先存储于一个独立的参数中,随后在Map.addLayer()函数中调用这一独立参数的方法;这一点本文就不再赘述。

  在第九篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/119545059)中,我们通过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()函数的详细介绍请参考第八篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/119415570);.clip()函数的详细介绍请参考第三篇GEE教学博客https://blog.csdn.net/zhebushibiaoshifu/article/details/117390431)。

欢迎关注公众号/CSDN/知乎/微博:疯狂学习GIS


相关文章
|
6月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2344 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
6月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
84 0
|
6月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
217 0
|
6月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
107 0
|
6月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
126 0
|
6月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
74 0
|
6月前
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
252 0
|
6月前
|
传感器 编解码 数据处理
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
118 0
|
6月前
Google Earth Engine(GEE)——当加载图表的时候出现错误No features contain non-null values of “system:time_start“.
Google Earth Engine(GEE)——当加载图表的时候出现错误No features contain non-null values of “system:time_start“.
120 0
|
6月前
|
编解码 定位技术
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
148 0