[R] [FORGED] [R-sig-Geo] circular spatial polygon
Rolf Turner
r.turner at auckland.ac.nz
Wed Sep 13 09:37:30 CEST 2017
On 13/09/17 13:24, Kátia Emidio wrote:
> Dear Rolf,
>
> Thanks for your help!
>
> What I need is a spatial window with shape equal to the figure attached.
> This figure I made using ArcGis, but it is important to me make it in R.
> After having this figure I will make some analysis using spatstat among
> others. The points within figure are trees...
(1) I believe that this discussion should be kept on-list. It is not my
role to provide private consulting for you. I am therefore cc-ing the
list in this email.
(2) It is still not completely clear what you really want; the figure
that you attached appears to be a disc with 4 diameters superimposed.
So you might be after a single (circular) owin object and a line segment
pattern consisting of the 4 diameters. Or you might be after *eight*
owin objects, each being one the eight disc-segments into which the
diameters divide the disc.
I shall assume the latter. To start with define a function, say "wedge":
wedge <- function(theta1,theta2,radius,npoly=100,centre=c(0,0)){
library(spatstat)
# Should do some checking on the values of theta1 and theta2 here,
# but I shan't bother.
theta <- seq(theta1,theta2,length=npoly+1)
x <- c(0,radius*cos(theta),0)
y <- c(0,radius*sin(theta),0)
W <- owin(poly=list(x=x,y=y))
return(affine(W,vec=centre))
}
Then do something like:
wedgies <- vector("list",length=8)
cntr <- c(673593.21,673593.21)
for(i in 1:8) wedgies[[i]] <- wedge((i-1)*pi/4,i*pi/4,15,centre=cntr)
ttt <- tess(tiles=wedgies)
plot(ttt) # Looks OK to me.
And maybe also do:
W <- do.call(union.owin,wedgies)
plot(W)
for(i in 1:8) {
plot(wedgies[[i]],add=TRUE,border="red")
readline("Go? ")
}
Also looks OK to me.
Is *this* what you want?
cheers,
Rolf Turner
--
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276
More information about the R-help
mailing list