[GRASSLIST:277] Re: Fwd: Developing a forest fragmentation index
Jachym Cepicky
jachym.cepicky at centrum.cz
Tue Mar 21 08:54:22 EST 2006
Hallo,
I have some experience with neighborhood operations on rastermaps, so I
could help you to make the module together.
Perhaps, you could be able make some prototype with r.mapcalc module?
(see http://grass.itc.it/gdp/raster/mapcalc-algebra.pdf and
http://grass.itc.it/gdp/raster/mapcalc.pdf)
Jachym
maning sambale wrote:
>Dear list,
>
>I hope somebody can help me on this. I am a MS student studying
>forest loss and fragmentation here in the Philippines. I am interested
>in implementing Mr. Kurt Ritters forest fragmentation model
>(http://www.ecologyandsociety.org/vol4/iss2/art3/) and James Hurd's
>adaptation to watersehd units
>(http://resac.uconn.edu/publications/tech_papers/pdf_paper/Forest_Fragmentation_ASPRS2002.pdf)
>in my study area and relate the fragmentation to socio-economic
>drivers.
>
>Mr. Ritters gave me the C source code for his model, however, I am not
>programmer so I don't know how to implement these. Right now, I am
>doing my image analysis (i.* modules) and classification using GRASS
>and import the output to Arcview were EPA has an Attila extension
>(http://www.epa.gov/esd/land-sci/attila/index.htm) for classifying
>them into the forest fragmenation index. What I want to do is create
>a GRASS script for the forest fragmentation index.
>
>I have been using GRASS for just a couple of months and I am not very
>familiar with most of the commands. I am willing to collaborate with
>anybody from this list doing related research on forest fragmentation.
> As I have mentioned above, I am not a programmer thus my limitation
>in understanding C code. However, I am willing to do GRASS related
>contributions related to my study.
>
>The method is described below:
>
>The basis for the forest fragmentation index was the fragmentation
>model developed by Ritters et al. (2000) which was used and expanded
>by Hurd et. al (2002) on Landsat TM data. The objective of the model
>is to provide additional information beyond the commonly used measures
>of forest proportions (i. e. percent of forest cover) by providing
>information on the spatial configuration of fragmentation and
>connectivity of forest within the study
>region.
>
>The amount of forest and its occurrence is measured as adjacent forest
>pixels within a 5 x 5 windows surrounding each forest pixel. This
>information will be used to classify the window by the type of
>fragmentation. The result was stored at the location of the center
>pixel. Thus, a pixel value in the derived map refers to
>"between-pixel" fragmentation around the corresponding forest location
>(Riitters et al. 2000). The model generates two values that
>characterize a forest pixel located at the center of a sliding window
>of fixed size, Pf and Pff:
>Pf is the proportion of pixels in the window that are forested. Pff
>(strictly) is the proportion of all adjacent (cardinal directions
>only) pixel pairs that include at least one forest pixel, for which
>both pixels are forested. Pff (roughly) estimates the conditional
>probability that, given a pixel of forest, its neighbor is also
>forest.
>
>Pf = ( # of forest pixels) / (# of all non water pixels)
>Pff = (# of pixel pairs with both pixel forest) / (# of pixel pairs
>with at least one pixel forest)
>
>The classification model identifies six fragmentation categories: (1)
>interior, for which Pf = 1.0; (2) patch, Pf < 0.4; (3) transitional,
>0.4 < Pf < 0.6; (4) edge, Pf > 0.6 and Pf - Pff > 0; (5) perforated,
>Pf > 0.6 and Pf � Pff < 0, and (6) undetermined, Pf > 0.6 and Pf = Pff
>
>Any tips in implementing the generation of forest fragmentation index
>either as a GRASS script or a step-by-step GRASS commands would be
>very helpful (r.mapcalc syntax?).
>
>I have also attached Ritters's C code as well as my previous
>correspondence to him. Also attached are images from Hurd's study.
>
>Thank you very and looking forward for any response.
>
>Cheers,
>
>Maning Sambale
>
>
>---------- Forwarded message ----------
>From: Kurt H Riitters <kriitters at fs.fed.us>
>Date: Oct 23, 2004 2:46 AM
>Subject: Re: Developing a forest fragmentation index
>To: emmanuel sambale <emmanuel.sambale at gmail.com>
>Cc: Kurt H Riitters <kriitters at fs.fed.us>
>
>
>Emanuel,
> Attached is the main C program. As I must say to everyone, I am not able
>to provide technical support for using the program, and I do not guarantee
>that it is bug-free. You can share this with anyone you want to, but if
>you share it, then you must answer any questions about it.
>
> Probably the interesting part will be the algorithm for the moving
>window, and the definition of the functions (like Pf and Pff). If it were
>me, I'd think about adapting those parts to new programs of your design.
>
> The input / output format is assumed to be an old format that I adapted
>from somewhere else...and it is not standard and is not used by anyone
>else... so you will want to re-write the input / output routines to read
>files in other formats.
>
> I do not have any written documentation, but there are a lot of comments
>in the code that will help understand the program flow.
>
> Lastly, since this code is a research tool, there are many places
>containing references to code or subroutines that are no longer included.
>
> Oh, I should say... this program uses a moving window to calculate the
>X and Y values that are in the model that appears in that 2000 paper. One
>run of the program makes a map of Pf; a second run makes a map of Pff.
>Once you have the output maps of the Pf and Pff values, it is necessary to
>put them together to perform the classification into categories like
>'perforated' 'edge' etc. Arc or envi would be convenient for that.
>
> Best regards,
>
>Kurt Riitters
>RWU-4803
>Forest Health Monitoring
>US Forest Service
>3041 Cornwallis Road
>Research Triangle Park NC 27709
>919-549-4015
>kriitters at fs.fed.us
>
>
>
>>>Emmanuel,
>>> Thank you for the message.
>>> Of course you may use the methods; they are public knowledge.
>>>
>>> I wrote C programs to process the landcover maps. I am happy to send
>>>them to you, however, if you are not a programmer then it will be very
>>>difficult to adapt the programs to your problems. Even another
>>>
>>>
>programmer
>
>
>>>may find it difficult since I am not a very good programmer either.
>>>
>>> I do not have any arc or envi scripts since I use the C programs...
>>>
>>>
>But
>
>
>>>it is a very simple moving window (arc: focal function) approach that
>>>should be easy to implement in another language... For example, arc
>>>
>>>
>should
>
>
>>>be able to do the "Pf" part of the model with the Grid: focalsum
>>>
More information about the grass-user
mailing list