I am a programmer exporting 32-bit floating point GeoTIFF rasters from my own application that my users need to read into ArcGIS. Unfortunately I am not an Arc user myself and have zero expertise with it, so please target comments accordingly.
Arc is reading and locating my rasters properly, but I am having problems making it understand which grid cells are empty. Since all positive and negative floating point numbers are legal data values in my rasters, I am trying to use IEEE NaNs as my NoData values, which I understood to be an accepted practice. Furthermore, as my rasters are often dimensionally large but sparsely populated, I'm trying to get maximal compression out of the TIFF PackBits algorithm (which really likes to see sequences of identical bytes) by making an optimal choice with regard to my particular NaN value. Since any 32-bit float whose exponent bits are all 1 is considered a NaN, I'm using 0xffffffff (32 1-bits) as my NaN value since it's both a valid IEEE NaN and is also 4 identical bytes.
Arc seems to treat my 0xffffffff NaN values as low but legal values, i.e., it renders them as black similarly to the actual low legal data values in my file. How can I get Arc to treat this particular constant (which is of course not a value that can be expressed as a floating point number since it's an actual IEEE NaN) as my NoData value and not render it at all?
Not being an Arc user it's quite possible that I'm just not setting the right display/import options within Arc to get what I want. If someone could explain how to do this that may well solve my problem.