I'm using ArcMap 10.1.

I have a NetCDF file containing the latitude, longitude and porosity for the entire US. I am trying to add another value (wilting point) which depends on the porosity.

I wanted to extract the netcdf to a table, add a new field and then use the field calculator to to fill the values on the new field. But when I import it, I only get one set of values on the table.

I tried approaching it the other way: extracting the NetCDF to raster (which works fine) and extracting the values from the raster using "build raster attribute table" but i get an error message saying "Only single band integer raster dataset is a valid input". it doesn't make sense as the raster is a single band raster (I double checked the properties> number of bands of the raster). HOw can I build a table containing all the entries in the NetCDF file?

  • Welcome to GIS SE! Would you be able to edit your Question (using the button beneath it) to insert a single question mark somewhere to indicate what your precise Question is, please? At the same time can you also include the version of ArcGIS for Desktop that you are using, please? – PolyGeo Feb 16 '14 at 9:16
  • This Question has been addressed and answered here: "How to create attribute table for raster data?". – Vik_Van Nov 29 '17 at 13:15

If you have a single band raster, then the problem comes from the other constraint : integer type. Your porosity value is probably float.

To solve your problem, you need to build a new raster dataset using "map algebra" (assuming you have the spatial analyst extension). Another solution is to reclassify your raster so that you can build an attribute table, but I recommend the first solution.

  • 1
    Hi, thank you for writing. What exactly should I be doing in map algebra? – user23960 Feb 16 '14 at 17:15

I found this problem occuring mainly when handling raster data with floating point data. The straight forward approach (in the ArcMap Toolbox' sense of way):

  1. ArcToolbox > Spatial Analyst Tools > Map Algebra > Raster Calculator

    Multiply your raster by 1*X with X corresponding the maximum decimal places contained. The new raster should now be free of digits, although still being a floating pixel value raster.

  2. ArcToolbox > Data Management Tools > Raster > Raster Dataset > Copy Raster

    In the Pixel Value drop-down menu select the Pixel Type suiting your data.

  3. Now that you have a non-float raster (and ArcMap surely loves these) create an attribute table:

    ArcToolbox > Data Management Tools > Raster > Raster Properties > Build Raster Attribute Table

  4. Open the attribute table, add a field and use Field Calculator to get your old pixel values back - by calculating "Your Value= 1 / 1*X"

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.