[GRASS-stats] Nearest neighbour distance distribution but between polygons

Rainer M Krug r.m.krug at gmail.com
Mon May 7 11:33:37 EDT 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/05/12 14:42, Rainer M Krug wrote:
> On 07/05/12 14:25, Roger Bivand wrote:
>> On Mon, 7 May 2012, Rainer M Krug wrote:
> 
>> Hi
> 
>> I have the following (presumibly simple?) question:
> 
>> I have a certain number of patches (islands) in a landscape of which I need to know the 
>> nearest neighbour distance. As the problem is related to dispersal, I would need to know the
>>  actual shortest distance between the actual polygons and not only the centroids. Is there an
>>  easy way to obtain these in R or in GRASS? I am only aware of nearest neighbour distance 
>> between points.
> 
> 
> Hi Roger
> 
> 
>>> In R, if the coordinates are projected, use gDistance(..., byid=TRUE) in the rgeos package 
>>> to get a matrix in the metric of the projection. If not projected, project if possible.
> 
> Exactly what I was looking for - the geometries are projected, so absolutely no problem.

I thought that it would be no problem, but it is.

I am loading the layer from a shape file and it consists of 40 different polygons. Now I want to
calculate the distance between all of the individual polygons in the layer, and I am stuck.

I understand the principle, but I a struggling at accessing each polygon in the
SpatialPolygonsDataFrame to calculate the differences. My code:

I am reading from the shapefile:

x <- readShapePoly( "shapefile" )

Now I want to do:

d <- matrix(ncol=length(x), nrow=length(x))
for (i in length(x):1) {
  cat (i, ": ")
  for (j in 1:i) {
    cat( j )
    p_i <- ### Polygon i - How?
    p_j <- ### Polygon j - How?
    d[i, j] <- gDistance(p_i, p_j)
  }
  cat("\n")
}

I tried x[i], x[[i]] and x at polygons..... but nothing worked so far - I am stuck here.

Any help welcome,

Thanks,

Rainer


> 
> Thanks a lot,
> 
> Rainer
> 
> 
>>> I don't think that the geosphere package provides for the unprojected case.
> 
>>> Roger
> 
> 
>> Thanks,
> 
>> Rainer
> 
> 
>>> _______________________________________________ grass-stats mailing list 
>>> grass-stats at lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-stats
>>> 
> 
> 

- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys.
(Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer at krugs.de

Skype:      RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk+n61AACgkQoYgNqgF2egoG/ACfayPJO6EM5kffc5fhFLZLTYKi
QOIAn265F2+eyb0FE5x2tQ9GKdhoesHr
=0fHz
-----END PGP SIGNATURE-----


More information about the grass-stats mailing list