需求描述
具体的需求描述是:有一系列栅格数据,经重分类后,0表示Nodata,1表示未识别,2表示识别,需统计这一系列栅格中哪些像元点被识别过至少一次。****
实现方法
Spatial Analysit Tools–Local–Cell Statistics
Overlay statistics选择MAXIMUN
右键新栅格,打开属性表
value=2即为被识别过至少一次的像元
在nodata值为Null时,为了避免裁剪误差,可以把Ignore Noata取消勾选
这里nodata值为0而不是null,所以不会被忽略计算
讨论-误差
实际应用中会出现的问题是,由于裁剪/重采样等不可名状的原因,在一系列数据中,可能出现上一时间识别的像元在下一时间中被裁掉(Nodata,0或Null),所以在上文说可以取消ignore nodata 的勾选
笔者以前的思路是直接采用Cell Statistics的SUM,30幅图像,最终结果大于30的就是被识别过的像元,但是实际应用中出现了两个问题;
一是理论上,最终栅格的只能出现0 30 以及大于30的点,但最终出现了许多介于0和30之间的像元。
检查发现,这些点都是在某些图像被“裁剪”但是某些图像未被裁剪的,因此SUM中出现了:“1+1+0+1…”的情况
第二个问题是,当我试图制作累计统计时,居然出现了识别像元数减少的情况
这说明,DOY84把一些DOY83中识别的像元(value=2)裁掉了(value=0)
(笔者采用的“裁剪”方法参考【ArcGis】巧用栅格计算器进行土地利用类型图的筛选&离散数据的重采样方法)
这种批量“裁剪”后结果不对等的问题,我暂时也没有办法解决,只能猜测可能是重采样时的误差(30m到500m还是跨度很大),而且矢量边界出也会出现类似问题。
另外,SUM方法也不方便,因为提取的Value取决于输入栅格数量,30幅需要value大于30,而且需要把属性表重新统计。
所以还是SUM方法最好,这几个问题都可以避免