[GRASS-user] Landscape connectivity

Milton Cezar Ribeiro miltinho.astronauta at gmail.com
Wed Dec 2 13:39:21 EST 2009


Hi Markus,

So, if I understood well the practical theory you need is not that one
described by Urban & Keitt (2001), because they use nodes and edges, and you
want a patch-based graph theory, isn't it? May be Fall et all (2007) is a
better technical approach?
Andrew Fall, Marie-Josee Fortin, Micheline Manseau, and DanO’Brien
Spatial Graphs: Principles and Applications for Habitat Connectivity
Ecosystems (2007) 10: 448–461 - DOI: 10.1007/s10021-007-9038-7
bests

miltinho
brazil=toronto


2009/12/2 Markus Metz <markus.metz.giswork at googlemail.com>

> Hi all,
>
> for a raster map with habitat patches separated by gaps in between, I want
> to know for each habitat patch 1) how far away is the nearest other habitat
> patch, 2) what's the id of the nearest habitat patch (each contiguous patch
> must have a unique ID), 3) how do I get to the nearest habitat patch, i.e.
> what is the shortest path connecting one patch and its nearest other patch.
>
> Then I need to get clusters of patches, each cluster consisting of patches
> connected by paths not longer than max_distance, i.e. I can visit all
> patches within a cluster by traversing gaps not broader than max_distance
> (hop from one patch to the next, but I can hop only so far...)
>
> That would be interesting for meta-populations, dispersal etc, habitats
> could be islands, forest fragments, trees of a particular species, any
> habitat type with a patchy spatial distribution and one or more species
> dependent on that habitat.
>
> Any idea how to do that in grass or some other (fragment analysis-specific)
> application?
>
> Using the habitat map twice as input to r.distance would be a start with
> r.distance maps=habitat_map,habitat_map, but r.distance is too slow for my
> taste (running for 2 hours by now), and I still have to get the nearest
> patches, shortest paths and clusters connected with max_distance. Running
> r.cost or r.walk for each patch as starting points and all other patches as
> stop points is not an option because I have ~200,000 patches in a 300
> million cell raster. Converting the raster habitat map to a vector with
> areas and using v.net.* modules doesn't work because AFAIK these modules
> work with points as graph nodes, and some of the areas are quite large,
> using centroids would give wrong distances.
>
> The theory of what I want to do is described in Urban and Keitt (2001) [1]
>
> Thanks,
>
> Markus M
>
> [1] link to pdf:
> http://www.keittlab.org/~tkeitt/papers/urban-keitt-2001.pdf
>
> PS: The grass module I would like to have for this kind of analysis would
> use a habitat map as input, have as optional output raster paths with
> distances as cell values, vector paths with costs and ids of the two patches
> connected by each path, one cluster map for each
> maxdistance=max1,max2,max3,..., and an ascii file in the same format like
> r.distance for all paths connecting habitat patches. X-mas is getting close
> ;-)
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/grass-user/attachments/20091202/33598e9b/attachment.html


More information about the grass-user mailing list