2

Currently, i have a 32 bit float raster (.TIFF) and would like to convert it to JP2000 format. Is there a way to do this?

I have tried Copy Raster tool and Raster to Other format tool but both produce the error:

000446: Output file format with specified pixel type or number of bands or colormap is not supported.

My raster is single band without color map and 32 bit float. Here is the statistic of my raster:

  • Minimum: 493.33380126953
  • Maximum: 493.33380126953
  • Mean: 662.78674316406
  • Std Dev: 49.161709494491

And my desire precision is 3

7
  • I suggest you do a google search for "Convert tiff to jp2000". I got hundreds of pages on how to do it. Questions here need to show some research effort. I am going to recommend this question be closed due to lack of content. If you add content, the question will stay open - what have you tried? Where are you stuck?
    – jbalk
    Commented Feb 13, 2017 at 7:37
  • Sorry, i have updated my question since i think that the problem is come from "32 bit float" and is included in the question already Commented Feb 13, 2017 at 8:12
  • You have an ArcPy tag so please include a code snippet and the error that it produces (which should include a line number). If it is a tool dialog giving the error then please provide the parameter values and switch the ArcPy tag for ArcGIS Desktop.
    – PolyGeo
    Commented Feb 13, 2017 at 8:27
  • I have remove the arcpy tag and use arcgis instead, thank you very much. About the parameter it just require the input TIF and specify the output extension so i did not write down in the question. Commented Feb 13, 2017 at 9:05
  • @Luke I re-opened this, if you want to add a brief answer.
    – PolyGeo
    Commented Feb 13, 2017 at 10:52

1 Answer 1

1

Although the JPEG 2000 standard supports any bit depth (including 32 bit float), ArcGIS Desktop only supports 8 and 16 bit unsigned integer JPEG 2000 rasters.

To create an integer raster retaining N decimal places that you can convert to JPEG2000 use the following expression in the raster calculator:

Int("your_raster" * 10 ** N + 0.5)

For 3 decimal places (N=3):

Int("your_raster" * 10 ** 3 + 0.5)

However, this will produce values greater than the range of a 16bit unsigned int (0 - 65535). You'll either have to multiply by 10 and retain 1 decimal place precision, rescale your data, or find another format (or software that can write 32bit JP2).

7
  • So is there a way to convert my raster to 16 bit unsigned and then to JP2000 Mr.Luke ? Commented Feb 15, 2017 at 2:42
  • Thank you very much Mr Luke, I have updated my above question Commented Feb 15, 2017 at 5:43
  • It still produce the ERROR 000446: Output file format with specified pixel type or number of bands or colormap is not supported. although now pixel is 16 bit unsigned int Mr Luke Commented Feb 16, 2017 at 3:15
  • Make sure you specify the pixel type parameter ad 16_BIT_UNSIGNED in the Copy Raster tool
    – user2856
    Commented Feb 16, 2017 at 4:01
  • i'm sorry that i didn't notice that. I have provide the pixel type and the error is gone but my output (i store it in file format .jp2 not in geodatabase) is not correct since its MINIMUM become zero Commented Feb 16, 2017 at 4:32

Your Answer

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

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