Hello,
I am trying to reclassify a DEM into three classes based on elevation and for some reason, it keeps returning decidedly NOT what I was trying to accomplish. However, when I clip it down, it works fine. At first I thought the problem was just because the DEM is fairly large. I then noticed that under classification statistics the count reads as a negative number. I have never encountered this issue before. I have done something similar with the same DEM a few years ago and didn't have this issue. What is really perplexing to me is that if I clip the raster, no problem. Is there a way I can remedy this issue? Please, any help would be much appreciated!
I am currently using ArcGIS Pro but I went back to ArcMap to test this and had the same issue.
This is what is returned when I try to reclassify the entire DEM
This is what is returned, and what I want, with a clipped portion of the DEM.
Prior to reclassifying, I go into symbology and classify the the DEM into three classes, and then from there I use the reclassify tool.
Again, any help would be immensely, greatly apprecaited!
-Erin
Solved! Go to Solution.
Maybe you need to Calculate Statistics—Help | ArcGIS Desktop again. When you clip the raster the statistics are normally recalculated. Maybe the original raster has invalid statistids.
What is the bit type of the raster?
I have seen this when the bit type (and hence its range) is too small to account for an operation.
Here is an example (so I don't have to load an image).
The bit type for a sequence of 10,000 integers and their sums. Numbers get rolled/reused when they exceed the possible range of values (see lines 1-3) and the sum or counts are meaningless.
As you move up bit type, then the possible range of values increases until such time that going to a higher bit type doesn't result in a change of counts/sum etc since the values are all within range.
a = np.arange(10000, dtype=np.int8) # the numbers wrap around themselves
a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ..., 6, 7, 8, 9, 10, 11, 12,
13, 14, 15], dtype=int8)
np.sum(a) # hence the sum is off
-4872
# --- move to 16 bit # now you can see all the numbers
a = np.arange(10000, dtype=np.int16)
a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ..., 9990,
9991, 9992, 9993, 9994, 9995, 9996, 9997, 9998, 9999], dtype=int16)
np.sum(a)
49995000
# --- move to 32 bit just to check
a = np.arange(10000, dtype=np.int32)
a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ..., 9990,
9991, 9992, 9993, 9994, 9995, 9996, 9997, 9998, 9999])
np.sum(a)
49995000
So... probably the same thing, which is why when you clipped the extent, the size got into a manageable range
Thanks Dan for the explanation, it helped me to grasp what was going on a bit better.
no problem... keep it in mind if multi-images go strange when converting them
32 bit, floating point. It just seems bizarre to me that I was able to do the exact same thing I am currently trying to on the exact same DEM a couple years ago and had no issues.
Maybe you need to Calculate Statistics—Help | ArcGIS Desktop again. When you clip the raster the statistics are normally recalculated. Maybe the original raster has invalid statistids.
Thank you Xander! That worked! I haven't used that tool for so long I had completely forgotten about it.