I am using ArcMap 10.2.

I’m trying to create an attribute table for an NDVI tif file. The pixel type of my file is double precision, so I tried first multiplying the whole thing by 10^n, however I have 16 decimal places. For some reason when I use the INT tool afterwards it just gives me one category (which is 0). I can try multiplying by 10^9, and then I have no problem using the INT tool, but I feel like I’m losing resolution by using only 9 places.

Is there any other method to change from double precision into signed integer?

  • 2
    Welcome to GIS SE. please specify the software that you are using in order to attract meaningful answer. By the way, 9 decimal places for NDVI is more than enough: it is useless to store information with more decimal places than its true precision (3 or 4 decimal places would be fine) and some software have limited entry values for raster attribute tables – radouxju Feb 14 '17 at 10:34
  • Multiply it by 1000. Period. Everything after 3rd decimal in NDVI is computer garbage – FelixIP Feb 14 '17 at 19:20

In ArcGIS, it is not possible to build a raster attribute table for a raster dataset that is a pixel type of 32-bit floating point, therefore the best option is to change the pixel type of your data by using Copy Raster tool. Before that, however, you have to clarify how to transform your NDVI to a desired range, which is also called stretching or normalization. As you know the raw NDVI values range between -1.0 and +1.0, usually this range is transformed to a 0-100 scale or better 0-255 (8 unsigned integer range). I think the latter option will be sufficient to process specifically the NDVI as its best, since it is an index and 0-255 range helps to differentiate vegetation from the others. The transformation or re-scaling is explained in various places, such as this ESRI support page.


Your Answer

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

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