I was recently trying to perform some band math calculations in multiband images. I have a big chunk of images witch contains more than 300 bands (dates) each. So I first choosed ENVI to do this process. When trying to calculate anything with those rasters, I realised that ENVI was not ignoring NoData values (-9999), and the result was obviously bad. When trying to redefine the ENVI header file to set the value to ignore, the software performs this only for the visualization, and any processing was still considering NoData. The same happened when I defined -9999 as NoData using QGIS "translate" tool.

So, resuming: Now the whole dataset have the NoData value successfully set for -9999, but ENVI is still not considering it for calculations. In QGIS or ArcGIS, it is possible to ignore this values for calculations, but I cannot perform multiband operations (more than 300 bands in each image) in tools like raster calculator, image analysis or even the model builder. Masking the NoData values from raster or separate bands in individual files seems not to be efficient methods given the size of the dataset (more than 5 gb per file).

Considering this, I am looking for a method to perform multiband calculations (eg. vegetation indexes) while the software ignores NoData values with just a few processing operations, given the size of the dataset.

  • It could be done with a workaround of R inside QGIS, as this example: gis.stackexchange.com/a/277331/80215 . But R in QGIS is a little limited in terms of parallelization, I use to make this kind of processing in R suite using parallelization with fast results
    – aldo_tapia
    May 25, 2018 at 21:09


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.