[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