[spatstat] problem with a psp Line Segment Pattern when plotting and pointsOnlines performing
It seems it is because one of your line segments is of length zero,
using your attachment:
load("track.RData")
library(spatstat)
which(!lengths.psp(track.psp) > 0)
[1] 17
Dropping the offender:
noZeroLengths <- track.psp[lengths.psp(track.psp) > 0]
(pts <- pointsOnLines(noZeroLengths, eps=50))
planar point pattern: 1134 points
window: rectangle = [865841.7, 888666.8] x [6265115, 6300668] units
You might want to investigate why you have a zero length line segment
in your original shapefile, there's a lot of options for what you
might do in R but where you catch it depends on your main goals I
guess.
I think there are some good suggestions here for catching these cases
in spatstat and sp, but I haven't looked closely enough yet to say
anything helpful.
Cheers, Mike.
On Thu, Sep 22, 2011 at 9:00 PM, Mathieu Rajerison
<mathieu.rajerison at gmail.com> wrote:
Thanks for the answer! I coerced my SpatialLinesDataFrame object to a psp object using a non-NA column. Plotting is OK but pointsOnLines still fails:
track.psp <- as(track[, 2], "psp") plot(track.psp) pts<-pointsOnLines(track.psp, eps=50)
Erreur dans ppp(x = x, y = y, window = win) : all coordinate values are NA or NaN What's wrong? 2011/9/22 Michael Sumner <mdsumner at gmail.com>
The problem is that the first attribute on the track object, "ID" is NA - and when plot.psp is trying to draw a legend it has nothing to base the image "ribbon" on. This should avoid the error: plot(track.psp, ribbon = FALSE) Try subsetting the attributes in the coercion to psp, choose which column you want from names(track) but note that with only one row the ribbon legend will never be very interesting: track.psp <- as(track[,"PREC_PLANI"], "psp") plot(track.psp) Finally, do include sessionInfo() as requested - you have not let us know that you require packages sp, rgdal, maptools, and spatstat - and all of that is very important when determining what is going on. Cheers, Mike. On Thu, Sep 22, 2011 at 7:29 PM, Mathieu Rajerison <mathieu.rajerison at gmail.com> wrote:
Hi, I Have a problem with a psp object. I can't plot it, neither perform a pointsOnLines calculation on it. --- Here is what I obtain with my different operations:
track <- readOGR("voie.shp", "voie")
OGR data source with driver: ESRI Shapefile Source: "voie.shp", layer: "voie" with 1 features and 14 fields Feature type: wkbLineString with 2 dimensions
track.psp <- as(track, "psp")
Message d'avis : In as.psp.SpatialLinesDataFrame(from) : 13 columns of data frame
discarded
plot(track.psp)
Erreur dans image.default(c(893999.767449278, 895777.422954333), c(Inf,
-Inf
: 'x' and 'y' values must be finite and non-missing #plot(track) is OK
pts <- pointsOnLines(track.psp, eps=50)
Erreur dans ppp(x = x, y = y, window = win) : all coordinate values are NA or NaN --- Any help would be appreciated. The related SpatialLinesDataFrame track object is attached to this mail
if
you'd like to have a look.. Thanks!
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
-- Michael Sumner Institute for Marine and Antarctic Studies, University of Tasmania Hobart, Australia e-mail: mdsumner at gmail.com
? ? ? ?[[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Michael Sumner Institute for Marine and Antarctic Studies, University of Tasmania Hobart, Australia e-mail: mdsumner at gmail.com