I am trying to calculate index based built-up index (IBI) in ArcMap using raster calculator and getting strange values. I downloaded Landsat 8 data. To get the IBI, first I calculated NDVI with NIR and SWIR1 bands as NDBI equation NDBI results

SAVI with NIR and Red bands as SAVI equation SAVI results

and MNDWI with Green and SWIR1 bands as MNDWI equation MNDWI results

Than I use the NDBI, SAVI and MNDWI to calculate IBI as ("NDBI" - ("SAVI" + "MNDWI")/2)/("NDBI" + ("SAVI" + "MNDWI")/2)

My result values for IBI range from -3.10538e+07 to 2.53846e+07, which is rather strange. IBI results histogram

I followed the methods of this article to get all to IBI https://link.springer.com/article/10.1007%2Fs10708-020-10148-w

I have also tried to calculate it straight from the bands as done in couple of papers I have seen, where the NDVI is used instead of SAVI but the results did not get any better.

Where is the mistake?


1 Answer 1


I was also struggling with IBI values going beyond [-1,1]. Check this: Index‐Based Built‐up Index (IBI) no in the specified range

The reference paper of IBI by Xu et.al exerts to rescale the NDVI, SAVI and MNWDI to [0,255] before computing IBI using these input indices.

You can use the formula 255(X - 1)/2 to rescale input indices (X being NDVI,SAVI or MNDWI) ...figured this from here Rescaling NDVI values 0-255 to [-1;1] using ArcGIS Raster Calculator?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.