Radius of gyration (in the field of ecology) is a measure of the spatial extent of a habitat patch, and is defined as the mean distance between each cell in the patch and the patch centroid (cell-center to cell-center distance).
Can anyone suggest an efficient way to calculate this metric from a raster where patches have a value 1 and the background has a value of 0?
My current model uses the following series of processes, but is clunky and requires a hefty processing time. See below:
- Convert raster layer to polygon to find the centroid of each patch (Raster to Polygon, Feature to Point.
- Convert raster layer to point to find cell centers of each cell (Raster to Point).
- Find the cell center that is closest to the centroid (Near).
- Calculate distance between the cell center closest to the centroid and every other cell center in the patch (Point Distance).
- Calculate mean of the resulting table of distances (Summary Statistics)
This is all very clunky and time-consuming given the multiple conversions necessary and the number of patches I need to calculate. I am guessing there is a faster and more efficient way to perform this calculation, as other programs like FragStats can do it very rapidly.