9

Just built a model that uses 3D Analyst - Surface Volume. I am trying to use a z factor of 1. Whenever I run the model my output table shows that a Z factor of 0.999998 was used instead of 1. I know this is a very small difference but even so, it is skewing my results somewhat. Really what I would like to know, is there a good explanation of why it gets changed to 0.999998 or is there a way to make it stay at 1?


Thanks again for your input. When I've tried changing the type of raster, the tool grays out the z factor all together and locks it in at 0.999998. So... I'm guessing there is really no way around this using integer or floating point data. I even tried converting to integer and using the raster calculator to multiply the data by 1000 to preserve the decimals in integer form, but was still stuck with the 0.999998 z factor. No dice.

  • 6
    I would say because it's a floating point, there's no such thing as 1 in float - see en.wikipedia.org/wiki/IEEE_floating_point – Michael Stimson Sep 3 '14 at 21:13
  • 3
    Yes, the Z factor is a floating point as most DEM/DSM rasters are usually 32-bit float. Try converting your int raster to a float too see resources.arcgis.com/en/help/main/10.1/index.html#//… – Michael Stimson Sep 3 '14 at 22:04
  • 3
    @Michael Actually, any number that is not an integral multiple of a small power of 2 (including negative powers) will not be exactly expressed in floating point. Perhaps the most prominent of those would be 0.1. As far as the source of the z-scale error, I can only guess. My guessing would focus on the possibility that under the hood, calculations might be performed using an integer representation of the elevations and at the end those are converted back. Maybe the best thing is to correct the results after they are produced: just multiply all volumes by 1/0.999998. – whuber Sep 5 '14 at 19:40
  • 1
    @Michael before I went with this other solution I also tried using a z-factor of 1.000002 which would magically turn back into 0.999998 during the running of the tool. So, I not sure if it was something I was doing wrong or not. In other words, no matter what z-factor I would input the tool would change it to 0.999998 at run time. – GeoJohn Sep 8 '14 at 14:47
  • 4
    John, I feel that it's time to contact Esri support and ask them why it always changes to 0.999998 scale factor and how to use a scale factor of 1. – Michael Stimson Sep 8 '14 at 21:28
1

I have to agree with the comments, its about how you want to represent that number. If you want to store number 1 as a floating point, ArcGIS stored this number as 0,9999... It seems that this Z factor argument is stored that way. I think there's no way to store it as integer. In fact, 0,9999 is equal 1.

I must add a picture I was saw few days ago. It fits to this question. enter image description here

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.