I'm new to StackExchange and to remote sensing. I am working with MOD13Q1 250m 16-day MVCs. My goal is to use NDVI time-series to classify cropping pattern and crop type, then link this data to water issues and rainfall. I am working with ENVI 5.1, which is also new to me. I have used the Modis Reprojeciton Tool to reproject and mosaic two MODIS tiles covering Sri Lanka. The data has been reprojected into WGS84_UTM_44N. I output the data as a GeoTiff and have successfully loaded this into ENVI.

Here's my question: the pixels in the reprojected/mosaicked raster for the NDVI band (which is what i will need for the time-series analysis) run from -32768 to 32767, not from -1 to 1. Is this just some silly misinterpretation on my part, do I need to manipulate the raster somehow with ENVI, or have I distorted the data when reprojecting it?

  • I'm unfamiliar with ENVI, but the 32k values indicate the raster is a 16 bit raster when what you probably want is signed 8 bit. (see this Esri article on raster bit depth). I'd check to see if the projection tool has an option for specifying or restricting the bit depth. – matt wilkie Jan 23 '14 at 21:54
  • sorry, I also working with this data. what do you do with the fill value (-3000)? do you classify it as 0 or do you just leave it as it is? Many thanks, Ilona – user35078 Jul 26 '14 at 21:34

If you look at the product page at LPDAAC, under Layers there is a table that lists each of the bands in the dataset and their characteristics.

Scale factor

For the NDVI layer, it is a 16-bit signed integer with a fill value of -3000, and a valid range from -2000 to 10000. However, there is also a scale factor of 0.0001, or 1/10,000. This means that a value of 10000 in the raster should be multiplied by 0.0001 in order to achieve the actual data value. In ENVI, you should try using Interactive Stretching and rescale the raster to go from 0 to 10000. If you need more pointers on using ENVI, let me know and I can take some screenshots.

It seems odd that NASA would implement this weird scale factor, but it makes sense when you think about it. A 32-bit floating point value that stored the NDVI value verbatim would take up twice as much space before compression versus this integer format, and it would suffer from the precision issues inherent in floating point values. By storing the value as a scaled integer, the file stays small and the precision is retained.

Let me know if you have any other questions about MOD13Q1. I have a good amount of experience using this data set for time series analyses.

  • Many thanks!! I downloaded the HDFView program to find this information in the future. You may be able to help me with some basic questions I have about working with the data in ENVI. Sri Lanka falls on two MODIS tiles, so I need to mosaic the tiles, subset them to Sri Lanka, and reproject them (WGS84, UTM44N). I have successful done this with the MODIS Reprojection Tool (as mentioned in my first comment), but the output .hdf file is read by ENVI as a "Generic File." In addition, while correctly projected, (according to ArcGIS) the output file does not include original projection info. – Emily Jan 29 '14 at 23:28
  • Another quick comment - shouldn't I rescale the NDVI raster from -2000 to 10,000 since this is the value range listed for this raster? Thanks again for your help, it is GREATLY appreciated. – Emily Jan 29 '14 at 23:40
  • I would recommend using the MODIS Reprojection Tool to produce .TIF files--these have better compatibility with software like ENVI and ArcGIS compared to .HDF files. For the scaling, you probably want to scale it by 10,000 to a floating point raster output, where -2,000 = -0.2 and 10,000 = 1.0. – dmahr Jan 30 '14 at 0:25
  • This was a very useful answer dmahr, I was just wondering though if I can multiply the MODIS NDVI using ARCGIS raster calculator? I did and it looks fine but I just need to be sure this is also a proper why of doing it. I am not very familiar with ENVI – user27855 Mar 9 '14 at 19:42
  • Recently I downloaded the product and saw the NDVI values' range are in the magnitude of order of 7. If you use the scaling factor of 0.0001, the range will not be normalized into -1 to 1. Somebodies have asked this questions (such as here and here) but signed as a duplication to this thread. The plot shown here might be useful as an indication to my question. Is the scaling factor 0.0001 still valid? – wnursal Jun 17 '19 at 4:43

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