Re: [FORGED] [R-sig-Geo] circular spatial polygon

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [FORGED] [R-sig-Geo] circular spatial polygon

Rolf Turner
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

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.