DEM提取一定高程值范围像元

最近在做水文分析,需要提取一定高程一下的像元,但是碰到个问题。

如果直接利用栅格计算器来提取,系统自动赋值。比如“DEM”<1800,这个命令,符合条件的会赋值为1,不符合的会赋值为0。然后再利用栅格计算器,将生成的新图层乘DEM,就会得到高程值。但是这里的问题是,0与DEM相乘的高程值为0,会同时显示出来,而我最终想要的是如下图的结果,

那么该怎么做呢?

做了很久发现了这么一个问题,原始DEM是没有属性表的。所以想着可以先在Raster工具下给DEM附上属性值。但是在操作过程中发现了报错,说是只接受单波段图层。但是我这DEM的确是单波段的,所以非常疑惑。

接下来,发现此DEM数据是32位的,所以找到了一种新的解决方案。

第一步,将DEM数据转换为16位。(栅格计算器中实现)

经过这一步后,新生成的DEM就有了属性表,表中VALUE字段即为高程值。

第二步,利用“按属性提取”工具提取像元。(spatial Analyst->extract->extract by attributes)

提取出来的像元结果就和第一张图一样了~~~

转载自:https://blog.csdn.net/Scarlett_OHara/article/details/50301547

You may also like...