AnsweredAssumed Answered

Focal Statistics for Special Neighborhood

Question asked by csbattle on Oct 17, 2014
Latest reply on Oct 18, 2014 by curtvprice

I'm looking to calculate focal statistics for each cell of a raster, within a neighborhood that changes shape.

Background - I have three binary rasters, each representing a single vegetation type of interest. I'd like to calculate the percent coverage of each vegetation type within (e.g.) 20 km^2 of any cell in my study area (sum/total cells in neighborhood). The problem is that I can't use a simple circle or square neighborhood around each cell because, if I did, the search area used to calculate the sum would incorporate areas outside my study area. This exception is important because the statistics will be used as inputs for a habitat model, and the areas outside of my study area cannot be considered possible habitat - they're urbanized. Including them would give me erroneous statistics. So, what I'm looking to do is come up with a way to choose a neighborhood representing the n nearest cells (n determined by number of cells required to cover an area equal to my desired neighborhood size) that meet my criteria: that they do not fall within an urbanized area. I'm thinking that some code that mimics cellular automata neighborhood decisions should be used. I've never worked with CA though.

Example - Let's say I'm calculating this statistic for a cell on the boundary of my study site. If I assign all areas outside of my study area to zero (or ignore NoData), then I will get a statistic that represents roughly half of the areal coverage I'm interested in. So, percent coverage in a ~10 km^2 area, instead of 20 km^2 area. Since I'm studying home range sizes this is important. The neighborhood has to change shape, since that is how the animal views/uses the landscape. If they need 20 km^2, they'll change the shape or their home territory so that in encompasses 20 km^2. If I do not check ignore NoData, cell output will be NoData - and NoData is no help.

Any ideas?