Sentinel-2 BAIS2指数计算值范围不符文献标准求助
火烧迹地检测中BAIS-2指数计算数值范围异常问题
我正在使用归一化燃烧比(NBR)和哨兵2号燃烧面积指数(BAIS-2)开展火烧迹地检测与烈度分析,NBR的计算结果正常,但BAIS-2的计算结果数值范围存在异常。根据查阅的文献及资料,BAIS-2的取值范围应为-1到1。
Filipponi(2018)给出的BAIS-2计算公式为:
BAIS2 = (1-(B6B7B8a/B4)0.5)*((B12-B8a)/(B12+B8a)0.5+1)
以下是我使用的R代码片段:
# Load libraries library(raster) library(sp) # Load data # data_a is the sentinel-2 image after the wildfire # data_b is the sentinel-2 image before the wildfire data_a <- stack("April/20240407/S2A_MSIL2A_20240407T164851_N0510_R026_T14QPF_20240407T214153.tif") data_b <- stack("March/20240308/S2A_MSIL2A_20240308T165131_N0510_R026_T14QPF_20240308T225001.tif") rnames <- c('b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b8a', 'b9', 'b11', 'b12', 'cmask') names(data_a) <- rnames names(data_b) <- rnames # Calculate extension and reduce size of # Current Extension extension <- extent(c(677028.3468, 701333.4836, 2070957.1834, 2089943.2630)) lines(extension) data_a <- crop(data_a, extension) data_b <- crop(data_b, extension) # Plot BAIS2 results plot((1 - (data_b$b6*data_b$b7*data_b$b8a/data_b$b4)^0.5)*((data_b$b12-data_b$b8a)/(data_b$b12+data_b$b8a)^0.5 + 1)) plot((1 - (data_a$b6*data_a$b7*data_a$b8a/data_a$b4)^0.5)*((data_a$b12-data_a$b8a)/(data_a$b12+data_a$b8a)^0.5 + 1))
输出图像如下:
- 火烧前BAIS2结果:

- 火烧后BAIS2结果:

请问有人能指出我的错误吗?即使计算差值,结果范围仍不符合文献记载。我已查阅多篇文献确认数值范围与公式,且更换多幅影像测试,结果范围仍未改变。
感谢!
内容的提问来源于stack exchange,提问作者Josept Revuelta
相关产品推荐
相关产品推荐

