PD = Npatch / A
This index is calculated using a 4 neighbour algorithm, diagonal cells are ignored when tracing a patch.
A map of NULL values is considered to have zero patches.
If raster area is 0, r.li.patchdensity returns -1. This is only
possible if the raster is masked.
If you want to change these -1 values to NULL, run subsequently on the resulting map:
r.null setnull=-1 map=my_out
r.li.patchdensity map=my_map conf=my_conf output=my_out
Example for Spearfish forest areas:
g.region rast=landcover.30m -p # extract forested areas: r.category landcover.30m r.mapcalc "forests = if(landcover.30m >= 41 && landcover.30m <= 43, 1, null())" # patch density (7x7 moving window defined in r.li.setup): r.li.patchdensity forests conf=movwindow7 out=forests_p_dens7 r.univar forests_p_dens7 d.rast.leg forests_p_dens7 r.to.vect forests out=forests feature=area d.vect forests type=boundary
Forest map (North Carolina sample dataset) example:
g.region rast=landclass96 -p r.mapcalc "forests = if(landclass96 == 5, 1, null() )" r.li.patchdensity map=forests conf=movwindow7 out=forests_patchdensity_mov7 # verify r.univar forests_patchdensity_mov7 r.to.vect input=forests output=forests feature=area d.mon x0 d.rast forests_patchdensity_mov7 d.vect forests type=boundary
Last changed: $Date$