Using Arc 10.2.2 with the Spatial Analyst extension, I have a single band, signed integer, 8-bit raster. I need to reclassify cells within that raster based on their Euclidean distance to other cells within that same raster.

For example, if a cell with value 2 is within 100 meters of any cell containing value 5, then reclassify the value 2 cell to value 3. And so on.

I considered FocalStatistics, but none of that tool's statistic types (mean, majority, etc) met my needs.

A search on the topic turns up examples where the proximity is to features within a separate vector layer, but nothing on proximity within the same raster.

  • 1
    "and so on" sounds like a key here. Proximity to how many classes are you going to consider?
    – FelixIP
    Commented Feb 4, 2016 at 1:59
  • @FelixIP For the current project there will only be two values that need to be reclassified. However, I expect that there will be future projects where this type of reclass is required. My "and so on" was meant to reflect a sense of future utility.
    – Stu Smith
    Commented Feb 4, 2016 at 3:02
  • How do you feel about Python coding?
    – Tom
    Commented Feb 4, 2016 at 3:54
  • After you compute the Euclidean distance grid to the indicator of all cells with the value of 5, you will be in the position of reclassifying values in your grid relative to values in another grid--and that you should find straightforward to do (use Con, for instance). Depending on exactly what your criteria are--this question is too vague to tell--there are many other solutions, including some based on focal stats.
    – whuber
    Commented Feb 4, 2016 at 19:52

1 Answer 1


I am sure there is a better 'raster-only' solution. But you could (if you raster data is not big)- convert your raster in to a a point feature (1 point per pixel). And classify the raster based on the vector you generated.

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.