Abby Rudolph
2013-Jan-29 20:29 UTC
[R] points rejected as lying outside the specified window
Hello,
I am using the following code to create ppp files from csv data and map shape
files, but I am getting some errors which I have been unable to fix by searching
them online:
library(spatstat)
library(maps)
library(maptools)
NYC2<-readShapePoly("nybb.shp") # this is a map of the NYC boroughs
without waterways and no census tract divisions (but it does include lines
separating the 5 boroughs)
plot(NYC2)
NYBorough<-readShapePoly("NYBoroughsShapeMerge.shp") # this is a
map of the NYC boroughs with census tract divisions
plot(NYBorough)
myfile<-read.csv("myfile.csv")
# my csv file contains 4 columns (ID, variable_type, X, Y)
# my goal is to determine whether individuals of variable_type=1 are spatially
distributed more than what would be expected due to chance, if individuals of
variable_type=0 are spatially distributed more than what would be expected due
to chance, and finally if the spatial distribution of variable_type=1 differs
from that of variable_type=0.
x<-NYBorough at polygons[[1]]@Polygons
# ppp(x.coordinates, y.coordinates, x.range, y.range)
coords<-slot(x[[1]],"coords")
coords
coords<-coords[19:1,]
coords<-coords[-1,]
coords
u<-myfile$type==0
Type_0<-ppp(myfile$X[u],myfile$Y[u],
window=owin(poly=list(x=coords[,1],y=coords[,2])))
Type_1<-ppp(myfile$X[!u],myfile$Y[!u],
window=owin(poly=list(x=coords[,1],y=coords[,2])))
ERROR Message:
Warning message:
In ppp(myfile$X[u], myfile$Y[u], window = owin(poly = list(x = coords[, :
217 points were rejected as lying outside the specified window
Warning message:
In ppp(myfile$X[!u], myfile$Y[!u], window = owin(poly = list(x = coords[, :
435 points were rejected as lying outside the specified window
# I only have 652 points, so all of my points are rejected as lying outside the
specified window
Can someone please tell me what I am doing wrong. The code I was using as a
template was only looking at one county so it had a defined border which was
somewhat rectangular. Could it be because the shapefile I am using for NYC has
too many borders? Is it the coords code that is incorrect?
Any advice or suggestions would be greatly appreciated.
In case it is helpful, the code that follows is:
qtype_1<-quadratcount(type_1,10,10)
plot(type_1,pch="+",main=Title")
plot(type_1,add=TRUE,col="red",ltw=2,cex=1.2)
polygon(coords,lwd=2)
points(type_1,pch=".")
Thanks,
Abby
Rolf Turner
2013-Jan-30 02:26 UTC
[R] points rejected as lying outside the specified window
This is a question about the "spatstat" package and as such would have
been more appropriately directed to the R-sig-Geo list.
(1) Your code seems unnecessarily complicated; I haven't followed it
through in detail however.
(2) You did not get an "error", you got a "warning". This
warning means
what it says: A number of the points that you are trying to make into
a planar point pattern lie out side of the window that you specified.
Since you say that *all* of your points lie outside the specified window
one might guess that the coordinate system of the points in
"myfile.csv"
(God how I hate that "mythis" and "mythat" terminology that
Micro$soft
has introduced!) is different from the coordinate system that is used in the
"NYBorough" data set.
Look at
range(coords[,1])
range(coords[,2])
range(myfile$X)
range(myfile$Y)
to get some insight into the nature of the coordinates.
If the coordinates seem to be at least roughly commensurate
your could try:
WR <- ripras(x=myfile$X[u],y=myfile$Y[u],shape="rectangle")
Type_0 <- ppp(myfile$X[u],myfile$Y[u],window=WR)
WP <- owin(poly=list(x=coords[,1],y=coords[,2]))
plot(Type_0)
plot(WP,add=TRUE)
which might be revealing.
Other than that it's difficult to say what your problem is without having
access to your actual data.
cheers,
Rolf Turner
On 01/30/2013 09:29 AM, Abby Rudolph wrote:> Hello,
>
> I am using the following code to create ppp files from csv data and map
shape files, but I am getting some errors which I have been unable to fix by
searching them online:
>
>
> library(spatstat)
> library(maps)
> library(maptools)
>
> NYC2<-readShapePoly("nybb.shp") # this is a map of the NYC
boroughs without waterways and no census tract divisions (but it does include
lines separating the 5 boroughs)
> plot(NYC2)
>
> NYBorough<-readShapePoly("NYBoroughsShapeMerge.shp") # this is
a map of the NYC boroughs with census tract divisions
> plot(NYBorough)
>
> myfile<-read.csv("myfile.csv")
> # my csv file contains 4 columns (ID, variable_type, X, Y)
> # my goal is to determine whether individuals of variable_type=1 are
spatially distributed more than what would be expected due to chance, if
individuals of variable_type=0 are spatially distributed more than what would be
expected due to chance, and finally if the spatial distribution of
variable_type=1 differs from that of variable_type=0.
>
> x<-NYBorough at polygons[[1]]@Polygons
> # ppp(x.coordinates, y.coordinates, x.range, y.range)
> coords<-slot(x[[1]],"coords")
> coords
> coords<-coords[19:1,]
> coords<-coords[-1,]
> coords
>
> u<-myfile$type==0
>
> Type_0<-ppp(myfile$X[u],myfile$Y[u],
> window=owin(poly=list(x=coords[,1],y=coords[,2])))
> Type_1<-ppp(myfile$X[!u],myfile$Y[!u],
> window=owin(poly=list(x=coords[,1],y=coords[,2])))
>
> ERROR Message:
> Warning message:
> In ppp(myfile$X[u], myfile$Y[u], window = owin(poly = list(x = coords[, :
> 217 points were rejected as lying outside the specified window
> Warning message:
> In ppp(myfile$X[!u], myfile$Y[!u], window = owin(poly = list(x = coords[,
:
> 435 points were rejected as lying outside the specified window
>
> # I only have 652 points, so all of my points are rejected as lying outside
the specified window
>
> Can someone please tell me what I am doing wrong. The code I was using as
a template was only looking at one county so it had a defined border which was
somewhat rectangular. Could it be because the shapefile I am using for NYC has
too many borders? Is it the coords code that is incorrect?
>
> Any advice or suggestions would be greatly appreciated.
>
> In case it is helpful, the code that follows is:
> qtype_1<-quadratcount(type_1,10,10)
> plot(type_1,pch="+",main=Title")
> plot(type_1,add=TRUE,col="red",ltw=2,cex=1.2)
> polygon(coords,lwd=2)
> points(type_1,pch=".")