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

Rolf Turner r.turner at auckland.ac.nz
Wed Sep 13 09:47:11 CEST 2017


Whoops. I cc-ed my message to r-help rather than to r-sig-geo.  (Duhhhh!)

Consequently I'm resending, with r-sig-geo as a cc recipient.

cheers,

Rolf Turner

-- 
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276

On 13/09/17 19:37, Rolf Turner wrote:
> 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?



More information about the R-sig-Geo mailing list