首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌地球引擎中的高程掩蔽图像

谷歌地球引擎中的高程掩蔽图像
EN

Stack Overflow用户
提问于 2022-10-19 17:57:13
回答 1查看 45关注 0票数 0

我是一名研究生,刚开始学习地理信息系统和地理信息系统。对于与我的博士研究相关的工作,我看的是一个沿海地区的行星图像。我试图只看低洼盐沼的区域,所以我一直试图掩盖某一海拔以下的像素--但没有效果。

我现在有三个图像,并一直在使用美国3 3DEP的海拔数据,它的形式是一个ImageCollection。加载图像,可视化它们和掩蔽零很好。

代码语言:javascript
复制
var us3DEP = ee.ImageCollection('USGS/3DEP/1m');
var us3DEPvis = {
  min: 0,
  max: 3000,
  palette: [
    '3ae237', 'b5e22e', 'd6e21f', 'fff705', 'ffd611', 'ffb613', 'ff8b13',
    'ff6e08', 'ff500d', 'ff0000', 'de0101', 'c21301', '0602ff', '235cb1',
    '307ef3', '269db1', '30c8e2', '32d3ef', '3be285', '3ff38f', '86e26f'
  ],
};

var im1 = ee.Image('/20220114_151633_65_245c_3B_Visual')
var im2 = ee.Image('/20220114_151635_96_245c_3B_Visual')
var im3 = ee.Image('/20220114_151638_26_245c_3B_Visual')


//mask zero values

var mask1 = im1.select('b1').neq(0)
var maskim1 = im1.updateMask(mask1)

var mask2 = im2.select('b1').neq(0)
var maskim2 = im2.updateMask(mask2)

var mask3 = im3.select('b1').neq(0)
var maskim3 = im3.updateMask(mask3)

然而,我似乎无法找到一种方法,将收集到的高程数据集成到我图像中的一个波段中。到目前为止,我已经能够从高程图像集合中剪切出一幅图像的区域,但这就给我留下了一幅包含多个波段高程数据的图像:

代码语言:javascript
复制
var im1geo = maskim1.geometry()
var inter1 = us3DEP.filterBounds(im1geo)
var bands1 = inter1.toBands()
var over1 = bands1.clip(im1geo)

我试着用ee.Reducer.allNonZero在所有的波段上制作一个面具,但这似乎删除了整个图像(或者只是因为超出我的原因而不能工作,但没有出现错误)。

我做错了吗?我的目标是能够匹配每个像素的海拔数据和每个像素的图像数据,所以也许我不应该担心添加一个波段--但我不知道该如何去做。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-19 21:16:55

想想你需要什么。您希望将高程与您的数据进行比较。因此,toBands()不是正确的操作,因为它为集合USGS/3DEP/1m中的每一幅图像创建了一个频带--这是一组来自不同区域的图像,很少有空间重叠。所以,你只会有许多乐队,大多是蒙面。

相反,您需要为您感兴趣的区域提供一个带有高程数据的图像。如果ROI由3DEP中的一个映像覆盖,那么执行us3DEP.filterBounds(im1geo).first()就足够了,但是更可靠的答案(如果您接近图像边界)是创建所有可用数据的复合映像:us3DEP.filterBounds(im1geo).mean()

(在许多情况下,也应该使用日期范围进行筛选,但这个集合似乎没有历史数据。)

一旦你有了仰角图像,它应该是简单的使用它作为一个面具。

代码语言:javascript
复制
var elevation = us3DEP.filterBounds(im1geo).mean();
var maxElevation = 30;
var elevationMask = elevation.lt(maxElevation);

然后,只需.mask(elevationMask)您想要处理的图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74129912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档