实现阈值使用数字(阈值)和逻辑运算符来帮助我们将图像的可变性划分为类别。例如,回想一下我们的 NDVI 地图。大量植被的 NDVI 值接近 1,非植被区域接近 0。如果我们想查看地图的哪些区域有植被,我们可以使用阈值将每个像素中的 NDVI 值概括为“无植被” ”或“植被”。可以肯定的是,这是一个实质性的简化,但可以帮助我们更好地理解地球表面的丰富变化。这种类型的分类可能很有用,例如,如果我们想查看一个城市的植被比例。让我们在美国华盛顿州西雅图附近创建 NDVI 的 Sentinel-2 地图。
gt 方法来自布尔运算符系列——也就是说,gt 是一个函数,它在每个像素中执行测试,如果测试结果为 true,则返回值 1,否则返回 0。在这里,对于图像中的每个像素,它测试 NDVI 值是否大于 0.5。当满足这个条件时,图层 seaVeg 得到值 1。当条件为假时,它接收到值 0。
使用 Inspector 工具探索这个新层。如果单击绿色位置,则 NDVI 应大于 0.5。如果单击白色像素,则 NDVI 值应等于或小于 0.5。
该布尔系列中的其他运算符包括小于 (lt)、小于等于 (lte)、等于 (eq)、不等于 (neq)、大于等于 (gte) 等等。
使用 .where 构建复杂的分类
对 NDVI 进行分类的二进制地图非常有用。但是,在某些情况下,您可能希望将图像拆分为两个以上的 bin。 Earth Engine 提供了一种工具,即 where 方法,它根据测试结果在每个像素内有条件地评估为真或假。这类似于在其他语言中常见的 if 语句。但是,为了在为 Earth Engine 编程时执行此逻辑,我们避免使用 JavaScript if 语句。重要的是,如果命