Me gustaría reclasificar una trama con el siguiente código:
#RBR reclassification to USGS burn severity values
arr = np.array(RBR_MultiplyBy1000_Int)
level1 = (arr >= -500) & (arr <= -251) #-2 Enhanced Regrowth, high (post-fire)
level2 = (arr >= -250) & (arr <= -101) #-1 Enhanced Regrowth, low (post-fire)
level3 = (arr >= -100) & (arr <= 99) #0 Unburned
level4 = (arr >= 100) & (arr <= 269) #1 Low Severity
level5 = (arr >= 270) & (arr <= 439) #2 Moderate-low Severity
level6 = (arr >= 440) & (arr <= 659) #3 Moderate-high Severity
level7 = (arr >= 660) & (arr <= 1300) #4 High Severity
levels = [level2, level3, level4, level5, level6, level7]
reclass_values = [-1, 0, 1, 2, 3, 4]
RBR_reclassed_arr = np.where(level1,-2, arr)
for level, val in zip(levels, reclass_values):
RBR_reclassed_arr = np.where(level, val, RBR_reclassed_arr)
Pero cuando la reclasificación está terminada, obtengo los siguientes valores ráster:
Me parece que algunos valores no se reclasifican porque tengo el valor mínimo de -650, normalmente debería ser -2 el valor mínimo.