[R-sig-Geo] find cells of a raster lying on a ring

Marcelino de la Cruz marcelino.delacruz at upm.es
Fri Jul 13 10:44:41 CEST 2012


Well, it seems you didnt go too far ;-)

Lets say that our point is in the center of the raster

 >point <-c(5,5)

# compute the distances from this point to each 
cell of the raster (the object named "cosa")

 > mg <- expand.grid(x=seq(0,10,length=500), y=seq(0,10,length=500))
 > cosa <- crossdist(point[1],point[2],mg$x,mg$y)

# See how many cells are at *exactly* 2 units distance from the point

 >plot(M)
 > points(mg[cosa==2,],pch=19, col=2)
# none in my computer !

# See how many cells are in a ring of width 0.02 
units at  2 units distance from the point
 > points(mg[cosa<2.01 & cosa>1.99,],pch=19, col=2)

# how many?
 > sum(cosa<2.01 & cosa>1.99)

# get their values
 > M[mg[cosa<2.01 & cosa>1.99,]]


Hope this helps,

Marcelino


At 02:25 13/07/2012, Lorenzo Cattarino wrote:
>Hi R users,
>
>I would like to be able to calculate how many 
>cells of a raster, and their values (1 or 0), 
>lie at a distance r from a particular cell in 
>the raster. In other words, I need to calculate 
>the number and values of the cells lying on a 
>ring with radius r and centred in x0 and y0.
>
>This is as far I got:
>
>
>
>require(spatstat)
>
># Build an example image of 0's and 1's:
>
>M <- im(matrix(sample(0:1,500*500,TRUE),nrow=500),xcol=seq(0,10,length=500),
>
>                yrow=seq(0,10,length=500))
>
>Thanks
>Lorenzo
>
>
>         [[alternative HTML version deleted]]
>
>_______________________________________________
>R-sig-Geo mailing list
>R-sig-Geo at r-project.org
>https://stat.ethz.ch/mailman/listinfo/r-sig-geo

___________________________________________________

Marcelino de la Cruz Rot
Departamento de Biología y Geología
Escuela Superior de Ciencias Experimentales y Tecnología
Universidad Rey Juan Carlos
c/ Tulipán, s/n.
E-28933 Móstoles (Madrid)
España
Fax: +34 91 664 7490



More information about the R-sig-Geo mailing list