{bbname}
游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:9:00-17:00

    联系QQ

    3543403617

    电子邮件

    3543403617@QQ.com
  • PKhuo手机版

    GM资源教程随时查询

  • 扫描二维码

    进传奇GM资源交流群

Lv.9 管理员
1号会员,0活跃值,2021.07.08 加入
  • 33569发帖
  • 31758主题
  • 0关注
  • 0粉丝
这个人很懒,什么也没有留下。
最新源码 更多>
游戏视频 更多>
脚本教程 更多>

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜

[复制链接]
pkhuo 发表于 2022-9-29 07:11:29 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  本文主要对GEE中的栅格图层像元条件筛选与掩膜操作加以介绍。
  本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第五篇,更多GEE文章请参考专栏:GEE学习与应用_疯狂学习GIS的博客-CSDN博客。
  首先,依据第二篇GEE教学博客(Google Earth Engine谷歌地球引擎GEE数据导入后筛选并显示_疯狂学习GIS的博客-CSDN博客)中内容,我们将Landsat 8 Collection 1 Tier 1的大气表观反射率TOA Reflectance产品与GMTED2010数据导入GEE;并对二者做好重命名。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-1.jpg

  接下来,同样依据第二篇GEE教学博客(Google Earth Engine谷歌地球引擎GEE数据导入后筛选并显示_疯狂学习GIS的博客-CSDN博客)中内容,将Landsat 8 Collection 1 Tier 1的大气表观反射率TOA Reflectance产品按照时间进行选取(具体时间范围大家任意选择即可),并求取对应时间范围内的平均值;同时,将DEM图层在地图中加以显示。
var landsat_2020=landsat_8.filterDate('2020-5-1','2020-5-31').mean();Map.addLayer(dem,{},"DEM");
Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-2.jpg

  接下来,依据第四篇GEE教学博客(Google Earth Engine谷歌地球引擎GEE栅格数据图层可视化设置代码嵌入_疯狂学习GIS的博客-CSDN博客_栅格数据可视化)中内容,将DEM图层可视化参数中的拉伸选项进行设置,并在得到合适的结果后将图层像元值的范围嵌入代码中。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-3.jpg

Map.addLayer(dem,{min:[-811.28],max:[1238.4]},"DEM");  随后执行代码,即可看到每次运行后DEM图层的可视化参数配置都是一致的。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-4.jpg

  接下来,就进行图层像元筛选的操作。在GEE中,我们可以直接通过.gt()(大于)、.lt()(小于)、.gte()(大于等于)等函数,对像元数值加以关系判别并选取。例如,通过dem.gt(1800),我们就可以筛选出像素数值大于1800的DEM像元。
var top_pixel=dem.gt(1800);Map.addLayer(top_pixel,{},"Top");  执行代码,可以看到海拔较高(即大于1800m)地区像元显示为白色,其它地区显示为黑色。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-5.jpg

  我们还可以对筛选后的像元加以掩膜,从而将不满足筛选条件的像元直接删除,在地图中不显示。其中,这里还用到了第四篇GEE教学博客(Google Earth Engine谷歌地球引擎GEE栅格数据图层可视化设置代码嵌入_疯狂学习GIS的博客-CSDN博客_栅格数据可视化)中调整单波段栅格图像的可视化palette参数的内容。
var top_mask=top_pixel.mask(top_pixel)Map.addLayer(top_mask,{palette:["63ff14"]},"Top_mask");  执行代码,可以看到海拔较高区域像元被筛选出并以彩色显示,而其它地区像元则不再显示。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-6.jpg

  接下来,我们利用normalizedDifference()函数计算一下NDVI,并对NDVI图层加以更进一步的像素筛选操作。关于GEE中NDVI的计算我们在后期的教学博客中会详细讲解,这里暂时不具体介绍。
var NDVI=landsat_2020.normalizedDifference(["B5","B4"]);Map.addLayer(NDVI,{},"NDVI");
Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-7.jpg

  依据与前述内容一致的方法,首先手动调整NDVI图层的可视化参数。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-8.jpg

  找到合适的参数配置后,将其嵌入代码中。
var NDVI=landsat_2020.normalizedDifference(["B5","B4"]);Map.addLayer(NDVI,{min:[-0.2098],max:[0.5692],palette:["ff3d6a","645aff","b1ff80","fff687"]},"NDVI");
Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-9.jpg

  再依据同样的像素筛选与掩膜代码,对NDVI图层加以处理:
var high_NDVI=NDVI.gt(0.45);var high_NDVI_mask=high_NDVI.mask(high_NDVI);Map.addLayer(NDVI,{min:[-0.2098],max:[0.5692],palette:["ff3d6a","645aff","b1ff80","fff687"]},"NDVI");Map.addLayer(high_NDVI_mask,{palette:["000000"]},"High_NDVI");  其中,"000000"表示黑色。执行代码可以看到,大于0.45的NDVI被显示为黑色,其余地区则依旧显示为彩色。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-10.jpg

  接下来,我们尝试对同一个图层进行两个限定条件的筛选。两个限定条件其实也很简单,直接在第一个筛选条件后用.and()函数跟随第二个限定条件即可。
var middle_NDVI=NDVI.gt(-0.5).and(NDVI.lt(0.5));var middle_NDVI_mask=middle_NDVI.mask(middle_NDVI);Map.addLayer(NDVI,{min:[-0.2098],max:[0.5692],palette:["ff3d6a","645aff","b1ff80","fff687"]},"NDVI");Map.addLayer(middle_NDVI_mask,{palette:["000000"]},"Middle_NDVI");  执行代码,即可将大于-0.5而小于0.5的NDVI区域加以筛选。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-11.jpg

  同样的,我们还可以同时对多个不同的图层加以像素筛选。依旧是利用.and()函数,在对第一个图层的限定条件后跟随对第二个图层的限定条件即可。
var middle_NDVI=NDVI.gt(-0.5).and(NDVI.lt(0.5));var middle_NDVI_mask=middle_NDVI.mask(middle_NDVI);Map.addLayer(NDVI,{min:[-0.2098],max:[0.5692],palette:["ff3d6a","645aff","b1ff80","fff687"]},"NDVI");//Map.addLayer(middle_NDVI_mask,{palette:["000000"]},"Middle_NDVI");var across_image=NDVI.gt(0.45).and(dem.lt(1500));var across_image_mask=across_image.mask(across_image);Map.addLayer(across_image_mask,{palette:["000000"]},"Across_image");  执行代码,黑色区域即为NDVI大于0.45且海拔低于1500m的区域,完成筛选。

Google Earth Engine谷歌地球引擎GEE对像元加以条件筛选、掩膜-12.jpg
回复

使用道具 举报

精彩评论1

永远就三年疗 发表于 2022-9-29 07:12:13 | 显示全部楼层
转发了
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

PKhuo论坛手机版

扫一扫二维码

传奇最全教程基地

Powered by PKhuo!X3.4 ©2001-2013 Comsenz Inc. 湘ICP备15015719号-5 |网站地图|友链申请