Precision Issues in Reclassify

4358
7
06-22-2015 10:09 AM
SamanthaWright1
New Contributor

Hi,

I'm having some trouble with precision in Reclassify and was wondering if anyone has any insight or advice for reclassifying using new values with decimal places. I tried assigning unique Old Values that were in LONG data type to values of 1.5. Every time I tried to do this, it assigns these to 1 and nothing I change precision option seem to modify this.

Then I thought about it not working because the Old Value data type was LONG. I created a new field with the same values but changed the data type to FLOAT. So my new "Old Value" input in the Reclassify tool is in the FLOAT format. I put in the new values, using proper hyphens for the ranges (unique is not an option for FLOAT) and it's still rounding my 1.5 to 1. Making changes within the precision option in the tool, again, is not modifying anything at all.

Has anyone had problems with just the precision option not modifying the new values? Or can I not reclassify my data with a fractional number at all?

Thanks!

Samantha

0 Kudos
7 Replies
SepheFox
Frequent Contributor

Hi Samantha, unfortunately it is true that you cannot reclass your data to fractional values using this tool. From the help file "The output will always be of integer type."

XanderBakker
Esri Esteemed Contributor

You could use a nested Con statement to obtain the result you want, but there may be easier ways to obtain the result. Could you include the "table" of how you want to classify your data?

Something like:

input value or range: output value to be assigned

input value or range: output value to be assigned

etc

SamanthaWright1
New Contributor

Using unique values, below is what I need to reclassify. Unfortunately, I'm still new to the software and not yet familiar with the syntax of conditionals. But, if that's the best way to do this task, I'll read up more on the Field Calculator.

Old Values: (Originally in LONG data type)

0

3

5

6

7

8

9

10

New Values:

0

0

0

1.5

1.5

1.5

3

3

0 Kudos
XanderBakker
Esri Esteemed Contributor

You could probably do something like:

Con(inraster < 6, 3, Con(inraster < 9, 1.5, 3))

SepheFox
Frequent Contributor

I believe Xander meant

Con(inraster < 6, 0, Con(inraster < 9, 1.5, 3))

XanderBakker
Esri Esteemed Contributor

Indeed, you are correct. Thanks for the catch!

SamanthaWright1
New Contributor

Thank you, both! This was very helpful!

0 Kudos