[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