You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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结果
  • 火烧后BAIS2结果:火烧后BAIS2结果

请问有人能指出我的错误吗?即使计算差值,结果范围仍不符合文献记载。我已查阅多篇文献确认数值范围与公式,且更换多幅影像测试,结果范围仍未改变。

感谢!

内容的提问来源于stack exchange,提问作者Josept Revuelta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:43:24