AnsweredAssumed Answered

How to count the adjacent cells that have a different value in a raster dataset?

Question asked by marklimb on Aug 8, 2018
Latest reply on Feb 11, 2020 by NRajasekar-esristaff



I'm using a raster dataset and I'm trying to determine a value for land use adjacency as used by Stathakis & Tsilimigkas (2014) (Measuring the compactness of European medium-sized cities by spatial metrics based on fused data sets. International Journal of Image and Data Fusion, 6(1), 42-64. doi:10.1080/19479832.2014.941018)


This involves counting the number of adjacent cells that have a value different to the centre cell. The attached image illustrates this concept.


It needs to return a new raster dataset where the value of each cell equals this count.


Can anyone suggest a method for doing this in ArcMap 10?


Thank you!




Dan, you're an absolute legend! Amazing dedication and perseverance to assist a total stranger on the other side of the world. Thank you so much for all your effort on this!


Just to update, the main issues experienced had much to do with a combination of differences in arcmap 10.3's and ArcGIS Pro's arcpy, and some major changes in numpy that is used by python 2.7 and python 3.6. Dan worked through them and ended up producing the Toolbox/Script I've attached to this edited post. As a final tip, make sure you run the script in a blank dataframe. You will need to manually set the projection of the final output.